@unlaxer/dge-toolkit 1.8.0 → 2.0.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.
@@ -0,0 +1,58 @@
1
+ name: brainstorm
2
+ display_name: "💡 ブレスト — アイデアを発散させる"
3
+
4
+ trigger_keywords: ["ブレスト", "brainstorm", "アイデア", "発想"]
5
+
6
+ workflow:
7
+ steps:
8
+ - id: init
9
+ display_name: "Kit 読み込み"
10
+ - id: theme
11
+ display_name: "テーマ確認"
12
+ - id: characters
13
+ display_name: "キャラ選択"
14
+ mode: confirm # ブレストはキャラが命。確認する
15
+ - id: dialogue
16
+ display_name: "会話劇生成"
17
+ technique: yes_and # Yes, and... 話法を使う
18
+ - id: save
19
+ display_name: "保存"
20
+ - id: summary
21
+ display_name: "アイデア一覧 + 選択肢"
22
+
23
+ must_rules:
24
+ - id: save
25
+ text: "会話劇は保存(無条件)"
26
+ - id: output_table
27
+ text: "アイデア一覧を出力"
28
+ - id: choices
29
+ text: "一覧の後に番号付き選択肢を提示(省略しない)"
30
+ - id: character_confirm
31
+ text: "キャラ選択はユーザー確認"
32
+
33
+ extract:
34
+ type: idea
35
+ marker: "→ アイデア:"
36
+ format: "アイデア名 / 概要 / 実現可能性"
37
+ severity: null # ブレストに severity はない
38
+ categories:
39
+ - id: new_feature
40
+ display_name: "新機能"
41
+ - id: improvement
42
+ display_name: "改善"
43
+ - id: pivot
44
+ display_name: "方向転換"
45
+ - id: wild
46
+ display_name: "突飛なアイデア"
47
+
48
+ generate: null # ブレストは Spec 化なし
49
+
50
+ output_dir: dge/sessions/
51
+
52
+ post_actions:
53
+ - id: dge_again
54
+ display_name: "もう一回ブレスト"
55
+ - id: switch_review
56
+ display_name: "アイデアを設計レビューに持ち込む → design-review"
57
+ - id: later
58
+ display_name: "後で"
@@ -1,6 +1,48 @@
1
1
  name: design-review
2
2
  display_name: "🔍 設計レビュー — 仕様の穴を見つけて Spec に変換"
3
3
 
4
+ trigger_keywords: ["詳しく", "本格的に", "full", "設計レビュー", "Spec"]
5
+
6
+ workflow:
7
+ steps:
8
+ - id: init
9
+ display_name: "Kit 読み込み"
10
+ - id: theme
11
+ display_name: "テーマ確認"
12
+ - id: template
13
+ display_name: "テンプレート選択"
14
+ - id: pattern
15
+ display_name: "パターン選択"
16
+ - id: characters
17
+ display_name: "キャラ選択"
18
+ mode: confirm
19
+ - id: dialogue
20
+ display_name: "会話劇生成"
21
+ - id: extract_gaps
22
+ display_name: "Gap 構造化"
23
+ - id: save
24
+ display_name: "保存 + プロジェクト更新"
25
+ - id: summary
26
+ display_name: "サマリー + 選択肢"
27
+ - id: spec
28
+ display_name: "Spec 化(実装選択時)"
29
+
30
+ must_rules:
31
+ - id: save
32
+ text: "会話劇は保存(無条件)"
33
+ - id: output_table
34
+ text: "Gap 一覧テーブルを出力"
35
+ - id: choices
36
+ text: "一覧の後に番号付き選択肢を提示(省略しない)"
37
+ - id: character_confirm
38
+ text: "キャラ選択はユーザー確認"
39
+ - id: spec_before_impl
40
+ text: "実装前に Critical/High の Spec を生成"
41
+ - id: spec_header
42
+ text: "Spec に DGE 生成警告ヘッダ + status: draft"
43
+ - id: write_scope
44
+ text: "dge/ 内にのみ書き込む"
45
+
4
46
  extract:
