@unlaxer/dge-toolkit 1.3.1 → 1.4.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/install.sh +2 -2
- package/package.json +1 -1
- package/skills/dge-character-create.md +206 -0
- package/skills/dge-session.md +20 -4
- package/version.txt +1 -1
package/install.sh
CHANGED
|
@@ -27,7 +27,7 @@ DGE_DIR="${TARGET_DIR}/dge"
|
|
|
27
27
|
if [ -d "${DGE_DIR}" ]; then
|
|
28
28
|
echo " dge/ already exists — skipping (won't overwrite your files)"
|
|
29
29
|
else
|
|
30
|
-
mkdir -p "${DGE_DIR}/characters" "${DGE_DIR}/templates" "${DGE_DIR}/sessions" "${DGE_DIR}/custom" "${DGE_DIR}/projects" "${DGE_DIR}/specs"
|
|
30
|
+
mkdir -p "${DGE_DIR}/characters" "${DGE_DIR}/templates" "${DGE_DIR}/sessions" "${DGE_DIR}/custom/characters" "${DGE_DIR}/projects" "${DGE_DIR}/specs"
|
|
31
31
|
cp "${SRC}/README.md" "${DGE_DIR}/"
|
|
32
32
|
cp "${SRC}/LICENSE" "${DGE_DIR}/"
|
|
33
33
|
cp "${SRC}/method.md" "${DGE_DIR}/"
|
|
@@ -44,7 +44,7 @@ fi
|
|
|
44
44
|
# Copy skill to .claude/skills/
|
|
45
45
|
SKILLS_DIR="${TARGET_DIR}/.claude/skills"
|
|
46
46
|
mkdir -p "${SKILLS_DIR}"
|
|
47
|
-
for SKILL in dge-session.md dge-update.md; do
|
|
47
|
+
for SKILL in dge-session.md dge-update.md dge-character-create.md; do
|
|
48
48
|
if [ -f "${SRC}/skills/${SKILL}" ]; then
|
|
49
49
|
if [ -f "${SKILLS_DIR}/${SKILL}" ]; then
|
|
50
50
|
echo " .claude/skills/${SKILL} already exists — skipping"
|
package/package.json
CHANGED
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
<!-- DGE-toolkit (MIT License) -->
|
|
2
|
+
|
|
3
|
+
# Skill: DGE カスタムキャラクター作成
|
|
4
|
+
|
|
5
|
+
## Trigger
|
|
6
|
+
ユーザーが以下のいずれかを言ったとき:
|
|
7
|
+
- 「キャラを追加して」
|
|
8
|
+
- 「[キャラ名]を追加して」(例: 「ガッツを追加して」)
|
|
9
|
+
- 「オリジナルキャラを作りたい」
|
|
10
|
+
- 「DGE キャラを作って」
|
|
11
|
+
|
|
12
|
+
## モード判定
|
|
13
|
+
- キャラ名 + 出典が含まれる → **名指しモード**
|
|
14
|
+
- 含まれない or 「オリジナル」→ **wizard モード**
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 名指しモード
|
|
19
|
+
|
|
20
|
+
### Step 1: キャラ分析
|
|
21
|
+
ユーザーが指定したキャラ名と出典を元に LLM が分析:
|
|
22
|
+
|
|
23
|
+
1. **axes ベクトル** を推定(0.0-1.0):
|
|
24
|
+
- decision_speed, risk_tolerance, delegation_level, quality_obsession, simplicity_preference
|
|
25
|
+
- communication (enum), conflict_resolution (enum)
|
|
26
|
+
|
|
27
|
+
2. **Prompt Core** を生成(3-5 行の LLM 指示)
|
|
28
|
+
|
|
29
|
+
3. **Personality** を抽出:
|
|
30
|
+
- 価値観(2-3 項目)
|
|
31
|
+
- 口癖・名言(3-5 個)
|
|
32
|
+
- コミュニケーションスタイル(3-4 行)
|
|
33
|
+
- 判断基準(2-3 項目)
|
|
34
|
+
|
|
35
|
+
4. **Backstory** を抽出:
|
|
36
|
+
- 背景(2-3 行)
|
|
37
|
+
- 成長弧(1 行: A → B → C)
|
|
38
|
+
- トラウマ(1-3 項目、各 1 行で「→ DGE でどう効くか」付き)
|
|
39
|
+
- DGE での効果(どんな場面で特に力を発揮するか)
|
|
40
|
+
|
|
41
|
+
5. **Weakness**(2-4 項目)
|
|
42
|
+
|
|
43
|
+
6. **既存キャラとの類似比較**(最も似ているキャラ 1-2 名 + 違い)
|
|
44
|
+
|
|
45
|
+
### Step 2: 確認画面を表示
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
[icon] [name]([source])
|
|
49
|
+
Archetype: [archetype]
|
|
50
|
+
|
|
51
|
+
axes:
|
|
52
|
+
decision_speed: X.XX [説明]
|
|
53
|
+
risk_tolerance: X.XX [説明]
|
|
54
|
+
...
|
|
55
|
+
|
|
56
|
+
名言:
|
|
57
|
+
- 「...」
|
|
58
|
+
- 「...」
|
|
59
|
+
|
|
60
|
+
⚠️ 類似: [既存キャラ名] と似た axis
|
|
61
|
+
違い: [1 行で違いを説明]
|
|
62
|
+
|
|
63
|
+
このキャラクターでいいですか?
|
|
64
|
+
1. OK → 保存
|
|
65
|
+
2. 調整(自然言語で指示: "もっと慎重にして" 等)
|
|
66
|
+
3. 数値直指定(上級者: axes を直接変更)
|
|
67
|
+
4. やり直す
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**MUST: 確認なしで保存しない。必ずユーザーの OK を得る。**
|
|
71
|
+
|
|
72
|
+
### Step 3: 調整(選択肢 2 or 3 の場合)
|
|
73
|
+
|
|
74
|
+
**自然言語調整**: 「もっと慎重にして」→ LLM が axes を再計算して再表示
|
|
75
|
+
**数値直指定**: ユーザーが `decision_speed: 0.60` のように指定 → 反映して再表示
|
|
76
|
+
|
|
77
|
+
調整後に再度確認画面。OK が出るまでループ。
|
|
78
|
+
|
|
79
|
+
### Step 4: 保存
|
|
80
|
+
|
|
81
|
+
`dge/custom/characters/{name}.md` に保存:
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
---
|
|
85
|
+
name: [name]
|
|
86
|
+
source: [source(作者)]
|
|
87
|
+
archetype: [archetype_id]
|
|
88
|
+
icon: [emoji]
|
|
89
|
+
created: YYYY-MM-DD
|
|
90
|
+
axes:
|
|
91
|
+
decision_speed: X.XX
|
|
92
|
+
risk_tolerance: X.XX
|
|
93
|
+
delegation_level: X.XX
|
|
94
|
+
quality_obsession: X.XX
|
|
95
|
+
simplicity_preference: X.XX
|
|
96
|
+
communication: [enum]
|
|
97
|
+
conflict_resolution: [enum]
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
# [icon] [name]([source])
|
|
101
|
+
|
|
102
|
+
## Prompt Core
|
|
103
|
+
[3-5 行]
|
|
104
|
+
|
|
105
|
+
## Personality
|
|
106
|
+
### 価値観
|
|
107
|
+
- ...
|
|
108
|
+
### 口癖・名言
|
|
109
|
+
- 「...」
|
|
110
|
+
### コミュニケーションスタイル
|
|
111
|
+
...
|
|
112
|
+
### 判断基準
|
|
113
|
+
- ...
|
|
114
|
+
|
|
115
|
+
## Backstory
|
|
116
|
+
### 背景
|
|
117
|
+
...
|
|
118
|
+
### 成長弧
|
|
119
|
+
[A → B → C]
|
|
120
|
+
### トラウマ
|
|
121
|
+
- [トラウマ](→ [DGE での効果])
|
|
122
|
+
### DGE での効果
|
|
123
|
+
...
|
|
124
|
+
|
|
125
|
+
## Weakness
|
|
126
|
+
- ...
|
|
127
|
+
|
|
128
|
+
## Similar Characters
|
|
129
|
+
- [キャラ名] — 似: ... / 違: ...
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
保存後: 「[icon] [name] を保存しました。次の DGE session のキャラ選択に表示されます。」
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## wizard モード
|
|
137
|
+
|
|
138
|
+
### Step 1: 基本質問(MUST: 最低 3 問)
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
オリジナルキャラクターを作りましょう。いくつか質問します。
|
|
142
|
+
|
|
143
|
+
1. このキャラの名前は?
|
|
144
|
+
2. どんな場面で活躍しますか?(例: コードレビュー、戦略会議、ユーザー面談)
|
|
145
|
+
3. 性格の核を一言で?(例: 慎重、熱血、皮肉屋、楽観的)
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Step 2: 追加質問(オプション)
|
|
149
|
+
|
|
150
|
+
基本質問の後:
|
|
151
|
+
```
|
|
152
|
+
もっと掘り下げますか?
|
|
153
|
+
1. はい、もっと聞いて → 追加質問へ
|
|
154
|
+
2. もう十分 → 生成へ
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
追加質問プール(ユーザーが「もう十分」と言うまで 1-2 問ずつ出す):
|
|
158
|
+
- 判断は早い方?慎重な方?
|
|
159
|
+
- リスクを取るタイプ?安全策を好む?
|
|
160
|
+
- 他の人に任せる?自分でやる?
|
|
161
|
+
- 口癖や決め台詞はありますか?
|
|
162
|
+
- 怒るとどうなりますか?
|
|
163
|
+
- 褒めるときはどう褒めますか?
|
|
164
|
+
- チームで孤立しやすい?それとも中心にいる?
|
|
165
|
+
- 技術的にこだわるポイントは?
|
|
166
|
+
- 苦手なこと、弱点は?
|
|
167
|
+
- 似ている有名キャラはいますか?(任意)
|
|
168
|
+
|
|
169
|
+
### Step 3: 生成 → 確認 → 保存
|
|
170
|
+
|
|
171
|
+
名指しモードの Step 2-4 と同じ。確認画面 → 調整 → OK → 保存。
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## カスタムキャラの管理
|
|
176
|
+
|
|
177
|
+
### 一覧表示
|
|
178
|
+
「キャラ一覧を見せて」→ built-in 12 キャラ + custom キャラを表示
|
|
179
|
+
|
|
180
|
+
### 削除
|
|
181
|
+
「[キャラ名]を削除して」→ 確認 → `dge/custom/characters/{name}.md` を削除
|
|
182
|
+
|
|
183
|
+
### 編集
|
|
184
|
+
「[キャラ名]を編集して」→ 現在の内容を表示 → 自然言語で調整 → 再保存
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## 読み込みルール(dge-session.md との連携)
|
|
189
|
+
|
|
190
|
+
dge-session.md の Step 1 で:
|
|
191
|
+
1. `dge/characters/catalog.md` を読む(built-in)
|
|
192
|
+
2. `dge/custom/characters/*.md` があれば各ファイルの Prompt Core セクションだけ読む
|
|
193
|
+
|
|
194
|
+
Step 4 のキャラ選択で:
|
|
195
|
+
```
|
|
196
|
+
--- built-in ---
|
|
197
|
+
👤 今泉 🎩 千石 ☕ ヤン 😰 僕 👑 ラインハルト ...
|
|
198
|
+
--- カスタム ---
|
|
199
|
+
⚔ ガッツ 🔧 田中先輩
|
|
200
|
+
|
|
201
|
+
推奨: 今泉 + 千石 + ガッツ
|
|
202
|
+
変更しますか?
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
選択されたキャラの Personality セクションを追加読み込み。
|
|
206
|
+
ユーザーが「深い議論にして」と言った場合のみ Backstory も読み込む。
|
package/skills/dge-session.md
CHANGED
|
@@ -20,8 +20,11 @@
|
|
|
20
20
|
1. **キャラクター選択はユーザーに提示して確認を得てから進む。** 推奨セットを 1 つ提案し「変更しますか?」と聞く。
|
|
21
21
|
2. **会話劇の全文を画面に表示し、同時に markdown ファイルとして保存する。** 保存はユーザーに聞かず無条件で行う。保存先ディレクトリが存在しない場合のみ確認。デフォルト `dge/sessions/`。**(自動反復モード中は画面サマリーのみ、ファイル保存は MUST)**
|
|
22
22
|
3. **会話劇の後、Gap 一覧テーブルを出力する。** 列: `| # | Gap | Category | Severity |`
|
|
23
|
-
4.
|
|
24
|
-
5.
|
|
23
|
+
4. **Gap 一覧テーブルの後、必ずユーザーの次のアクション指示を待つ。** Gap の修正・実装・解決に直接進まない。「どの Gap から修正しますか?」とは聞かない。必ず選択肢を先に提示する。**(自動反復モード中のみ例外: 自動で次の iteration に進む)**
|
|
24
|
+
5. **Gap 一覧テーブルの直後に、必ず以下の番号付き選択肢を提示する。** 省略しない。Gap の内容に関わらず毎回同じ選択肢を出す:
|
|
25
|
+
```
|
|
26
|
+
1. DGE を回す 2. 実装できるまで回す 3. 実装する 4. 後で
|
|
27
|
+
```
|
|
25
28
|
6. **初回チェック:** CLAUDE.md に DGE の記述がなければ追記を提案。
|
|
26
29
|
7. **「実装する」を選んだ場合、Critical/High の Gap の Spec を `dge/specs/` に生成してから実装に進む。** Medium は SHOULD。Low は Action Item のみ。
|
|
27
30
|
8. **`dge/specs/` の全ファイルに DGE 生成警告ヘッダと `status: draft` フロントマターを付与する。**
|
|
@@ -61,8 +64,9 @@
|
|
|
61
64
|
|
|
62
65
|
### Step 1: 初回チェックと DGE Kit 読み込み
|
|
63
66
|
1. `dge/method.md` を読む(なければ install 案内)
|
|
64
|
-
2. `dge/characters/catalog.md`
|
|
65
|
-
3. `dge/
|
|
67
|
+
2. `dge/characters/catalog.md` を読む(built-in キャラ)
|
|
68
|
+
3. `dge/custom/characters/*.md` があれば各ファイルの Prompt Core セクションを読む(カスタムキャラ)
|
|
69
|
+
4. `dge/patterns.md` を読む
|
|
66
70
|
4. `dge/version.txt` があればバージョンを 1 行表示
|
|
67
71
|
5. CLAUDE.md に DGE の記述があるか確認(MUST-6)
|
|
68
72
|
|
|
@@ -87,6 +91,18 @@
|
|
|
87
91
|
ユーザーが指定しなければ自動推奨を使う。
|
|
88
92
|
|
|
89
93
|
### Step 4: キャラクターを提案
|
|
94
|
+
built-in + カスタムキャラを統合して表示:
|
|
95
|
+
```
|
|
96
|
+
--- built-in ---
|
|
97
|
+
👤 今泉 🎩 千石 ☕ ヤン 😰 僕 👑 ラインハルト ...
|
|
98
|
+
--- カスタム ---(dge/custom/characters/ にあれば)
|
|
99
|
+
⚔ ガッツ 🔧 田中先輩 ...
|
|
100
|
+
|
|
101
|
+
推奨: [テーマに応じた推奨セット]
|
|
102
|
+
変更しますか?
|
|
103
|
+
```
|
|
104
|
+
選択されたキャラの Personality セクションを追加読み込み。
|
|
105
|
+
ユーザーが「深い議論にして」と言った場合のみ Backstory も読み込む。
|
|
90
106
|
**ユーザーの応答を待つ。**
|
|
91
107
|
|
|
92
108
|
### Step 5: 会話劇を生成
|
package/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.4.0
|