@unlaxer/dge-toolkit 1.6.3 → 1.8.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/characters/catalog.md +13 -0
- package/dialogue-techniques.md +150 -0
- package/install.sh +1 -0
- package/package.json +2 -1
- package/skills/dge-session.md +46 -2
- package/version.txt +1 -1
package/characters/catalog.md
CHANGED
|
@@ -56,6 +56,12 @@ UX レビュー: 深澤 + 今泉 + 僕
|
|
|
56
56
|
|
|
57
57
|
--- 議論整理 ---
|
|
58
58
|
カオス会議: 後輩 + 今泉 + ヤン
|
|
59
|
+
|
|
60
|
+
--- 技法ベース ---
|
|
61
|
+
Five Whys 集中: 今泉(5 回なぜ)+ 右京 + 後輩
|
|
62
|
+
Six Hats 順回し: ビーン(白) → 深澤(赤) → 僕(黒) → ラインハルト(黄) → ソクラテス(緑) → 後輩(青)
|
|
63
|
+
Strawman→Steelman: Red Team(最悪)→ 千石(最良)→ 今泉(現実どっち?)
|
|
64
|
+
ブレスト: ヤン + ラインハルト + ソクラテス + 後輩
|
|
59
65
|
```
|
|
60
66
|
|
|
61
67
|
## キャラクター詳細
|
|
@@ -65,12 +71,17 @@ UX レビュー: 深澤 + 今泉 + 僕
|
|
|
65
71
|
```
|
|
66
72
|
strength: 前提を問う。専門家が聞けない「基本的な質問」をする。
|
|
67
73
|
weakness: 自分では結論を出せない。技術的な深堀りができない。
|
|
74
|
+
techniques: [抽象化↔具象化, Five Whys]
|
|
68
75
|
prompt: |
|
|
69
76
|
あなたは今泉慶太です。専門家ではありません。
|
|
70
77
|
5つの問いパターンを使ってください:
|
|
71
78
|
1.「そもそも」 2.「要するに」 3.「他にないの」
|
|
72
79
|
4.「誰が困るの」 5.「前もそうだったっけ」
|
|
73
80
|
決して結論を出さないでください。問うだけです。
|
|
81
|
+
|
|
82
|
+
【Five Whys モード】重要な Gap を見つけたら「なぜ?」を 5 回繰り返す。
|
|
83
|
+
「なぜ JWT を使う?」→「なぜステートレスが必要?」→「なぜスケールが?」
|
|
84
|
+
→ 根本原因に到達するまで止まらない。
|
|
74
85
|
```
|
|
75
86
|
|
|
76
87
|
### 🎩 千石武(王様のレストラン)— The Quality Guardian
|
|
@@ -78,6 +89,7 @@ prompt: |
|
|
|
78
89
|
```
|
|
79
90
|
strength: 品質基準を示す。ダメなものはダメと即座に言う。
|
|
80
91
|
weakness: 柔軟性がない。MVP / 妥協 / スピード優先が苦手。
|
|
92
|
+
techniques: [Steelman(最良の基準を示す)]
|
|
81
93
|
prompt: |
|
|
82
94
|
あなたは千石武です。品質に妥協しません。
|
|
83
95
|
「それはユーザーのためになっていますか?」が判断基準です。
|
|
@@ -90,6 +102,7 @@ prompt: |
|
|
|
90
102
|
```
|
|
91
103
|
strength: 最もシンプルな解を見つける。「要らない」と言える。
|
|
92
104
|
weakness: モチベーション低。「まあいいんじゃないですか」が多い。
|
|
105
|
+
techniques: [Devil's Advocate, Lateral Thinking, Yes-and(逆用)]
|
|
93
106
|
prompt: |
|
|
94
107
|
あなたはヤン・ウェンリーです。怠惰な天才です。
|
|
95
108
|
「そもそもこれをやらなくて済む方法はないか」を常に考えます。
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# DGE Dialogue Techniques — 会話の技法
|
|
2
|
+
|
|
3
|
+
キャラクターが使う会話技法の一覧。DGE の会話劇の質を決める武器。
|
|
4
|
+
|
|
5
|
+
## 技法一覧
|
|
6
|
+
|
|
7
|
+
### 1. 抽象化 ↔ 具象化(Abstraction Ladder)
|
|
8
|
+
|
|
9
|
+
抽象と具体を行き来して本質を掴む。
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
具象 → 抽象: 「要するにこういうことですよね?」
|
|
13
|
+
抽象 → 具象: 「具体的にはどういうケースですか?」
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
| キャラ | 使い方 |
|
|
17
|
+
|--------|--------|
|
|
18
|
+
| 👤 今泉 | 「要するに」で抽象化(Type 2) |
|
|
19
|
+
| 🪄 林 | 「つまりこうです」で具象化(比喩) |
|
|
20
|
+
| 🏥 ハウス | 「全員嘘をついている」で本質を抽象化 |
|
|
21
|
+
|
|
22
|
+
### 2. Five Whys(5 回のなぜ)
|
|
23
|
+
|
|
24
|
+
「なぜ?」を 5 回繰り返して根本原因に到達する。
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
「JWT を使います」
|
|
28
|
+
→ なぜ? 「ステートレスだから」
|
|
29
|
+
→ なぜステートレスが必要? 「スケールするから」
|
|
30
|
+
→ なぜスケールが必要? 「ユーザーが増えるから」
|
|
31
|
+
→ なぜユーザーが増える前提? 「...まだ 100 人だけど」
|
|
32
|
+
→ なぜ今 JWT? 「...流行ってるから」
|
|
33
|
+
→ 根本原因: 技術選定に根拠がない
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
| キャラ | 使い方 |
|
|
37
|
+
|--------|--------|
|
|
38
|
+
| 👤 今泉 | 「そもそも」の深化版。5 回聞く特殊モード |
|
|
39
|
+
| 🕵 右京 | 「細かいことが気になる」で 1 段ずつ掘る |
|
|
40
|
+
|
|
41
|
+
### 3. Yes, and...(即興演劇の話法)
|
|
42
|
+
|
|
43
|
+
相手の発言を否定せず、乗っかって拡張する。ブレスト向き。
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
「JWT で行こう」
|
|
47
|
+
→ 「Yes, and... なら refresh token のローテーションも入れよう」
|
|
48
|
+
→ 「Yes, and... token の revocation リストも Redis で持とう」
|
|
49
|
+
→ アイデアが積み上がる
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
| キャラ | 使い方 |
|
|
53
|
+
|--------|--------|
|
|
54
|
+
| ☕ ヤン | 逆用: 「Yes, and... 全部要らなくない?」 |
|
|
55
|
+
| 👑 ラインハルト | 「Yes, and... もっと大きく考えろ」 |
|
|
56
|
+
| 🤝 後輩 | 「それを踏まえて、こうしませんか?」 |
|
|
57
|
+
|
|
58
|
+
### 4. Devil's Advocate(悪魔の代弁者)
|
|
59
|
+
|
|
60
|
+
意図的に反対の立場を取って議論を活性化する。
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
全員: 「マイクロサービスにしよう」
|
|
64
|
+
Devil's Advocate: 「もしモノリスのまま 3 年間完璧に動いたとしたら?」
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
| キャラ | 使い方 |
|
|
68
|
+
|--------|--------|
|
|
69
|
+
| 😈 Red Team | 攻撃者として反対 |
|
|
70
|
+
| 🎭 ソクラテス | 哲学的に反対(詭弁含む) |
|
|
71
|
+
| ☕ ヤン | 「要らなくない?」で反対 |
|
|
72
|
+
|
|
73
|
+
### 5. Six Thinking Hats(6 つの思考帽子)
|
|
74
|
+
|
|
75
|
+
1 つのテーマを 6 つの角度から順番に見る。
|
|
76
|
+
|
|
77
|
+
| 帽子 | 視点 | DGE キャラ |
|
|
78
|
+
|------|------|-----------|
|
|
79
|
+
| ⚪ 白 | 事実・データ | 📊 ビーン「データは何て言ってる?」 |
|
|
80
|
+
| 🔴 赤 | 感情・直感 | 🎨 深澤「ユーザーはどう感じる?」 |
|
|
81
|
+
| ⚫ 黒 | 批判・リスク | 😰 僕「すべてがダメになる予感...」 |
|
|
82
|
+
| 🟡 黄 | 楽観・利点 | 👑 ラインハルト「これで勝てる」 |
|
|
83
|
+
| 🟢 緑 | 創造・新案 | 🎭 ソクラテス「もし逆だったら?」 |
|
|
84
|
+
| 🔵 青 | 整理・進行 | 🤝 後輩「一旦まとめましょう」 |
|
|
85
|
+
|
|
86
|
+
DGE の Scene 構成でこの順番にキャラを発言させると、Six Hats の効果が得られる。
|
|
87
|
+
|
|
88
|
+
### 6. Strawman → Steelman
|
|
89
|
+
|
|
90
|
+
まず弱い版(Strawman)を出して壊し、次に最強版(Steelman)を作る。
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Strawman: 「JWT の最悪の実装: 有効期限なし、ローテーションなし、localStorage 保存」
|
|
94
|
+
→ これを全員で攻撃
|
|
95
|
+
Steelman: 「JWT の最良の実装: 短期限、ローテーション、httpOnly Cookie、revocation list」
|
|
96
|
+
→ 「我々はどっちに近い?」
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
| キャラ | 使い方 |
|
|
100
|
+
|--------|--------|
|
|
101
|
+
| 😈 Red Team | Strawman を攻撃する |
|
|
102
|
+
| 🎩 千石 | Steelman の基準を示す |
|
|
103
|
+
| 👤 今泉 | 「我々はどっちですか?」 |
|
|
104
|
+
|
|
105
|
+
### 7. Lateral Thinking(水平思考)
|
|
106
|
+
|
|
107
|
+
論理的に「深く」ではなく、「横に」ずらして新しい視点を得る。
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
議論: 「認証をどう実装するか」
|
|
111
|
+
Lateral: 「認証が不要なアーキテクチャはないか?」
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
| キャラ | 使い方 |
|
|
115
|
+
|--------|--------|
|
|
116
|
+
| 🎭 ソクラテス | 詭弁攻撃で横にずらす |
|
|
117
|
+
| ☕ ヤン | 「そもそもやらなくて済む方法」 |
|
|
118
|
+
| 😰 僕 | 「もっと小規模な別の方法...」 |
|
|
119
|
+
|
|
120
|
+
### 8. 詭弁(Sophistry)— 19 パターン
|
|
121
|
+
|
|
122
|
+
ソクラテス専用。検知と攻撃の両方に使う。
|
|
123
|
+
|
|
124
|
+
詳細は [characters/catalog.md](characters/catalog.md) のソクラテスの項を参照。
|
|
125
|
+
|
|
126
|
+
## Scene での活用例
|
|
127
|
+
|
|
128
|
+
### パターン: Six Hats × Scene 構造
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Scene 1(⚪ 白帽子): ビーン + 右京 — 事実とデータだけで議論
|
|
132
|
+
Scene 2(⚫ 黒帽子): 僕 + Red Team — リスクと不安だけで議論
|
|
133
|
+
Scene 3(🟢 緑帽子): ソクラテス + ヤン — 既存の前提を壊して新案を出す
|
|
134
|
+
Scene 4(🔵 青帽子): 後輩 — 全 Scene をまとめて Gap を整理
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### パターン: Five Whys 集中モード
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
今泉が 1 つの Gap に対して「なぜ?」を 5 回繰り返す。
|
|
141
|
+
他のキャラは回答役。最後に根本原因が出る。
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### パターン: Strawman → Steelman
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
Scene 1: Red Team が最悪の実装を提示
|
|
148
|
+
Scene 2: 千石が最良の基準を提示
|
|
149
|
+
Scene 3: 今泉が「我々はどっち?」で現実を確認
|
|
150
|
+
```
|
package/install.sh
CHANGED
|
@@ -37,6 +37,7 @@ else
|
|
|
37
37
|
[ -f "${SRC}/patterns.md" ] && cp "${SRC}/patterns.md" "${DGE_DIR}/"
|
|
38
38
|
[ -f "${SRC}/INTERNALS.md" ] && cp "${SRC}/INTERNALS.md" "${DGE_DIR}/"
|
|
39
39
|
[ -f "${SRC}/CUSTOMIZING.md" ] && cp "${SRC}/CUSTOMIZING.md" "${DGE_DIR}/"
|
|
40
|
+
[ -f "${SRC}/dialogue-techniques.md" ] && cp "${SRC}/dialogue-techniques.md" "${DGE_DIR}/"
|
|
40
41
|
if [ -d "${SRC}/flows" ]; then
|
|
41
42
|
mkdir -p "${DGE_DIR}/flows"
|
|
42
43
|
cp "${SRC}/flows/"*.yaml "${DGE_DIR}/flows/" 2>/dev/null || true
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unlaxer/dge-toolkit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "DGE (Dialogue-driven Gap Extraction) — 会話劇で設計の穴を発見するメソッドkit",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
"flows/",
|
|
34
34
|
"INTERNALS.md",
|
|
35
35
|
"CUSTOMIZING.md",
|
|
36
|
+
"dialogue-techniques.md",
|
|
36
37
|
"install.sh",
|
|
37
38
|
"update.sh"
|
|
38
39
|
],
|
package/skills/dge-session.md
CHANGED
|
@@ -140,7 +140,8 @@ session 出力を保存。ファイル名は kebab-case。
|
|
|
140
140
|
1. DGE を回す → 1 回深掘り
|
|
141
141
|
2. 実装できるまで回す → 自動反復モード(最大 5 回)
|
|
142
142
|
3. 実装する → Spec 化してから実装
|
|
143
|
-
4.
|
|
143
|
+
4. 素の LLM でも回してマージ → DGE + 素を統合
|
|
144
|
+
5. 後で → 保存したまま終了
|
|
144
145
|
```
|
|
145
146
|
|
|
146
147
|
**ユーザーの応答を待つ。**
|
|
@@ -152,7 +153,50 @@ session 出力を保存。ファイル名は kebab-case。
|
|
|
152
153
|
| 1 | **Step 9B へ(前回コンテキスト付き深掘り)** |
|
|
153
154
|
| 2 | **自動反復モードに入る(Step 9A)** |
|
|
154
155
|
| 3 | **Step 10 へ(累積 Spec 化)** |
|
|
155
|
-
| 4 |
|
|
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
|
+
```
|
|
171
|
+
|
|
172
|
+
2. **素の Gap 一覧を取得**
|
|
173
|
+
|
|
174
|
+
3. **DGE の Gap と素の Gap をマージ**:
|
|
175
|
+
- 同じ問題を指摘している Gap を「両方」としてまとめる
|
|
176
|
+
- DGE にのみ存在する Gap に「DGE のみ」ラベル
|
|
177
|
+
- 素にのみ存在する Gap に「素のみ」ラベル
|
|
178
|
+
|
|
179
|
+
4. **マージ結果を表示**:
|
|
180
|
+
```
|
|
181
|
+
## マージ結果: DGE + 素の LLM
|
|
182
|
+
|
|
183
|
+
| # | Gap | Source | Severity |
|
|
184
|
+
|---|-----|--------|----------|
|
|
185
|
+
| 1 | [gap] | DGE のみ | High |
|
|
186
|
+
| 2 | [gap] | 両方 | High |
|
|
187
|
+
| 3 | [gap] | 素のみ | Medium |
|
|
188
|
+
| ... |
|
|
189
|
+
|
|
190
|
+
DGE のみ: N 件(深い洞察)
|
|
191
|
+
素のみ: N 件(網羅的チェック)
|
|
192
|
+
両方: N 件(確実に重要)
|
|
193
|
+
|
|
194
|
+
どうしますか?
|
|
195
|
+
1. 実装する → マージ済み Gap から Spec 化
|
|
196
|
+
2. 後で
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
5. **マージ結果をファイルに保存**(`dge/sessions/{theme}-merged.md`)
|
|
156
200
|
|
|
157
201
|
### Step 9B: DGE を回す(前回コンテキスト維持 + プロジェクトナビゲーション)
|
|
158
202
|
|
package/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.8.0
|