5
47
  type: gap
6
48
  marker: "→ Gap 発見:"
@@ -64,6 +106,8 @@ post_actions:
64
106
  display_name: "実装できるまで回す"
65
107
  - id: implement
66
108
  display_name: "実装する → Spec 化"
109
+ - id: merge_plain
110
+ display_name: "素の LLM でも回してマージ"
67
111
  - id: later
68
112
  display_name: "後で"
69
113
 
@@ -0,0 +1,58 @@
1
+ name: quick
2
+ display_name: "⚡ クイック — 会話劇で Gap を見つける"
3
+
4
+ trigger_keywords: ["DGE して", "DGE", "壁打ち", "gap を探して"]
5
+
6
+ workflow:
7
+ steps:
8
+ - id: init
9
+ display_name: "Kit 読み込み"
10
+ - id: theme
11
+ display_name: "テーマ確認"
12
+ - id: characters
13
+ display_name: "キャラ選択"
14
+ mode: display_only # 表示のみ、確認しない
15
+ - id: dialogue
16
+ display_name: "会話劇生成"
17
+ - id: save
18
+ display_name: "保存"
19
+ - id: summary
20
+ display_name: "サマリー + 選択肢"
21
+
22
+ must_rules:
23
+ - id: save
24
+ text: "会話劇は保存(無条件)"
25
+ - id: output_table
26
+ text: "Gap 一覧テーブルを出力"
27
+ - id: choices
28
+ text: "一覧の後に番号付き選択肢を提示(省略しない)"
29
+
30
+ extract:
31
+ type: gap
32
+ marker: "→ Gap 発見:"
33
+ format: "Observe / Suggest / Act"
34
+ severity:
35
+ - id: Critical
36
+ display_name: "🔴 Critical"
37
+ - id: High
38
+ display_name: "🟠 High"
39
+ - id: Medium
40
+ display_name: "🟡 Medium"
41
+ - id: Low
42
+ display_name: "🟢 Low"
43
+
44
+ generate: null # quick は Spec 化なし
45
+
46
+ output_dir: dge/sessions/
47
+
48
+ post_actions:
49
+ - id: dge_again
50
+ display_name: "DGE を回す"
51
+ - id: auto_iterate
52
+ display_name: "実装できるまで回す"
53
+ - id: switch_full
54
+ display_name: "詳しくやる → design-review に切替"
55
+ - id: merge_plain
56
+ display_name: "素の LLM でも回してマージ"
57
+ - id: later
58
+ display_name: "後で"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unlaxer/dge-toolkit",
3
- "version": "1.8.0",
3
+ "version": "2.0.0",
4
4
  "description": "DGE (Dialogue-driven Gap Extraction) — 会話劇で設計の穴を発見するメソッドkit",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,340 +1,126 @@
1
1
  <!-- DGE-toolkit (MIT License) -->
2
- <!-- 前提条件: プロジェクトルートに dge/ フォルダが存在すること -->
3
2
 
4
3
  # Skill: DGE Session 実行
5
4
 
6
5
  ## Trigger
7
- ユーザーが以下のいずれかを言ったとき:
8
- - 「DGE して」
9
- - 「会話劇で見直して」
10
- - 「gap を探して」
11
- - 「壁打ちして」
12
- - 「ブレストして」
6
+ - 「DGE して」「会話劇で見直して」「gap を探して」「壁打ちして」「ブレストして」
13
7
  - 「実装できるまで回して」(→ 自動反復モード)
14
8
 
