@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.
- package/flows/brainstorm.yaml +58 -0
- package/flows/design-review.yaml +44 -0
- package/flows/quick.yaml +58 -0
- package/package.json +1 -1
- package/skills/dge-session.md +83 -315
- package/version.txt +1 -1
|
@@ -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: "後で"
|
package/flows/design-review.yaml
CHANGED
|
@@ -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
|
|
package/flows/quick.yaml
ADDED
|
@@ -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
package/skills/dge-session.md
CHANGED
|
@@ -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
|
-
|
|
17
|
-
|
|
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
|
-
|
|
74
|
-
明確なら Step 3 へ。不明確なら掘り下げる。
|
|
16
|
+
## 手順
|
|
75
17
|
|
|
76
|
-
### Step
|
|
77
|
-
`dge/templates/` から最も近いテンプレートを選ぶ。
|
|
18
|
+
### Step 0: flow 自動判定
|
|
78
19
|
|
|
79
|
-
|
|
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
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
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
|
|
126
|
-
|
|
127
|
-
|
|
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
|
|
40
|
+
### Step 2: テーマ確認(全 flow 共通)
|
|
41
|
+
明確なら次へ。不明確なら掘り下げる。
|
|
173
42
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
- DGE にのみ存在する Gap に「DGE のみ」ラベル
|
|
177
|
-
- 素にのみ存在する Gap に「素のみ」ラベル
|
|
43
|
+
### Step 3: テンプレート選択(design-review のみ)
|
|
44
|
+
`dge/templates/` から選択。quick / brainstorm ではスキップ。
|
|
178
45
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
## マージ結果: DGE + 素の LLM
|
|
46
|
+
### Step 3.5: パターン選択(design-review のみ)
|
|
47
|
+
プリセットを推奨。quick / brainstorm ではスキップ(自動選択)。
|
|
182
48
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
| 3 | [gap] | 素のみ | Medium |
|
|
188
|
-
| ... |
|
|
49
|
+
### Step 4: キャラクター提案
|
|
50
|
+
- **quick**: 推奨セットを 1 行表示。確認は求めない。変更したければユーザーが指示。
|
|
51
|
+
`キャラ: 今泉 + 千石 + 僕(変更したい場合は指示してください)`
|
|
52
|
+
- **design-review / brainstorm**: 推奨セットを提示し確認を待つ。
|
|
189
53
|
|
|
190
|
-
|
|
191
|
-
素のみ: N 件(網羅的チェック)
|
|
192
|
-
両方: N 件(確実に重要)
|
|
54
|
+
built-in + カスタムキャラを統合表示。
|
|
193
55
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
```
|
|
56
|
+
### Step 5: 会話劇生成(全 flow 共通)
|
|
57
|
+
- flow の extract.marker を使う(デフォルト: `→ Gap 発見:`、brainstorm: `→ アイデア:`)
|
|
58
|
+
- 先輩(ナレーション)で背景設定 → キャラ対話 → マーカー挿入
|
|
198
59
|
|
|
199
|
-
|
|
60
|
+
### Step 6: 構造化(flow による)
|
|
61
|
+
- quick / design-review: Gap に Category + Severity を付与
|
|
62
|
+
- brainstorm: アイデアに分類を付与(severity なし)
|
|
200
63
|
|
|
201
|
-
### Step
|
|
64
|
+
### Step 7: 保存(全 flow 共通、MUST)
|
|
65
|
+
flow の output_dir に保存(デフォルト: `dge/sessions/`)。
|
|
66
|
+
プロジェクトファイルがあれば更新。
|
|
202
67
|
|
|
203
|
-
|
|
68
|
+
### Step 8: サマリー + 選択肢(全 flow 共通、MUST)
|
|
204
69
|
|
|
205
70
|
```
|
|
206
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
252
|
-
|
|
253
|
-
|
|
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
|
-
|
|
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
|
-
|
|
97
|
+
flow YAML の post_actions の id に応じて分岐:
|
|
280
98
|
|
|
281
|
-
|
|
|
282
|
-
|
|
283
|
-
|
|
|
284
|
-
|
|
|
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
|
-
|
|
110
|
+
### Step 9A: 自動反復モード
|
|
111
|
+
パターン自動ローテーション → 生成 → 保存 → 収束判定。
|
|
112
|
+
上限 5 回。+3 追加可能(hard limit 8)。収束で Step 10 へ。
|
|
113
|
+
自動反復中: 画面はサマリーのみ、ファイル保存は MUST。
|
|
287
114
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
2. 修正指示 → Spec を修正
|
|
291
|
-
3. 後で → draft のまま
|
|
292
|
-
```
|
|
115
|
+
### Step 9B: 前回コンテキスト + プロジェクトナビゲーション
|
|
116
|
+
プロジェクトファイルがあれば TreeView 表示。なければ前回サマリー + 3 択。
|
|
293
117
|
|
|
294
|
-
|
|
295
|
-
|
|
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
|
-
|
|
330
|
-
|
|
331
|
-
|
|
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
|
|
137
|
+
- DGE Spec と既存 docs が矛盾する場合、既存 docs が Source of Truth
|
|
138
|
+
- flow YAML がなくても動く(backward compatible)。その場合は quick 相当
|
package/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2.0.0
|