@nahisaho/shikigami 1.17.7 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -62,7 +62,7 @@ project_initialization:
|
|
|
62
62
|
condition: "project_initialization.complete == true"
|
|
63
63
|
|
|
64
64
|
# ========================================
|
|
65
|
-
# 1. Phase 1:
|
|
65
|
+
# 1. Phase 1: 目的探索(対話的目的探索)
|
|
66
66
|
# ========================================
|
|
67
67
|
purpose_discovery:
|
|
68
68
|
prompt: "shikigami-purpose-discovery.prompt.md"
|
|
@@ -70,17 +70,68 @@ purpose_discovery:
|
|
|
70
70
|
priority: "P0"
|
|
71
71
|
skill: "shikigami-planner"
|
|
72
72
|
|
|
73
|
-
# Phase 0
|
|
74
|
-
triggers:
|
|
73
|
+
# Phase 0完了後に自動的に遷移
|
|
74
|
+
triggers:
|
|
75
|
+
- type: "phase_0_complete"
|
|
76
|
+
condition: "project_folder_exists"
|
|
75
77
|
|
|
76
78
|
invoke_at: "after_phase_0"
|
|
77
79
|
|
|
80
|
+
# ⚠️ 対話的目的探索の必須ルール(v1.17.8 NEW!)
|
|
81
|
+
interactive_dialog:
|
|
82
|
+
enabled: true
|
|
83
|
+
mode: "one_question_at_a_time" # 1問1答モード
|
|
84
|
+
|
|
85
|
+
# コンテキスト不足の判定基準
|
|
86
|
+
context_insufficient_criteria:
|
|
87
|
+
- "目的が曖昧(「〇〇について調べて」など具体性がない)"
|
|
88
|
+
- "対象が不明確(「競合分析して」など具体名がない)"
|
|
89
|
+
- "成功基準が不明(どうなれば成功かわからない)"
|
|
90
|
+
- "制約が不明(時間・予算・範囲の制約がない)"
|
|
91
|
+
- "ステークホルダーが不明(誰が結果を使うかわからない)"
|
|
92
|
+
|
|
93
|
+
# 質問カテゴリと質問例
|
|
94
|
+
question_categories:
|
|
95
|
+
- category: "WHY"
|
|
96
|
+
questions:
|
|
97
|
+
- "なぜこの調査が必要ですか?"
|
|
98
|
+
- "この情報で何を判断しますか?"
|
|
99
|
+
purpose: "根本的な動機の発見"
|
|
100
|
+
- category: "WHO"
|
|
101
|
+
questions:
|
|
102
|
+
- "この結果を誰が使いますか?"
|
|
103
|
+
- "意思決定者は誰ですか?"
|
|
104
|
+
purpose: "ステークホルダーの特定"
|
|
105
|
+
- category: "WHAT-IF"
|
|
106
|
+
questions:
|
|
107
|
+
- "理想的な結果が得られたら、次に何をしますか?"
|
|
108
|
+
purpose: "真のゴールの明確化"
|
|
109
|
+
- category: "CONSTRAINT"
|
|
110
|
+
questions:
|
|
111
|
+
- "時間・予算・範囲の制約はありますか?"
|
|
112
|
+
- "絶対に避けたいことは何ですか?"
|
|
113
|
+
purpose: "制約条件の把握"
|
|
114
|
+
- category: "SUCCESS"
|
|
115
|
+
questions:
|
|
116
|
+
- "どうなれば成功と言えますか?"
|
|
117
|
+
purpose: "評価基準の明確化"
|
|
118
|
+
|
|
119
|
+
# 質問数の制限
|
|
120
|
+
min_questions: 3
|
|
121
|
+
max_questions: 7
|
|
122
|
+
|
|
123
|
+
# 禁止事項
|
|
124
|
+
forbidden_actions:
|
|
125
|
+
- "一度に複数の質問をまとめて投げる"
|
|
126
|
+
- "曖昧な情報のまま推測でリサーチを開始する"
|
|
127
|
+
- "回答を待たずに次の質問をする"
|
|
128
|
+
|
|
78
129
|
output_to: "manifest.yaml:purpose_discovery"
|
|
79
130
|
|
|
80
131
|
# Phase 1完了後の遷移先
|
|
81
132
|
next_phase:
|
|
82
133
|
prompt: "shikigami-deep-research.prompt.md"
|
|
83
|
-
condition: "purpose_discovery.complete == true"
|
|
134
|
+
condition: "purpose_discovery.complete == true AND true_purpose.defined == true"
|
|
84
135
|
|
|
85
136
|
# ========================================
|
|
86
137
|
# 2. 財務分析関連(P0)
|
|
@@ -425,3 +476,225 @@ workflow_phases:
|
|
|
425
476
|
shikigami-deep-research: "phase_2"
|
|
426
477
|
shikigami-consulting-framework: "phase_3"
|
|
427
478
|
shikigami-writing: "phase_4"
|
|
479
|
+
# ========================================
|
|
480
|
+
# 信頼度スコアリング(v1.18.0 NEW!)
|
|
481
|
+
# ========================================
|
|
482
|
+
confidence_scoring:
|
|
483
|
+
description: "調査結果の品質を数値化"
|
|
484
|
+
|
|
485
|
+
# スコア計算要素
|
|
486
|
+
scoring_factors:
|
|
487
|
+
source_reliability:
|
|
488
|
+
weight: 0.30
|
|
489
|
+
description: "ソースの信頼性平均"
|
|
490
|
+
calculation: "average(sources[].reliability_score)"
|
|
491
|
+
scale:
|
|
492
|
+
excellent: 0.9 # 学術機関、公的機関
|
|
493
|
+
good: 0.7 # 主要メディア、専門誌
|
|
494
|
+
moderate: 0.5 # 一般メディア、企業サイト
|
|
495
|
+
low: 0.3 # ブログ、SNS
|
|
496
|
+
unknown: 0.2 # ソース不明
|
|
497
|
+
|
|
498
|
+
data_freshness:
|
|
499
|
+
weight: 0.20
|
|
500
|
+
description: "データの鮮度"
|
|
501
|
+
calculation: "weighted_average(sources[].publication_date)"
|
|
502
|
+
scale:
|
|
503
|
+
recent: 1.0 # 3ヶ月以内
|
|
504
|
+
current: 0.8 # 1年以内
|
|
505
|
+
dated: 0.5 # 3年以内
|
|
506
|
+
old: 0.2 # 3年超
|
|
507
|
+
|
|
508
|
+
coverage:
|
|
509
|
+
weight: 0.25
|
|
510
|
+
description: "調査範囲のカバー率"
|
|
511
|
+
calculation: "covered_topics / required_topics"
|
|
512
|
+
requirements:
|
|
513
|
+
- "目的に関連するトピックをどれだけカバーしたか"
|
|
514
|
+
- "複数の視点(賛否両論)を含むか"
|
|
515
|
+
|
|
516
|
+
source_diversity:
|
|
517
|
+
weight: 0.15
|
|
518
|
+
description: "ソースの多様性"
|
|
519
|
+
calculation: "unique_source_types / total_sources"
|
|
520
|
+
source_types:
|
|
521
|
+
- "academic" # 学術論文
|
|
522
|
+
- "government" # 政府機関
|
|
523
|
+
- "news" # ニュースメディア
|
|
524
|
+
- "industry" # 業界レポート
|
|
525
|
+
- "company" # 企業公式
|
|
526
|
+
- "expert" # 専門家意見
|
|
527
|
+
|
|
528
|
+
internal_consistency:
|
|
529
|
+
weight: 0.10
|
|
530
|
+
description: "データの内部整合性"
|
|
531
|
+
calculation: "1 - contradiction_ratio"
|
|
532
|
+
checks:
|
|
533
|
+
- "数値の矛盾がないか"
|
|
534
|
+
- "主張の一貫性"
|
|
535
|
+
|
|
536
|
+
# 総合スコア計算
|
|
537
|
+
overall_calculation: |
|
|
538
|
+
overall_confidence =
|
|
539
|
+
source_reliability * 0.30 +
|
|
540
|
+
data_freshness * 0.20 +
|
|
541
|
+
coverage * 0.25 +
|
|
542
|
+
source_diversity * 0.15 +
|
|
543
|
+
internal_consistency * 0.10
|
|
544
|
+
|
|
545
|
+
# スコア閾値
|
|
546
|
+
thresholds:
|
|
547
|
+
high: 0.8 # 高信頼度(品質ゲート通過推奨)
|
|
548
|
+
medium: 0.6 # 中信頼度(条件付き通過)
|
|
549
|
+
low: 0.4 # 低信頼度(追加調査推奨)
|
|
550
|
+
insufficient: 0.2 # 不十分(ゲート通過不可)
|
|
551
|
+
|
|
552
|
+
# 表示フォーマット
|
|
553
|
+
display_format: |
|
|
554
|
+
## 📊 信頼度スコア
|
|
555
|
+
|
|
556
|
+
| 要素 | スコア | 重み |
|
|
557
|
+
|------|--------|------|
|
|
558
|
+
| ソース信頼性 | {source_reliability:.0%} | 30% |
|
|
559
|
+
| データ鮮度 | {data_freshness:.0%} | 20% |
|
|
560
|
+
| カバー率 | {coverage:.0%} | 25% |
|
|
561
|
+
| ソース多様性 | {source_diversity:.0%} | 15% |
|
|
562
|
+
| 内部整合性 | {internal_consistency:.0%} | 10% |
|
|
563
|
+
| **総合** | **{overall_confidence:.0%}** | - |
|
|
564
|
+
|
|
565
|
+
判定: {confidence_level}
|
|
566
|
+
|
|
567
|
+
# manifest.yaml への出力
|
|
568
|
+
output_to: "manifest.yaml:deep_research.confidence_score"
|
|
569
|
+
|
|
570
|
+
# ========================================
|
|
571
|
+
# 中断・再開機能(v1.18.0 NEW!)
|
|
572
|
+
# ========================================
|
|
573
|
+
checkpoint_resume:
|
|
574
|
+
description: "ワークフローの中断・再開をサポート"
|
|
575
|
+
|
|
576
|
+
# チェックポイント設定
|
|
577
|
+
checkpoint:
|
|
578
|
+
enabled: true
|
|
579
|
+
|
|
580
|
+
# 自動チェックポイント作成タイミング
|
|
581
|
+
auto_checkpoint_triggers:
|
|
582
|
+
- "phase_completion" # フェーズ完了時
|
|
583
|
+
- "gate_passed" # ゲート通過時
|
|
584
|
+
- "major_data_collected" # 主要データ収集時
|
|
585
|
+
- "user_pause_request" # ユーザーの中断要求時
|
|
586
|
+
|
|
587
|
+
# チェックポイントデータ
|
|
588
|
+
checkpoint_data:
|
|
589
|
+
workflow_state:
|
|
590
|
+
current_phase: "phase_id"
|
|
591
|
+
last_action: "action_name"
|
|
592
|
+
checkpoint_at: "ISO8601_timestamp"
|
|
593
|
+
|
|
594
|
+
progress:
|
|
595
|
+
completed_phases: ["phase_0", "phase_1"]
|
|
596
|
+
pending_phases: ["phase_2", "phase_3", "phase_4"]
|
|
597
|
+
current_step: "step_description"
|
|
598
|
+
|
|
599
|
+
collected_data:
|
|
600
|
+
sources_count: 0
|
|
601
|
+
sources_list: []
|
|
602
|
+
research_notes: []
|
|
603
|
+
|
|
604
|
+
context:
|
|
605
|
+
purpose: "true_purpose"
|
|
606
|
+
success_condition: "condition_type"
|
|
607
|
+
personas: []
|
|
608
|
+
|
|
609
|
+
# チェックポイント保存先
|
|
610
|
+
save_location: "manifest.yaml:workflow.checkpoint"
|
|
611
|
+
|
|
612
|
+
# 中断処理
|
|
613
|
+
pause:
|
|
614
|
+
# ユーザーからの中断リクエスト検出
|
|
615
|
+
detection_keywords:
|
|
616
|
+
ja:
|
|
617
|
+
- "中断"
|
|
618
|
+
- "一時停止"
|
|
619
|
+
- "後で続ける"
|
|
620
|
+
- "保存して終了"
|
|
621
|
+
- "また明日"
|
|
622
|
+
en:
|
|
623
|
+
- "pause"
|
|
624
|
+
- "stop"
|
|
625
|
+
- "continue later"
|
|
626
|
+
- "save and exit"
|
|
627
|
+
- "resume tomorrow"
|
|
628
|
+
|
|
629
|
+
# 中断時のアクション
|
|
630
|
+
on_pause:
|
|
631
|
+
- action: "save_checkpoint"
|
|
632
|
+
description: "現在の状態をチェックポイントに保存"
|
|
633
|
+
- action: "generate_summary"
|
|
634
|
+
description: "進捗サマリーを生成"
|
|
635
|
+
output: |
|
|
636
|
+
## 🔄 中断時点のサマリー
|
|
637
|
+
|
|
638
|
+
- **現在フェーズ**: {current_phase}
|
|
639
|
+
- **完了フェーズ**: {completed_phases}
|
|
640
|
+
- **収集ソース数**: {sources_count}
|
|
641
|
+
- **中断日時**: {checkpoint_at}
|
|
642
|
+
|
|
643
|
+
再開するには「続きから」「再開」と入力してください。
|
|
644
|
+
- action: "notify_user"
|
|
645
|
+
message: "チェックポイントを保存しました。後で「再開」と入力すると続きから開始できます。"
|
|
646
|
+
|
|
647
|
+
# 再開処理
|
|
648
|
+
resume:
|
|
649
|
+
# 再開リクエスト検出
|
|
650
|
+
detection_keywords:
|
|
651
|
+
ja:
|
|
652
|
+
- "再開"
|
|
653
|
+
- "続きから"
|
|
654
|
+
- "続ける"
|
|
655
|
+
- "前回の続き"
|
|
656
|
+
- "チェックポイントから"
|
|
657
|
+
en:
|
|
658
|
+
- "resume"
|
|
659
|
+
- "continue"
|
|
660
|
+
- "pick up where I left off"
|
|
661
|
+
- "from checkpoint"
|
|
662
|
+
|
|
663
|
+
# 再開時のアクション
|
|
664
|
+
on_resume:
|
|
665
|
+
- action: "load_checkpoint"
|
|
666
|
+
description: "チェックポイントから状態を復元"
|
|
667
|
+
- action: "display_context"
|
|
668
|
+
description: "中断時点のコンテキストを表示"
|
|
669
|
+
output: |
|
|
670
|
+
## 🔄 再開: {project_name}
|
|
671
|
+
|
|
672
|
+
**前回の中断時点**:
|
|
673
|
+
- フェーズ: {current_phase}
|
|
674
|
+
- 最終アクション: {last_action}
|
|
675
|
+
- 中断日時: {checkpoint_at}
|
|
676
|
+
|
|
677
|
+
**収集済みデータ**:
|
|
678
|
+
- ソース数: {sources_count}
|
|
679
|
+
- 主要な発見: {key_findings}
|
|
680
|
+
|
|
681
|
+
この状態から続けますか?(はい/いいえ)
|
|
682
|
+
- action: "resume_workflow"
|
|
683
|
+
description: "ワークフローを再開"
|
|
684
|
+
|
|
685
|
+
# 古いチェックポイントの処理
|
|
686
|
+
stale_checkpoint:
|
|
687
|
+
threshold_days: 30 # 30日以上経過
|
|
688
|
+
action: "ask_user"
|
|
689
|
+
prompt: |
|
|
690
|
+
⚠️ **古いチェックポイントを検出**
|
|
691
|
+
|
|
692
|
+
このプロジェクトは{days_since_checkpoint}日前に中断されました。
|
|
693
|
+
|
|
694
|
+
- 最終フェーズ: {current_phase}
|
|
695
|
+
- 中断日時: {checkpoint_at}
|
|
696
|
+
|
|
697
|
+
選択してください:
|
|
698
|
+
1. 続きから再開
|
|
699
|
+
2. 最初からやり直し
|
|
700
|
+
3. 新規プロジェクトとして開始
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# triage-rules.yaml
|
|
2
|
+
# v1.18.0 - 緊急度トリアージルール定義
|
|
3
|
+
# リサーチの緊急度を判定し、適切なワークフローパスを選択
|
|
4
|
+
|
|
5
|
+
version: "1.18.0"
|
|
6
|
+
|
|
7
|
+
# ========================================
|
|
8
|
+
# 緊急度レベル定義
|
|
9
|
+
# ========================================
|
|
10
|
+
urgency_levels:
|
|
11
|
+
- level: "NORMAL"
|
|
12
|
+
name: "通常"
|
|
13
|
+
description: "標準的なリサーチ(Phase 0-5 フルフロー)"
|
|
14
|
+
icon: "🟢"
|
|
15
|
+
max_duration: "無制限"
|
|
16
|
+
workflow_path: "full"
|
|
17
|
+
|
|
18
|
+
- level: "URGENT"
|
|
19
|
+
name: "緊急"
|
|
20
|
+
description: "短縮リサーチ(一部フェーズ簡略化)"
|
|
21
|
+
icon: "🟡"
|
|
22
|
+
max_duration: "1日以内"
|
|
23
|
+
workflow_path: "quick"
|
|
24
|
+
|
|
25
|
+
- level: "CRITICAL"
|
|
26
|
+
name: "超緊急"
|
|
27
|
+
description: "即時対応(要約のみ)"
|
|
28
|
+
icon: "🔴"
|
|
29
|
+
max_duration: "2時間以内"
|
|
30
|
+
workflow_path: "instant"
|
|
31
|
+
|
|
32
|
+
# ========================================
|
|
33
|
+
# 緊急度検出キーワード
|
|
34
|
+
# ========================================
|
|
35
|
+
detection_keywords:
|
|
36
|
+
URGENT:
|
|
37
|
+
ja:
|
|
38
|
+
- "急ぎ"
|
|
39
|
+
- "今日中"
|
|
40
|
+
- "明日まで"
|
|
41
|
+
- "早めに"
|
|
42
|
+
- "できるだけ早く"
|
|
43
|
+
- "ASAP"
|
|
44
|
+
- "優先的に"
|
|
45
|
+
- "1日以内"
|
|
46
|
+
en:
|
|
47
|
+
- "urgent"
|
|
48
|
+
- "asap"
|
|
49
|
+
- "by today"
|
|
50
|
+
- "by tomorrow"
|
|
51
|
+
- "quickly"
|
|
52
|
+
- "priority"
|
|
53
|
+
- "within a day"
|
|
54
|
+
|
|
55
|
+
CRITICAL:
|
|
56
|
+
ja:
|
|
57
|
+
- "今すぐ"
|
|
58
|
+
- "至急"
|
|
59
|
+
- "緊急"
|
|
60
|
+
- "超急ぎ"
|
|
61
|
+
- "この1時間"
|
|
62
|
+
- "会議前に"
|
|
63
|
+
- "すぐに回答"
|
|
64
|
+
- "概要だけ"
|
|
65
|
+
- "ざっくり"
|
|
66
|
+
en:
|
|
67
|
+
- "immediately"
|
|
68
|
+
- "right now"
|
|
69
|
+
- "critical"
|
|
70
|
+
- "within an hour"
|
|
71
|
+
- "before the meeting"
|
|
72
|
+
- "quick summary"
|
|
73
|
+
- "just an overview"
|
|
74
|
+
|
|
75
|
+
# ========================================
|
|
76
|
+
# 緊急度判定ロジック
|
|
77
|
+
# ========================================
|
|
78
|
+
triage_logic:
|
|
79
|
+
# 判定優先順位
|
|
80
|
+
evaluation_order:
|
|
81
|
+
- "explicit_request" # ユーザーが明示的に指定
|
|
82
|
+
- "keyword_detection" # キーワード検出
|
|
83
|
+
- "deadline_parsing" # 期限解析
|
|
84
|
+
- "context_inference" # コンテキスト推測
|
|
85
|
+
|
|
86
|
+
# 明示的リクエスト
|
|
87
|
+
explicit_request:
|
|
88
|
+
patterns:
|
|
89
|
+
- "緊急度: {level}"
|
|
90
|
+
- "優先度: {level}"
|
|
91
|
+
- "{level}で対応"
|
|
92
|
+
action: "use_specified_level"
|
|
93
|
+
|
|
94
|
+
# 期限解析
|
|
95
|
+
deadline_parsing:
|
|
96
|
+
patterns:
|
|
97
|
+
- regex: "(\\d+)時間以内"
|
|
98
|
+
mapping:
|
|
99
|
+
"1-2": "CRITICAL"
|
|
100
|
+
"3-8": "URGENT"
|
|
101
|
+
"9+": "NORMAL"
|
|
102
|
+
- regex: "(今日|本日|tonight)"
|
|
103
|
+
level: "URGENT"
|
|
104
|
+
- regex: "(今すぐ|immediately)"
|
|
105
|
+
level: "CRITICAL"
|
|
106
|
+
|
|
107
|
+
# デフォルト
|
|
108
|
+
default_level: "NORMAL"
|
|
109
|
+
|
|
110
|
+
# ========================================
|
|
111
|
+
# ワークフローパス定義
|
|
112
|
+
# ========================================
|
|
113
|
+
workflow_paths:
|
|
114
|
+
# 通常フロー(フル)
|
|
115
|
+
full:
|
|
116
|
+
name: "Full Research Flow"
|
|
117
|
+
description: "Phase 0-5 すべてを実行"
|
|
118
|
+
phases:
|
|
119
|
+
- "phase_0" # Project Initialization
|
|
120
|
+
- "phase_1" # Purpose Discovery
|
|
121
|
+
- "phase_2" # Deep Research
|
|
122
|
+
- "phase_3" # Framework Analysis
|
|
123
|
+
- "phase_4" # Report Writing
|
|
124
|
+
- "phase_5" # Completion
|
|
125
|
+
estimated_time: "数時間〜数日"
|
|
126
|
+
quality_level: "高"
|
|
127
|
+
|
|
128
|
+
# クイックフロー
|
|
129
|
+
quick:
|
|
130
|
+
name: "Quick Research Flow"
|
|
131
|
+
description: "簡略化されたリサーチ"
|
|
132
|
+
phases:
|
|
133
|
+
- "phase_0" # Project Initialization(必須)
|
|
134
|
+
- "phase_1_lite" # Purpose Discovery(簡略版: 質問1-2問)
|
|
135
|
+
- "phase_2" # Deep Research(通常)
|
|
136
|
+
- "phase_4_lite" # Report Writing(簡略版: 要約重視)
|
|
137
|
+
skip_phases:
|
|
138
|
+
- "phase_3" # Framework Analysis をスキップ
|
|
139
|
+
estimated_time: "2-4時間"
|
|
140
|
+
quality_level: "中"
|
|
141
|
+
limitations:
|
|
142
|
+
- "フレームワーク分析なし"
|
|
143
|
+
- "財務分析なし"
|
|
144
|
+
- "簡易レポート形式"
|
|
145
|
+
|
|
146
|
+
# 即時フロー
|
|
147
|
+
instant:
|
|
148
|
+
name: "Instant Summary Flow"
|
|
149
|
+
description: "即時要約のみ"
|
|
150
|
+
phases:
|
|
151
|
+
- "phase_0" # Project Initialization(必須)
|
|
152
|
+
- "phase_2_quick" # Quick Search(3ソース限定)
|
|
153
|
+
- "phase_4_summary" # Summary Only(要約のみ)
|
|
154
|
+
skip_phases:
|
|
155
|
+
- "phase_1" # Purpose Discovery をスキップ
|
|
156
|
+
- "phase_3" # Framework Analysis をスキップ
|
|
157
|
+
estimated_time: "30分〜1時間"
|
|
158
|
+
quality_level: "低"
|
|
159
|
+
limitations:
|
|
160
|
+
- "目的探索なし(ユーザーの言葉通りに調査)"
|
|
161
|
+
- "3ソース限定"
|
|
162
|
+
- "フレームワーク分析なし"
|
|
163
|
+
- "財務分析なし"
|
|
164
|
+
- "要約形式のみ(提言書なし)"
|
|
165
|
+
warning: |
|
|
166
|
+
⚠️ **注意**: 即時フローは品質が限定的です。
|
|
167
|
+
重要な意思決定には、後日フルリサーチを推奨します。
|
|
168
|
+
|
|
169
|
+
# ========================================
|
|
170
|
+
# フェーズ簡略版定義
|
|
171
|
+
# ========================================
|
|
172
|
+
lite_phases:
|
|
173
|
+
phase_1_lite:
|
|
174
|
+
name: "Purpose Discovery Lite"
|
|
175
|
+
description: "簡略化された目的探索"
|
|
176
|
+
max_questions: 2
|
|
177
|
+
required_info:
|
|
178
|
+
- "基本目的"
|
|
179
|
+
- "期待する成果形式"
|
|
180
|
+
skip:
|
|
181
|
+
- "5 Whys分析"
|
|
182
|
+
- "JTBD分析"
|
|
183
|
+
- "詳細ペルソナ収集"
|
|
184
|
+
|
|
185
|
+
phase_2_quick:
|
|
186
|
+
name: "Quick Search"
|
|
187
|
+
description: "限定的な情報収集"
|
|
188
|
+
max_sources: 3
|
|
189
|
+
search_depth: "shallow"
|
|
190
|
+
skip:
|
|
191
|
+
- "ソース批判的評価"
|
|
192
|
+
- "日英並列検索"
|
|
193
|
+
- "アーカイブフォールバック"
|
|
194
|
+
|
|
195
|
+
phase_4_lite:
|
|
196
|
+
name: "Report Writing Lite"
|
|
197
|
+
description: "簡略化されたレポート"
|
|
198
|
+
template: "quick-summary-template.md"
|
|
199
|
+
sections:
|
|
200
|
+
- "要約(300字以内)"
|
|
201
|
+
- "主要な発見(3点)"
|
|
202
|
+
- "推奨アクション(1-2点)"
|
|
203
|
+
- "参考ソース"
|
|
204
|
+
skip:
|
|
205
|
+
- "エグゼクティブサマリー"
|
|
206
|
+
- "詳細分析"
|
|
207
|
+
- "財務予測"
|
|
208
|
+
- "リスク分析"
|
|
209
|
+
|
|
210
|
+
phase_4_summary:
|
|
211
|
+
name: "Summary Only"
|
|
212
|
+
description: "要約のみの出力"
|
|
213
|
+
template: "instant-summary-template.md"
|
|
214
|
+
sections:
|
|
215
|
+
- "結論(100字以内)"
|
|
216
|
+
- "根拠(3点)"
|
|
217
|
+
- "ソースURL"
|
|
218
|
+
max_length: 500 # 文字
|
|
219
|
+
|
|
220
|
+
# ========================================
|
|
221
|
+
# トリアージ確認プロンプト
|
|
222
|
+
# ========================================
|
|
223
|
+
triage_prompts:
|
|
224
|
+
# 緊急度確認
|
|
225
|
+
confirm_urgency:
|
|
226
|
+
trigger: "urgency_detected"
|
|
227
|
+
prompt: |
|
|
228
|
+
⏰ **緊急度の確認**
|
|
229
|
+
|
|
230
|
+
「{detected_keyword}」というキーワードから、{detected_level}のリサーチと判断しました。
|
|
231
|
+
|
|
232
|
+
| フロー | 所要時間 | 品質 | 制限事項 |
|
|
233
|
+
|--------|---------|------|---------|
|
|
234
|
+
| 🟢 通常 | 数時間〜 | 高 | なし |
|
|
235
|
+
| 🟡 緊急 | 2-4時間 | 中 | 分析簡略化 |
|
|
236
|
+
| 🔴 超緊急 | 30分〜1時間 | 低 | 要約のみ |
|
|
237
|
+
|
|
238
|
+
どのフローで進めますか?(通常/緊急/超緊急)
|
|
239
|
+
|
|
240
|
+
# 緊急フロー警告
|
|
241
|
+
quick_flow_warning:
|
|
242
|
+
trigger: "quick_flow_selected"
|
|
243
|
+
prompt: |
|
|
244
|
+
⚠️ **クイックフロー選択**
|
|
245
|
+
|
|
246
|
+
以下の制限があります:
|
|
247
|
+
- フレームワーク分析(SWOT等)はスキップ
|
|
248
|
+
- 財務分析はスキップ
|
|
249
|
+
- 簡易レポート形式
|
|
250
|
+
|
|
251
|
+
続行しますか?
|
|
252
|
+
|
|
253
|
+
# 即時フロー警告
|
|
254
|
+
instant_flow_warning:
|
|
255
|
+
trigger: "instant_flow_selected"
|
|
256
|
+
prompt: |
|
|
257
|
+
🔴 **超緊急フロー選択**
|
|
258
|
+
|
|
259
|
+
以下の制限があります:
|
|
260
|
+
- 目的探索なし(ご依頼通りに調査)
|
|
261
|
+
- 3ソース限定
|
|
262
|
+
- 要約形式のみ
|
|
263
|
+
- **重要な意思決定には不向き**
|
|
264
|
+
|
|
265
|
+
後日、フルリサーチを推奨します。続行しますか?
|
|
266
|
+
|
|
267
|
+
# ========================================
|
|
268
|
+
# トリアージ後のアクション
|
|
269
|
+
# ========================================
|
|
270
|
+
post_triage_actions:
|
|
271
|
+
- action: "log_triage_decision"
|
|
272
|
+
log_to: "manifest.yaml:workflow.triage"
|
|
273
|
+
fields:
|
|
274
|
+
- "detected_urgency"
|
|
275
|
+
- "confirmed_urgency"
|
|
276
|
+
- "selected_workflow_path"
|
|
277
|
+
- "estimated_completion"
|
|
278
|
+
|
|
279
|
+
- action: "adjust_quality_gates"
|
|
280
|
+
description: "緊急度に応じて品質ゲートを調整"
|
|
281
|
+
adjustments:
|
|
282
|
+
URGENT:
|
|
283
|
+
gate_1_to_2:
|
|
284
|
+
required_conditions:
|
|
285
|
+
- "G1-2-001" # 真の目的のみ(対話回数緩和)
|
|
286
|
+
gate_2_to_3:
|
|
287
|
+
required_conditions:
|
|
288
|
+
- "G2-3-001" # 3ソースのみ
|
|
289
|
+
CRITICAL:
|
|
290
|
+
skip_gates:
|
|
291
|
+
- "gate_1_to_2"
|
|
292
|
+
- "gate_3_to_4"
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
# workflow-gates.yaml
|
|
2
|
+
# v1.18.0 - 品質ゲート(Phase Gate)定義
|
|
3
|
+
# 各フェーズ間の遷移条件と承認プロセスを定義
|
|
4
|
+
|
|
5
|
+
version: "1.18.0"
|
|
6
|
+
|
|
7
|
+
# ========================================
|
|
8
|
+
# 品質ゲート概要
|
|
9
|
+
# ========================================
|
|
10
|
+
description: |
|
|
11
|
+
各フェーズ間の品質ゲートを定義。
|
|
12
|
+
ゲート条件を満たさない限り、次フェーズに進めない。
|
|
13
|
+
ユーザー承認が必要なゲートも定義。
|
|
14
|
+
|
|
15
|
+
# ========================================
|
|
16
|
+
# Gate 0→1: プロジェクト初期化 → 目的探索
|
|
17
|
+
# ========================================
|
|
18
|
+
gate_0_to_1:
|
|
19
|
+
name: "Project Initialization Gate"
|
|
20
|
+
from_phase: "phase_0"
|
|
21
|
+
to_phase: "phase_1"
|
|
22
|
+
|
|
23
|
+
# 必須条件(すべて満たす必要あり)
|
|
24
|
+
required_conditions:
|
|
25
|
+
- id: "G0-1-001"
|
|
26
|
+
name: "プロジェクトフォルダ存在"
|
|
27
|
+
check: "projects/pjXXXXX_*/ directory exists"
|
|
28
|
+
auto_check: true
|
|
29
|
+
- id: "G0-1-002"
|
|
30
|
+
name: "manifest.yaml存在"
|
|
31
|
+
check: "manifest.yaml file exists in project folder"
|
|
32
|
+
auto_check: true
|
|
33
|
+
- id: "G0-1-003"
|
|
34
|
+
name: "ナレッジ継承完了"
|
|
35
|
+
check: "manifest.yaml:knowledge_inheritance.status == 'complete'"
|
|
36
|
+
auto_check: true
|
|
37
|
+
|
|
38
|
+
# ユーザー承認(不要)
|
|
39
|
+
user_approval_required: false
|
|
40
|
+
|
|
41
|
+
# ゲート通過時のアクション
|
|
42
|
+
on_pass:
|
|
43
|
+
- action: "log"
|
|
44
|
+
message: "✅ Gate 0→1 通過: プロジェクト初期化完了"
|
|
45
|
+
- action: "update_manifest"
|
|
46
|
+
field: "workflow.gates.gate_0_to_1"
|
|
47
|
+
value: "passed"
|
|
48
|
+
|
|
49
|
+
# ゲート失敗時のアクション
|
|
50
|
+
on_fail:
|
|
51
|
+
- action: "notify_user"
|
|
52
|
+
message: "❌ プロジェクト初期化が完了していません。npx shikigami new を実行してください。"
|
|
53
|
+
|
|
54
|
+
# ========================================
|
|
55
|
+
# Gate 1→2: 目的探索 → Deep Research
|
|
56
|
+
# ========================================
|
|
57
|
+
gate_1_to_2:
|
|
58
|
+
name: "Purpose Discovery Gate"
|
|
59
|
+
from_phase: "phase_1"
|
|
60
|
+
to_phase: "phase_2"
|
|
61
|
+
|
|
62
|
+
required_conditions:
|
|
63
|
+
- id: "G1-2-001"
|
|
64
|
+
name: "真の目的定義済み"
|
|
65
|
+
check: "manifest.yaml:purpose_discovery.true_purpose != null"
|
|
66
|
+
auto_check: true
|
|
67
|
+
- id: "G1-2-002"
|
|
68
|
+
name: "調査計画策定済み"
|
|
69
|
+
check: "manifest.yaml:purpose_discovery.research_plan != null"
|
|
70
|
+
auto_check: true
|
|
71
|
+
- id: "G1-2-003"
|
|
72
|
+
name: "成功条件明確化"
|
|
73
|
+
check: "manifest.yaml:purpose_discovery.success_condition != null"
|
|
74
|
+
auto_check: true
|
|
75
|
+
- id: "G1-2-004"
|
|
76
|
+
name: "最低3回の対話完了"
|
|
77
|
+
check: "manifest.yaml:purpose_discovery.dialog_count >= 3"
|
|
78
|
+
auto_check: true
|
|
79
|
+
|
|
80
|
+
# ユーザー承認(必須)
|
|
81
|
+
user_approval_required: true
|
|
82
|
+
approval_prompt: |
|
|
83
|
+
📋 **Phase 1 完了確認**
|
|
84
|
+
|
|
85
|
+
以下の内容でリサーチを開始してよろしいですか?
|
|
86
|
+
|
|
87
|
+
- **真の目的**: {true_purpose}
|
|
88
|
+
- **成功条件**: {success_condition.type}
|
|
89
|
+
- **調査範囲**: {research_plan.scope}
|
|
90
|
+
|
|
91
|
+
「承認」または「修正」を選択してください。
|
|
92
|
+
|
|
93
|
+
on_pass:
|
|
94
|
+
- action: "log"
|
|
95
|
+
message: "✅ Gate 1→2 通過: 目的探索完了、ユーザー承認済み"
|
|
96
|
+
- action: "update_manifest"
|
|
97
|
+
field: "workflow.gates.gate_1_to_2"
|
|
98
|
+
value: "passed"
|
|
99
|
+
|
|
100
|
+
on_fail:
|
|
101
|
+
- action: "notify_user"
|
|
102
|
+
message: "❌ 目的探索が不完全です。追加の質問が必要です。"
|
|
103
|
+
|
|
104
|
+
# ========================================
|
|
105
|
+
# Gate 2→3: Deep Research → Framework Analysis
|
|
106
|
+
# ========================================
|
|
107
|
+
gate_2_to_3:
|
|
108
|
+
name: "Deep Research Gate"
|
|
109
|
+
from_phase: "phase_2"
|
|
110
|
+
to_phase: "phase_3"
|
|
111
|
+
|
|
112
|
+
required_conditions:
|
|
113
|
+
- id: "G2-3-001"
|
|
114
|
+
name: "最低3ソース収集"
|
|
115
|
+
check: "manifest.yaml:deep_research.sources.length >= 3"
|
|
116
|
+
auto_check: true
|
|
117
|
+
- id: "G2-3-002"
|
|
118
|
+
name: "ソース信頼性評価済み"
|
|
119
|
+
check: "manifest.yaml:deep_research.source_quality != null"
|
|
120
|
+
auto_check: true
|
|
121
|
+
- id: "G2-3-003"
|
|
122
|
+
name: "research-summary作成済み"
|
|
123
|
+
check: "research/research-summary-*.md exists"
|
|
124
|
+
auto_check: true
|
|
125
|
+
- id: "G2-3-004"
|
|
126
|
+
name: "信頼度スコア60%以上"
|
|
127
|
+
check: "manifest.yaml:deep_research.confidence_score >= 0.6"
|
|
128
|
+
auto_check: true
|
|
129
|
+
|
|
130
|
+
user_approval_required: false
|
|
131
|
+
|
|
132
|
+
on_pass:
|
|
133
|
+
- action: "log"
|
|
134
|
+
message: "✅ Gate 2→3 通過: Deep Research完了"
|
|
135
|
+
- action: "update_manifest"
|
|
136
|
+
field: "workflow.gates.gate_2_to_3"
|
|
137
|
+
value: "passed"
|
|
138
|
+
|
|
139
|
+
on_fail:
|
|
140
|
+
- action: "notify_user"
|
|
141
|
+
message: "❌ 調査が不十分です。追加の情報収集が必要です。"
|
|
142
|
+
- action: "suggest_action"
|
|
143
|
+
suggestions:
|
|
144
|
+
- "追加のソースを検索"
|
|
145
|
+
- "信頼性の低いソースを再評価"
|
|
146
|
+
|
|
147
|
+
# ========================================
|
|
148
|
+
# Gate 3→4: Framework Analysis → Report Writing
|
|
149
|
+
# ========================================
|
|
150
|
+
gate_3_to_4:
|
|
151
|
+
name: "Framework Analysis Gate"
|
|
152
|
+
from_phase: "phase_3"
|
|
153
|
+
to_phase: "phase_4"
|
|
154
|
+
|
|
155
|
+
required_conditions:
|
|
156
|
+
- id: "G3-4-001"
|
|
157
|
+
name: "フレームワーク1つ以上適用"
|
|
158
|
+
check: "manifest.yaml:framework_analysis.frameworks.length >= 1"
|
|
159
|
+
auto_check: true
|
|
160
|
+
- id: "G3-4-002"
|
|
161
|
+
name: "数値データ検証済み"
|
|
162
|
+
check: "manifest.yaml:framework_analysis.numerical_validation == true"
|
|
163
|
+
auto_check: true
|
|
164
|
+
- id: "G3-4-003"
|
|
165
|
+
name: "財務分析完了(該当時)"
|
|
166
|
+
check: "manifest.yaml:framework_analysis.financial_analysis != null OR !requires_financial"
|
|
167
|
+
auto_check: true
|
|
168
|
+
|
|
169
|
+
user_approval_required: false
|
|
170
|
+
|
|
171
|
+
on_pass:
|
|
172
|
+
- action: "log"
|
|
173
|
+
message: "✅ Gate 3→4 通過: Framework Analysis完了"
|
|
174
|
+
- action: "update_manifest"
|
|
175
|
+
field: "workflow.gates.gate_3_to_4"
|
|
176
|
+
value: "passed"
|
|
177
|
+
|
|
178
|
+
on_fail:
|
|
179
|
+
- action: "notify_user"
|
|
180
|
+
message: "❌ フレームワーク分析が不完全です。"
|
|
181
|
+
|
|
182
|
+
# ========================================
|
|
183
|
+
# Gate 4→5: Report Writing → Completion
|
|
184
|
+
# ========================================
|
|
185
|
+
gate_4_to_5:
|
|
186
|
+
name: "Report Quality Gate"
|
|
187
|
+
from_phase: "phase_4"
|
|
188
|
+
to_phase: "phase_5"
|
|
189
|
+
|
|
190
|
+
required_conditions:
|
|
191
|
+
- id: "G4-5-001"
|
|
192
|
+
name: "レポートファイル存在"
|
|
193
|
+
check: "reports/*.md exists"
|
|
194
|
+
auto_check: true
|
|
195
|
+
- id: "G4-5-002"
|
|
196
|
+
name: "数値整合性チェック合格"
|
|
197
|
+
check: "manifest.yaml:report_writing.quality_checks.consistency_check == 'passed'"
|
|
198
|
+
auto_check: true
|
|
199
|
+
- id: "G4-5-003"
|
|
200
|
+
name: "サマリー整合性チェック合格"
|
|
201
|
+
check: "manifest.yaml:report_writing.quality_checks.executive_sync == 'passed'"
|
|
202
|
+
auto_check: true
|
|
203
|
+
- id: "G4-5-004"
|
|
204
|
+
name: "引用ソース完備"
|
|
205
|
+
check: "all_claims_have_citations == true"
|
|
206
|
+
auto_check: true
|
|
207
|
+
|
|
208
|
+
# ユーザー承認(必須)
|
|
209
|
+
user_approval_required: true
|
|
210
|
+
approval_prompt: |
|
|
211
|
+
📋 **レポート完了確認**
|
|
212
|
+
|
|
213
|
+
レポートが完成しました。内容をご確認ください。
|
|
214
|
+
|
|
215
|
+
- **レポートファイル**: {report_path}
|
|
216
|
+
- **品質チェック**: {quality_check_summary}
|
|
217
|
+
- **信頼度スコア**: {confidence_score}%
|
|
218
|
+
|
|
219
|
+
「承認」→ 完了 / 「修正」→ 改訂サイクルへ
|
|
220
|
+
|
|
221
|
+
on_pass:
|
|
222
|
+
- action: "log"
|
|
223
|
+
message: "✅ Gate 4→5 通過: レポート承認済み"
|
|
224
|
+
- action: "update_manifest"
|
|
225
|
+
field: "workflow.gates.gate_4_to_5"
|
|
226
|
+
value: "passed"
|
|
227
|
+
|
|
228
|
+
on_fail:
|
|
229
|
+
- action: "start_revision_cycle"
|
|
230
|
+
message: "改訂サイクルを開始します"
|
|
231
|
+
|
|
232
|
+
# ========================================
|
|
233
|
+
# フィードバック・改訂ループ
|
|
234
|
+
# ========================================
|
|
235
|
+
feedback_loop:
|
|
236
|
+
description: "ユーザーフィードバックに基づく改訂サイクル"
|
|
237
|
+
|
|
238
|
+
trigger_conditions:
|
|
239
|
+
- "user_requests_revision"
|
|
240
|
+
- "gate_4_to_5.user_approval == 'revision'"
|
|
241
|
+
|
|
242
|
+
max_iterations: 5 # 最大改訂回数
|
|
243
|
+
|
|
244
|
+
revision_workflow:
|
|
245
|
+
- step: "collect_feedback"
|
|
246
|
+
action: "ユーザーから具体的な修正要求を収集"
|
|
247
|
+
prompt: |
|
|
248
|
+
📝 **修正リクエスト**
|
|
249
|
+
|
|
250
|
+
どの部分を修正しますか?
|
|
251
|
+
1. 内容の追加・削除
|
|
252
|
+
2. 数値・データの修正
|
|
253
|
+
3. 表現・トーンの調整
|
|
254
|
+
4. 構成の変更
|
|
255
|
+
5. その他
|
|
256
|
+
|
|
257
|
+
- step: "categorize_feedback"
|
|
258
|
+
action: "フィードバックを分類"
|
|
259
|
+
categories:
|
|
260
|
+
- "content_change" # 内容変更
|
|
261
|
+
- "data_correction" # データ修正
|
|
262
|
+
- "tone_adjustment" # トーン調整
|
|
263
|
+
- "structure_change" # 構成変更
|
|
264
|
+
- "minor_fix" # 軽微な修正
|
|
265
|
+
|
|
266
|
+
- step: "apply_revision"
|
|
267
|
+
action: "修正を適用"
|
|
268
|
+
return_to: "phase_4" # レポート作成フェーズに戻る
|
|
269
|
+
|
|
270
|
+
- step: "re_quality_check"
|
|
271
|
+
action: "品質チェックを再実行"
|
|
272
|
+
|
|
273
|
+
- step: "present_revised_report"
|
|
274
|
+
action: "修正後のレポートを提示"
|
|
275
|
+
return_to: "gate_4_to_5" # 再度承認ゲートへ
|
|
276
|
+
|
|
277
|
+
tracking:
|
|
278
|
+
- "revision_count"
|
|
279
|
+
- "feedback_history"
|
|
280
|
+
- "changes_applied"
|
|
281
|
+
|
|
282
|
+
# ========================================
|
|
283
|
+
# ゲート統計・ダッシュボード
|
|
284
|
+
# ========================================
|
|
285
|
+
gate_dashboard:
|
|
286
|
+
enabled: true
|
|
287
|
+
|
|
288
|
+
display_format: |
|
|
289
|
+
## 🚦 品質ゲート状況
|
|
290
|
+
|
|
291
|
+
| Gate | 状態 | 通過日時 |
|
|
292
|
+
|------|------|---------|
|
|
293
|
+
| Gate 0→1 | {gate_0_to_1_status} | {gate_0_to_1_time} |
|
|
294
|
+
| Gate 1→2 | {gate_1_to_2_status} | {gate_1_to_2_time} |
|
|
295
|
+
| Gate 2→3 | {gate_2_to_3_status} | {gate_2_to_3_time} |
|
|
296
|
+
| Gate 3→4 | {gate_3_to_4_status} | {gate_3_to_4_time} |
|
|
297
|
+
| Gate 4→5 | {gate_4_to_5_status} | {gate_4_to_5_time} |
|
|
298
|
+
|
|
299
|
+
status_icons:
|
|
300
|
+
passed: "✅"
|
|
301
|
+
pending: "🔄"
|
|
302
|
+
failed: "❌"
|
|
303
|
+
skipped: "⏭️"
|
|
@@ -310,9 +310,52 @@ npx shikigami inherit --list
|
|
|
310
310
|
|
|
311
311
|
## Phase 1: 対話的目的探索(Interactive Purpose Discovery)
|
|
312
312
|
|
|
313
|
-
|
|
313
|
+
> **⚠️ 重要**: Phase 0完了後、**必ず**このフェーズを実行すること。
|
|
314
|
+
> Phase 1をスキップしてPhase 2(調査)に進むことは禁止。
|
|
314
315
|
|
|
315
|
-
|
|
316
|
+
### 🔴 Phase 1開始時の必須行動(v1.17.8 NEW!)
|
|
317
|
+
|
|
318
|
+
**Phase 0が完了したら、以下の質問を1問ずつ開始すること。**
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
[Phase 0完了: プロジェクトフォルダ作成済み]
|
|
322
|
+
↓
|
|
323
|
+
[Phase 1開始: 以下の出力から開始]
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
#### Phase 1開始時の出力テンプレート
|
|
327
|
+
|
|
328
|
+
```markdown
|
|
329
|
+
## 🎯 Phase 1: 目的探索を開始します
|
|
330
|
+
|
|
331
|
+
プロジェクトフォルダの準備が完了しました。
|
|
332
|
+
リサーチの効果を最大化するため、いくつか質問させてください。
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## ❓ 質問 1/5
|
|
337
|
+
|
|
338
|
+
**カテゴリ**: WHY(目的)
|
|
339
|
+
|
|
340
|
+
**この調査で何を判断したいですか?**
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
💡 **ヒント**: 例えば「〇〇を導入すべきか判断したい」「〇〇の市場性を評価したい」など
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
**⚠️ この出力を必ず表示し、ユーザーの回答を待つこと。**
|
|
347
|
+
|
|
348
|
+
### コンテキスト不足の判定基準(1つでも該当すれば質問必須)
|
|
349
|
+
|
|
350
|
+
| 判定基準 | 例 | 質問例 |
|
|
351
|
+
|---------|-----|--------|
|
|
352
|
+
| 目的が曖昧 | 「〇〇について調べて」(何を判断するか不明) | 「何を判断するための調査ですか?」 |
|
|
353
|
+
| 対象が不明確 | 「競合を分析して」(具体名がない) | 「どの競合を対象にしますか?」 |
|
|
354
|
+
| 成功基準が不明 | 「レポートを作成して」(何をもって成功か不明) | 「どうなれば成功と言えますか?」 |
|
|
355
|
+
| 制約が不明 | 「詳しく調べて」(時間・範囲の制約がない) | 「時間や範囲の制約はありますか?」 |
|
|
356
|
+
| ステークホルダー不明 | 誰が結果を使うかわからない | 「この結果を誰が使いますか?」 |
|
|
357
|
+
|
|
358
|
+
### ⚠️ 1問1答の厳守ルール(REQ-PL-DIALOG)
|
|
316
359
|
|
|
317
360
|
**絶対ルール**:
|
|
318
361
|
- ❌ 曖昧な情報のまま推測でリサーチを開始しない
|
|
@@ -320,14 +363,6 @@ npx shikigami inherit --list
|
|
|
320
363
|
- ✅ 回答を待ってから次の質問をする
|
|
321
364
|
- ✅ 3〜7問で必要なコンテキストを収集する
|
|
322
365
|
|
|
323
|
-
**質問すべき状況**:
|
|
324
|
-
| 状況 | 例 | 質問例 |
|
|
325
|
-
|------|-----|--------|
|
|
326
|
-
| 目的が曖昧 | 「〇〇について調べて」 | 「何を判断するための調査ですか?」 |
|
|
327
|
-
| 対象が不明確 | 「競合を分析して」 | 「どの競合を対象にしますか?」 |
|
|
328
|
-
| 成功基準が不明 | 「レポートを作成して」 | 「どうなれば成功と言えますか?」 |
|
|
329
|
-
| 制約が不明 | 「詳しく調べて」 | 「時間や範囲の制約はありますか?」 |
|
|
330
|
-
|
|
331
366
|
### Step 1: 表層目的の受付
|
|
332
367
|
|
|
333
368
|
ユーザーがリサーチ目的を入力したら:
|
package/AGENTS.md
CHANGED
|
@@ -98,9 +98,37 @@ Phase 5: Completion(完了)
|
|
|
98
98
|
| **⛔ 禁止** | ハイフン、スペース、日本語をプロジェクト名に含めること |
|
|
99
99
|
| **⛔ 禁止** | プロジェクト作成前にsearchツールを使用すること |
|
|
100
100
|
|
|
101
|
-
### 3. 質問ルール(1問1
|
|
101
|
+
### 3. 質問ルール(1問1答)- Phase 1で必ず実行
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
**Phase 0(プロジェクト作成)完了後、Phase 1で必ず対話的目的探索を開始すること。**
|
|
104
|
+
|
|
105
|
+
#### ⚠️ Phase 1開始時の必須行動
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
[Phase 0完了: プロジェクトフォルダ作成済み]
|
|
109
|
+
↓
|
|
110
|
+
[Phase 1開始: 以下の質問を1問ずつ実行]
|
|
111
|
+
↓
|
|
112
|
+
❓ 質問1: 「この調査で何を判断したいですか?」
|
|
113
|
+
↓ ユーザーの回答を待つ
|
|
114
|
+
❓ 質問2: 「この結果を誰が使いますか?」
|
|
115
|
+
↓ ユーザーの回答を待つ
|
|
116
|
+
❓ 質問3〜7: 必要に応じて追加質問
|
|
117
|
+
↓
|
|
118
|
+
[真の目的を確認してPhase 2へ]
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### コンテキスト不足の判定基準(1つでも該当すれば質問必須)
|
|
122
|
+
|
|
123
|
+
| 判定基準 | 例 |
|
|
124
|
+
|---------|-----|
|
|
125
|
+
| 目的が曖昧 | 「〇〇について調べて」(何を判断するか不明) |
|
|
126
|
+
| 対象が不明確 | 「競合分析して」(どの競合か不明) |
|
|
127
|
+
| 成功基準が不明 | 「レポート作成して」(何をもって成功か不明) |
|
|
128
|
+
| 制約が不明 | 「詳しく調べて」(時間・範囲の制約が不明) |
|
|
129
|
+
| ステークホルダー不明 | 誰が結果を使うかわからない |
|
|
130
|
+
|
|
131
|
+
#### 禁止と正解のパターン
|
|
104
132
|
|
|
105
133
|
```
|
|
106
134
|
❌ 禁止: 「以下の点を教えてください:1. 目的は? 2. 対象は? 3. 期限は?」
|
|
@@ -120,6 +148,91 @@ Phase 5: Completion(完了)
|
|
|
120
148
|
|
|
121
149
|
**すべてのデータ・事実主張にはソースURLを付与すること。URLなしの参考文献は禁止。**
|
|
122
150
|
|
|
151
|
+
### 6. 品質ゲート(v1.18.0 NEW!)
|
|
152
|
+
|
|
153
|
+
各フェーズ間には**品質ゲート**があり、条件を満たさないと次フェーズに進めません。
|
|
154
|
+
|
|
155
|
+
| ゲート | 条件 | ユーザー承認 |
|
|
156
|
+
|--------|------|-------------|
|
|
157
|
+
| Gate 0→1 | プロジェクトフォルダ存在、manifest.yaml存在 | 不要 |
|
|
158
|
+
| Gate 1→2 | 真の目的定義済み、調査計画策定済み、最低3回対話 | **必要** |
|
|
159
|
+
| Gate 2→3 | 3ソース以上、信頼性評価済み、信頼度60%以上 | 不要 |
|
|
160
|
+
| Gate 3→4 | フレームワーク1つ以上、数値検証済み | 不要 |
|
|
161
|
+
| Gate 4→5 | レポート存在、品質チェック合格、引用完備 | **必要** |
|
|
162
|
+
|
|
163
|
+
**設定ファイル**: `configs/workflow-gates.yaml`
|
|
164
|
+
|
|
165
|
+
### 7. フィードバック・改訂ループ(v1.18.0 NEW!)
|
|
166
|
+
|
|
167
|
+
レポート完了後、ユーザーが「修正」を選択すると改訂サイクルに入ります。
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
[Gate 4→5: レポート承認]
|
|
171
|
+
↓ ユーザー: 「修正」
|
|
172
|
+
[フィードバック収集]
|
|
173
|
+
↓
|
|
174
|
+
[修正カテゴリ分類]
|
|
175
|
+
↓
|
|
176
|
+
[修正適用 → Phase 4へ戻る]
|
|
177
|
+
↓
|
|
178
|
+
[品質チェック再実行]
|
|
179
|
+
↓
|
|
180
|
+
[再度 Gate 4→5 へ]
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**最大改訂回数**: 5回
|
|
184
|
+
|
|
185
|
+
### 8. 緊急度トリアージ(v1.18.0 NEW!)
|
|
186
|
+
|
|
187
|
+
リサーチ依頼時に緊急度を判定し、適切なワークフローパスを選択します。
|
|
188
|
+
|
|
189
|
+
| レベル | アイコン | ワークフロー | 所要時間 | 制限事項 |
|
|
190
|
+
|--------|---------|-------------|---------|---------|
|
|
191
|
+
| 🟢 通常 | NORMAL | Phase 0-5 フル | 数時間〜 | なし |
|
|
192
|
+
| 🟡 緊急 | URGENT | Phase 0→1簡略→2→4簡略 | 2-4時間 | 分析スキップ |
|
|
193
|
+
| 🔴 超緊急 | CRITICAL | Phase 0→2簡易→4要約 | 30分〜1時間 | 目的探索なし、3ソース限定 |
|
|
194
|
+
|
|
195
|
+
**検出キーワード**:
|
|
196
|
+
- 🟡 緊急: 「急ぎ」「今日中」「明日まで」「ASAP」
|
|
197
|
+
- 🔴 超緊急: 「今すぐ」「至急」「緊急」「この1時間」「概要だけ」
|
|
198
|
+
|
|
199
|
+
**設定ファイル**: `configs/triage-rules.yaml`
|
|
200
|
+
|
|
201
|
+
### 9. 中断・再開機能(v1.18.0 NEW!)
|
|
202
|
+
|
|
203
|
+
長時間のリサーチを中断し、後で再開できます。
|
|
204
|
+
|
|
205
|
+
| キーワード | アクション |
|
|
206
|
+
|-----------|-----------|
|
|
207
|
+
| 「中断」「一時停止」「後で続ける」 | チェックポイント保存 |
|
|
208
|
+
| 「再開」「続きから」「前回の続き」 | チェックポイントから復元 |
|
|
209
|
+
|
|
210
|
+
**チェックポイントデータ**:
|
|
211
|
+
- 現在フェーズ、最終アクション、中断日時
|
|
212
|
+
- 収集済みソース一覧
|
|
213
|
+
- 調査メモ
|
|
214
|
+
- コンテキスト(目的、成功条件、ペルソナ)
|
|
215
|
+
|
|
216
|
+
**古いチェックポイント**: 30日経過で再確認プロンプト表示
|
|
217
|
+
|
|
218
|
+
### 10. 信頼度スコアリング(v1.18.0 NEW!)
|
|
219
|
+
|
|
220
|
+
調査結果の品質を数値化し、透明性を向上させます。
|
|
221
|
+
|
|
222
|
+
| 要素 | 重み | 説明 |
|
|
223
|
+
|------|------|------|
|
|
224
|
+
| ソース信頼性 | 30% | 学術機関0.9、主要メディア0.7、ブログ0.3 |
|
|
225
|
+
| データ鮮度 | 20% | 3ヶ月以内1.0、1年以内0.8、3年超0.2 |
|
|
226
|
+
| カバー率 | 25% | 調査範囲のカバー率 |
|
|
227
|
+
| ソース多様性 | 15% | ソースタイプの多様性 |
|
|
228
|
+
| 内部整合性 | 10% | データの矛盾がないか |
|
|
229
|
+
|
|
230
|
+
**閾値**:
|
|
231
|
+
- 80%以上: 高信頼度(推奨)
|
|
232
|
+
- 60%以上: 中信頼度(Gate通過可能)
|
|
233
|
+
- 40%以上: 低信頼度(追加調査推奨)
|
|
234
|
+
- 40%未満: 不十分(Gate通過不可)
|
|
235
|
+
|
|
123
236
|
---
|
|
124
237
|
|
|
125
238
|
## 🎯 プロジェクト概要
|
|
@@ -128,7 +241,7 @@ Phase 5: Completion(完了)
|
|
|
128
241
|
|
|
129
242
|
| 項目 | 詳細 |
|
|
130
243
|
|------|------|
|
|
131
|
-
| **バージョン** | 1.
|
|
244
|
+
| **バージョン** | 1.18.0 |
|
|
132
245
|
| **言語** | TypeScript |
|
|
133
246
|
| **ランタイム** | Node.js >= 20.0.0 |
|
|
134
247
|
| **Agent Skills** | 4スキル |
|
|
@@ -140,6 +253,24 @@ Phase 5: Completion(完了)
|
|
|
140
253
|
|
|
141
254
|
---
|
|
142
255
|
|
|
256
|
+
## 🆕 v1.18.0 新機能(ワークフロー品質強化)
|
|
257
|
+
|
|
258
|
+
### 品質ゲート・フィードバックループ・緊急度トリアージ
|
|
259
|
+
|
|
260
|
+
5つの新機能でワークフロー品質を強化しました。
|
|
261
|
+
|
|
262
|
+
| 機能 | 設定ファイル | 目的 |
|
|
263
|
+
|------|-------------|------|
|
|
264
|
+
| 品質ゲート | `configs/workflow-gates.yaml` | フェーズ間の品質担保 |
|
|
265
|
+
| フィードバックループ | `configs/workflow-gates.yaml` | 改訂サイクル管理 |
|
|
266
|
+
| 緊急度トリアージ | `configs/triage-rules.yaml` | ワークフローパス選択 |
|
|
267
|
+
| 中断・再開 | `configs/auto-invoke-triggers.yaml` | チェックポイント管理 |
|
|
268
|
+
| 信頼度スコア | `configs/auto-invoke-triggers.yaml` | 品質の数値化 |
|
|
269
|
+
|
|
270
|
+
詳細は「絶対ルール」セクションの項目6〜10を参照。
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
143
274
|
## 🆕 v1.12.0 新機能(フレームワーク分析・マッチング自動化)
|
|
144
275
|
|
|
145
276
|
### Phase 3: Framework Analysis 自動化(REQ-FW-001, REQ-MATCH-001)
|
package/package.json
CHANGED