15
- ## 前提条件
16
- - `dge/method.md` が存在すること
17
- - 見つからない場合、session を開始せず install 案内を出す
18
-
19
- ## MUST ルール(必ず守る)
20
- 1. **キャラクター選択はユーザーに提示して確認を得てから進む。** 推奨セットを 1 つ提案し「変更しますか?」と聞く。
21
- 2. **会話劇の全文を画面に表示し、同時に markdown ファイルとして保存する。** 保存はユーザーに聞かず無条件で行う。保存先ディレクトリが存在しない場合のみ確認。デフォルト `dge/sessions/`。**(自動反復モード中は画面サマリーのみ、ファイル保存は MUST)**
22
- 3. **会話劇の後、Gap 一覧テーブルを出力する。** 列: `| # | Gap | Category | Severity |`
23
- 4. **Gap 一覧テーブルの後、必ずユーザーの次のアクション指示を待つ。** Gap の修正・実装・解決に直接進まない。「どの Gap から修正しますか?」とは聞かない。必ず選択肢を先に提示する。**(自動反復モード中のみ例外: 自動で次の iteration に進む)**
24
- 5. **Gap 一覧テーブルの直後に、必ず以下の番号付き選択肢を提示する。** 省略しない。Gap の内容に関わらず毎回同じ選択肢を出す:
25
- ```
26
- 1. DGE を回す 2. 実装できるまで回す 3. 実装する 4. 後で
27
- ```
28
- 6. **初回チェック:** CLAUDE.md に DGE の記述がなければ追記を提案。
29
- 7. **「実装する」を選んだ場合、Critical/High の Gap の Spec を `dge/specs/` に生成してから実装に進む。** Medium は SHOULD。Low は Action Item のみ。
30
- 8. **`dge/specs/` の全ファイルに DGE 生成警告ヘッダと `status: draft` フロントマターを付与する。**
31
- 9. **DGE は `dge/` 内にのみ書き込む。** プロジェクトの docs/ や既存ファイルを直接変更しない(CLAUDE.md 初回提案のみ例外)。
32
- 10. **自動反復モード中、各 iteration の出力をファイルに保存する。** 省略不可。
33
-
34
- ## SHOULD ルール(推奨)
35
- 1. テンプレート候補 1 つなら自動選択して報告。2 つ以上ならユーザーに提示。
36
- 2. Gap 詳細は Observe / Suggest / Act の構造で書く。
37
- 3. 会話劇は 3-5 Scene。先輩(ナレーション)で各 Scene の背景を設定。
38
- 4. サマリー表示時に全文ファイルパスを表示。
39
- 5. Medium の Gap も Spec 化する。
40
- 6. **verify-poc**: コードが存在する場合、会話劇の前にソースを読んで機能一覧を作る(hallucination 防止)。
41
- 7. **audience**: デフォルト engineer。pm / junior が指定されたら出力粒度を変える。
42
- 8. **hallucination check**: 会話劇後、言及された機能がプロジェクトに実在するか確認する。
43
-
44
- ## 判断ルール
45
-
46
- | Step | 条件 | アクション |
47
- |------|------|-----------|
48
- | テーマ確認 | 1 文で明確 | そのまま進む |
49
- | テーマ確認 | 曖昧 | 掘り下げて聞く |
50
- | テンプレート | 候補 1 つ | 自動選択 |
51
- | テンプレート | 候補 2+ | ユーザーに提示 |
52
- | パターン | ユーザー指定なし | テンプレートから自動推奨(patterns.md 参照) |
53
- | パターン | ユーザー指定あり | そのまま使う |
54
- | キャラクター | 常に | ユーザーに確認(例外なし) |
55
- | 保存先 | 初回 or 不在 | ユーザーに確認 |
56
- | 保存先 | 2 回目以降 | 前回と同じ |
57
- | 実装 vs 深掘り | 具体的な実装仕様が書ける | 「実装する」を提案 |
58
- | 実装 vs 深掘り | 未決事項あり | 「DGE を回す」を提案 |
59
- | 自動反復 | 「実装できるまで」と言われた | 自動反復モードに入る |
60
- | 自動反復中 | 新規 Critical/High Gap が 0 | 収束 → Spec 化に遷移 |
61
- | 自動反復中 | iteration が上限(5)に到達 | 停止して結果報告 |
9
+ ## 共通 MUST ルール(全 flow で必ず守る。3 個のみ)
10
+ 1. **会話劇は保存(無条件)。** ユーザーに聞かず保存する。
11
+ 2. **一覧(Gap/アイデア)を出力する。**
12
+ 3. **一覧の後に番号付き選択肢を提示する。省略しない。** Gap の修正や実装に直接進まない。「どの Gap から修正しますか?」とは聞かない。
62
13
 
63
- ## 手順
64
-
65
- ### Step 1: 初回チェックと DGE Kit 読み込み
66
- 1. `dge/method.md` を読む(なければ install 案内)
67
- 2. `dge/characters/catalog.md` を読む(built-in キャラ)
68
- 3. `dge/custom/characters/*.md` があれば各ファイルの Prompt Core セクションを読む(カスタムキャラ)
69
- 4. `dge/patterns.md` を読む
70
- 4. `dge/version.txt` があればバージョンを 1 行表示
71
- 5. CLAUDE.md に DGE の記述があるか確認(MUST-6)
14
+ 追加の MUST は flow YAML に定義されている。flow YAML がなければ上記 3 個のみ。
72
15
 
73
- ### Step 2: テーマを確認
74
- 明確なら Step 3 へ。不明確なら掘り下げる。
16
+ ## 手順
75
17
 
76
- ### Step 3: テンプレートを選択
77
- `dge/templates/` から最も近いテンプレートを選ぶ。
18
+ ### Step 0: flow 自動判定
78
19
 
79
- ### Step 3.5: パターンを選択
80
- テンプレートに応じたプリセットを推奨する:
81
- ```
82
- パターンを選んでください:
83
- 1. 🆕 new-project — 新規プロジェクト
84
- 2. 🔧 feature-extension — 機能追加
85
- 3. 🚀 pre-release — リリース前チェック
86
- 4. 📢 advocacy — 社内提案用
87
- 5. 🔍 comprehensive — 網羅的
88
- 6. カスタム — 20 パターンから選択
89
- ```
90
- テンプレートに対応するプリセットを推奨し「これでいいですか?」と聞く。
91
- ユーザーが指定しなければ自動推奨を使う。
20
+ ユーザーの入力から flow を判定する:
92
21
 
93
- ### Step 4: キャラクターを提案
94
- built-in + カスタムキャラを統合して表示:
95
22
  ```
96
- --- built-in ---
97
- 👤 今泉 🎩 千石 ☕ ヤン 😰 僕 👑 ラインハルト ...
98
- --- カスタム ---(dge/custom/characters/ にあれば)
99
- ガッツ 🔧 田中先輩 ...
100
-
101
- 推奨: [テーマに応じた推奨セット]
102
- 変更しますか?
23
+ "DGE して" のみ / 短い指示 → ⚡ quick
24
+ テンプレート名言及 / "詳しく" / "本格的に" / "Spec" → 🔍 design-review
25
+ "ブレスト" / "アイデア" / "brainstorm" → 💡 brainstorm
26
+ キャラ名のみ言及 quick + キャラ変更
27
+ 設計ドキュメント添付・参照あり → design-review
103
28
  ```
104
- 選択されたキャラの Personality セクションを追加読み込み。
105
- ユーザーが「深い議論にして」と言った場合のみ Backstory も読み込む。
106
- **ユーザーの応答を待つ。**
107
-
108
- ### Step 5: 会話劇を生成
109
- 選択されたパターンに沿って会話劇を生成する。
110
- 各 Scene で先輩(ナレーション)→ キャラクター発言 → Gap 発見マーク。
111
-
112
- ### Step 6: Gap を構造化
113
- 各 Gap に Category と Severity を付与。
114
-
115
- ### Step 7: ファイルに保存 + プロジェクト更新
116
- session 出力を保存。ファイル名は kebab-case。
117
29
 
118
- 保存後、プロジェクトファイルを更新する:
119
- 1. `dge/projects/` 内に該当プロジェクトのファイルがあるか確認
120
- 2. あれば: session パスを追加、Gap 数を再集計、status を更新
121
- 3. なければ: 2 回目以降の session 時に「既存プロジェクトに追加しますか?」と確認
122
- - Yes → プロジェクト選択 → 追加
123
- - No → 「プロジェクト名を付けますか?」→ Yes なら新規作成、No ならスタンドアロン
30
+ 判定した flow を 1 行表示: `Flow: ⚡ クイック`
31
+ `dge/flows/{flow}.yaml` があれば読み込む。なければ下記のデフォルト動作。
124
32
 
125
- ### Step 8: サマリーを表示して判断を待つ
126
- ```
127
- ## DGE 結果サマリー
128
-
129
- **テーマ**: [テーマ]
130
- **パターン**: [使用パターン/プリセット]
131
- **Gap 数**: N 件(Critical: X / High: X / Medium: X / Low: X)
132
-
133
- | # | Gap | Severity |
134
- |---|-----|----------|
135
- (High 以上を表示)
136
-
137
- **全文**: `[ファイルパス]`
138
-
139
- どうしますか?
140
- 1. DGE を回す → 1 回深掘り
141
- 2. 実装できるまで回す → 自動反復モード(最大 5 回)
142
- 3. 実装する → Spec 化してから実装
143
- 4. 素の LLM でも回してマージ → DGE + 素を統合
144
- 5. 後で → 保存したまま終了
145
- ```
146
-
147
- **ユーザーの応答を待つ。**
148
-
149
- ### Step 9: ユーザーの判断に従う
150
-
151
- | 選択 | アクション |
152
- |------|-----------|
153
- | 1 | **Step 9B へ(前回コンテキスト付き深掘り)** |
154
- | 2 | **自動反復モードに入る(Step 9A)** |
155
- | 3 | **Step 10 へ(累積 Spec 化)** |
156
- | 4 | **Step 9C へ(素の LLM マージ)** |
157
- | 5 | 何もしない |
158
-
159
- ### Step 9C: 素の LLM でも回してマージ
160
-
161
- DGE の Gap に加えて、素の LLM の網羅的レビューを統合する。
162
-
163
- 1. **subagent を起動**: 同じ設計ドキュメント/テーマを素の LLM に投げる。プロンプト:
164
- ```
165
- 以下の設計をレビューして。問題点、考慮漏れ、矛盾を全て挙げて。
166
- 各問題に Severity (Critical / High / Medium / Low) をつけて。
167
- テーブル形式で出力: | # | Gap | Category | Severity |
168
-
169
- [設計ドキュメント]
170
- ```
33
+ ### Step 1: Kit 読み込み(全 flow 共通)
34
+ 1. `dge/method.md` を読む(なければ install 案内)
35
+ 2. `dge/characters/catalog.md` を読む
36
+ 3. `dge/custom/characters/*.md` があれば Prompt Core を読む
37
+ 4. `dge/patterns.md` を読む
38
+ 5. `dge/version.txt` があれば 1 行表示
171
39
 
172
- 2. **素の Gap 一覧を取得**
40
+ ### Step 2: テーマ確認(全 flow 共通)
41
+ 明確なら次へ。不明確なら掘り下げる。
173
42
 
174
- 3. **DGE Gap と素の Gap をマージ**:
175
- - 同じ問題を指摘している Gap を「両方」としてまとめる
176
- - DGE にのみ存在する Gap に「DGE のみ」ラベル
177
- - 素にのみ存在する Gap に「素のみ」ラベル
43
+ ### Step 3: テンプレート選択(design-review のみ)
44
+ `dge/templates/` から選択。quick / brainstorm ではスキップ。
178
45
 
179
- 4. **マージ結果を表示**:
180
- ```
181
- ## マージ結果: DGE + 素の LLM
46
+ ### Step 3.5: パターン選択(design-review のみ)
47
+ プリセットを推奨。quick / brainstorm ではスキップ(自動選択)。
182
48
 
183
- | # | Gap | Source | Severity |
184
- |---|-----|--------|----------|
185
- | 1 | [gap] | DGE のみ | High |
186
- | 2 | [gap] | 両方 | High |
187
- | 3 | [gap] | 素のみ | Medium |
188
- | ... |
49
+ ### Step 4: キャラクター提案
50
+ - **quick**: 推奨セットを 1 行表示。確認は求めない。変更したければユーザーが指示。
51
+ `キャラ: 今泉 + 千石 + 僕(変更したい場合は指示してください)`
52
+ - **design-review / brainstorm**: 推奨セットを提示し確認を待つ。
189
53
 
190
- DGE のみ: N 件(深い洞察)
191
- 素のみ: N 件(網羅的チェック)
192
- 両方: N 件(確実に重要)
54
+ built-in + カスタムキャラを統合表示。
193
55
 
194
- どうしますか?
195
- 1. 実装する マージ済み Gap から Spec
196
- 2. 後で
197
- ```
56
+ ### Step 5: 会話劇生成(全 flow 共通)
57
+ - flow の extract.marker を使う(デフォルト: `→ Gap 発見:`、brainstorm: `→ アイデア:`)
58
+ - 先輩(ナレーション)で背景設定 → キャラ対話 → マーカー挿入
198
59
 
199
- 5. **マージ結果をファイルに保存**(`dge/sessions/{theme}-merged.md`)
60
+ ### Step 6: 構造化(flow による)
61
+ - quick / design-review: Gap に Category + Severity を付与
62
+ - brainstorm: アイデアに分類を付与(severity なし)
200
63
 
201
- ### Step 9B: DGE を回す(前回コンテキスト維持 + プロジェクトナビゲーション)
64
+ ### Step 7: 保存(全 flow 共通、MUST)
65
+ flow の output_dir に保存(デフォルト: `dge/sessions/`)。
66
+ プロジェクトファイルがあれば更新。
202
67
 
203
- プロジェクトファイルがあれば TreeView を表示:
68
+ ### Step 8: サマリー + 選択肢(全 flow 共通、MUST)
204
69
 
205
70
  ```
206
- ## プロジェクト: [name]
207
-
208
- ├── ✅ テーマ A(N sessions, Gap: C/H/M/L)
209
- │ └── Spec: [pending | generated | reviewed]
210
- ├── ⬜ テーマ B
211
- └── ⬜ テーマ C
212
-
213
- テーマを選んでください:
214
- 1. ✅ テーマ A → 深掘り or Spec 化
215
- 2. ⬜ テーマ B → 新規 DGE
216
- 3. ⬜ テーマ C → 新規 DGE
217
- 4. 新しいテーマを追加
218
- ```
71
+ ## DGE 結果サマリー
219
72
 
220
- マーク: explored / ⬜ not_started / 🔶 spec_ready / ✔ implemented
73
+ **Flow**: [flow 名]
74
+ **テーマ**: [テーマ]
75
+ **Gap/アイデア数**: N 件
221
76
 
222
- プロジェクトファイルがなければ従来の表示:
77
+ | # | Gap/Idea | Severity |
78
+ |---|---------|----------|
79
+ (主要なものを表示)
223
80
 
224
- ```
225
- 前回の DGE 結果:
226
- Session: [前回のファイルパス]
227
- Gap: N 件(Critical: X / High: X / Medium: X / Low: X)
228
-
229
- テーマを選んでください:
230
- 1. 前回の Critical/High Gap を深掘り(推奨)
231
- 2. 前回の Gap 全体を別角度で再検討
232
- 3. 新しいテーマを指定
81
+ **全文**: `[ファイルパス]`
233
82
  ```
234
83
 
235
- - 深掘り: 前回の C/H Gap から自動テーマ設定 → Step 3
236
- - 別角度: 同テーマ、パターン再選択 → Step 3.5
237
- - 新テーマ / 新テーマ追加: Step 2
238
-
239
- ### Step 9A: 自動反復モード
240
-
241
- 1. パターンを自動ローテーション(1 回目のプリセット → 次のプリセット → comprehensive)
242
- 2. 会話劇を生成 → ファイル保存(MUST)→ 画面にサマリーのみ
243
- 3. 新規 Critical/High Gap を確認:
244
- - あり → 2 に戻る
245
- - なし → 収束。累計サマリーを表示して Step 10 へ
246
- 4. iteration が 5 回に達したら停止:
247
-
84
+ 選択肢は flow YAML post_actions から表示。YAML がない場合のデフォルト:
248
85
  ```
249
- ## 自動反復: 上限到達
250
-
251
- | Iteration | 新規 Gap | Critical | High |
252
- |-----------|---------|----------|------|
253
- | 1 | N | X | X |
254
- | 2 | N | X | X |
255
- | ... |
256
-
257
- 累計: N 件(重複除外)
258
- 全文: dge/sessions/xxx-iter-1.md 〜 xxx-iter-N.md
259
-
260
- どうしますか?
261
- 1. もう少し回す → +3 回追加(hard limit: 8 回)
262
- 2. Spec 化 → Critical/High を Spec に
263
- 3. 後で
86
+ 1. DGE を回す
87
+ 2. 実装できるまで回す
88
+ 3. 実装する
89
+ 4. 素の LLM でも回してマージ
90
+ 5. 後で
264
91
  ```
265
92
 
266
- ### Step 10: 累積 Spec 化(「実装する」選択時)
267
-
268
- **現 session だけでなく、同テーマの過去 session(dge/sessions/ 内)の Gap も統合して Spec 化する。**
269
-
270
- 1. 現 session + 同テーマの過去 session ファイルを読み込む
271
- 2. 全 session から Critical/High の Gap を抽出し、重複を除外する
272
- 3. Gap Category → 成果物マッピングに従い Spec を自動生成
273
- 4. `dge/specs/` に保存(status: draft、DGE 生成警告ヘッダ付き)
274
- 5. Spec 一覧を表示:
93
+ **ユーザーの応答を待つ。**
275
94
 
276
- ```
277
- ## Spec 生成完了
95
+ ### Step 9: ユーザーの判断に従う
278
96
 
279
- 対象: N sessions から M 件の Gap(重複除外後)
97
+ flow YAML post_actions id に応じて分岐:
280
98
 
281
- | ファイル | 種類 | 元 Gap | 元 Session |
282
- |---------|------|-------|-----------|
283
- | UC-xxx.md | Use Case | Gap-1 | session-1.md |
284
- | TECH-xxx.md | Tech Spec | Gap-3 | session-2.md |
99
+ | id | アクション |
100
+ |----|-----------|
101
+ | dge_again | Step 9B(前回コンテキスト + TreeView) |
102
+ | auto_iterate | Step 9A(自動反復) |
103
+ | implement | Step 10(累積 Spec 化) |
104
+ | merge_plain | Step 9C(subagent で素の LLM マージ) |
105
+ | switch_full | flow を design-review に切替えて Step 3 から |
106
+ | switch_review | flow を design-review に切替え |
107
+ | review_ok | output_dir の該当ファイルを completed/ に移動 |
108
+ | later | 終了 |
285
109
 
286
- Medium Gap(N 件)は Spec 化していません。必要なら指示してください。
110
+ ### Step 9A: 自動反復モード
111
+ パターン自動ローテーション → 生成 → 保存 → 収束判定。
112
+ 上限 5 回。+3 追加可能(hard limit 8)。収束で Step 10 へ。
113
+ 自動反復中: 画面はサマリーのみ、ファイル保存は MUST。
287
114
 
288
- どうしますか?
289
- 1. レビューOK status reviewed に更新して実装開始
290
- 2. 修正指示 → Spec を修正
291
- 3. 後で → draft のまま
292
- ```
115
+ ### Step 9B: 前回コンテキスト + プロジェクトナビゲーション
116
+ プロジェクトファイルがあれば TreeView 表示。なければ前回サマリー + 3 択。
293
117
 
294
- 5. レビューOK status `reviewed` に自動更新 → 実装開始
295
- 6. 修正修正して再表示
296
- 7. 後で → draft のまま
297
-
298
- ## Gap Category → 成果物マッピング
299
-
300
- | Gap Category | 主要成果物 | 補助 |
301
- |---|---|---|
302
- | Missing logic | UC + TECH | — |
303
- | Spec-impl mismatch | DQ | ADR |
304
- | Type/coercion gap | TECH | — |
305
- | Error quality | TECH | — |
306
- | Integration gap | TECH | — |
307
- | Test coverage | ACT | — |
308
- | Business gap | ADR / DQ | — |
309
- | Safety gap | TECH + ACT | — |
310
- | Ops gap | ACT | — |
311
- | Message gap | UC | — |
312
- | Legal gap | ADR + ACT | — |
313
-
314
- ## Spec ファイル共通ヘッダ(MUST)
315
- ```yaml
316
- ---
317
- status: draft
318
- source_session: [session パス]
319
- source_gap: [Gap 番号]
320
- migrated_to:
321
- ---
322
- ```
323
- ```
324
- <!-- DGE 生成: この Spec は自動生成された提案です。
325
- 実装前に必ず人間がレビューしてください。
326
- 既存 docs と矛盾する場合、既存 docs が Source of Truth です。 -->
327
- ```
118
+ ### Step 9C: 素の LLM マージ
119
+ subagent で同じテーマを素でレビューDGE Gap とマージ → DGE のみ / 素のみ / 両方 をラベル付け。
328
120
 
329
- ## Spec 種類
330
- - `UC-[name].md` Use Case(Trigger / Actors / Flow / Exceptions / Acceptance Criteria)
331
- - `TECH-[name].md` Tech Spec(変更内容 / API / Data Model / 影響範囲)
332
- - `ADR-NNN-[name].md` — Architecture Decision Record(Context / Options / Decision / Consequences)
333
- - `DQ-[name].md` — Design Question(Context / Options / 決定期限)
334
- - `ACT-[name].md` — Action Item(内容 / 担当)
335
-
336
- ## Spec ライフサイクル
337
- `draft → reviewed → migrated`
121
+ ### Step 10: 累積 Spec 化(design-review のみ)
122
+ 同テーマの全 session Gap を統合 Critical/High Spec `dge/specs/` に保存。
123
+ Spec レビュー: OK reviewed に更新 / 修正 / 後で。
338
124
 
339
125
  ## Severity 判断基準
340
126
 
@@ -345,26 +131,8 @@ migrated_to:
345
131
  | Medium | 品質・UX に影響するが回避策あり |
346
132
  | Low | 改善レベル / nice-to-have |
347
133
 
348
- ## 出力フォーマット
349
-
350
- ### ファイルヘッダ(MUST)
351
- ```markdown
352
- # DGE Session: [テーマ]
353
-
354
- - **日付**: YYYY-MM-DD
355
- - **テーマ**: [テーマ]
356
- - **キャラクター**: [キャラクター]
357
- - **パターン**: [使用パターン/プリセット]
358
- - **テンプレート**: [テンプレート名]
359
- ```
360
-
361
- ### Gap 一覧テーブル(MUST)
362
- `| # | Gap | Category | Severity |`
363
-
364
- ### Gap 詳細(SHOULD)
365
- `### Gap-N: [タイトル]` → Observe / Suggest / Act
366
-
367
134
  ## 注意
368
135
  - 1 Scene 3-5 キャラ発言、1 Session 3-5 Scene
369
136
  - 会話劇 → 人間レビュー の往復が本質
370
- - DGE Spec と既存 docs が矛盾する場合、**既存 docs が Source of Truth**
137
+ - DGE Spec と既存 docs が矛盾する場合、既存 docs が Source of Truth
138
+ - flow YAML がなくても動く(backward compatible)。その場合は quick 相当
package/version.txt CHANGED
@@ -1 +1 @@
1
- 1.8.0
1
+ 2.0.0