yodogawa 2.0.0 → 2.1.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.
Files changed (75) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +60 -22
  3. package/bin/cli.js +3 -7
  4. package/package.json +1 -1
  5. package/skills/a-001-setup-doc-structure/SKILL.md +67 -100
  6. package/skills/a-001-setup-doc-structure/reference/directory-structure.md +52 -0
  7. package/skills/a-002-initialize-project/SKILL.md +124 -289
  8. package/skills/a-002-initialize-project/examples/nfr-baseline.md +38 -0
  9. package/skills/a-002-initialize-project/reference/hearing-questions.md +92 -0
  10. package/skills/a-002-initialize-project/reference/structure-check.md +48 -0
  11. package/skills/a-003-create-scenarios/SKILL.md +99 -142
  12. package/skills/a-003-create-scenarios/examples/gherkin-templates.md +71 -0
  13. package/skills/a-003-create-scenarios/reference/structure-check.md +46 -0
  14. package/skills/a-004-define-domain-model/SKILL.md +99 -144
  15. package/skills/a-004-define-domain-model/reference/event-storming-guide.md +71 -0
  16. package/skills/a-005-create-domain-diagram/SKILL.md +94 -120
  17. package/skills/a-005-create-domain-diagram/examples/mermaid-templates.md +73 -0
  18. package/skills/a-005-create-domain-diagram/reference/structure-check.md +43 -0
  19. package/skills/a-006-review-requirements-domain/SKILL.md +85 -144
  20. package/skills/a-006-review-requirements-domain/examples/review-report-template.md +58 -0
  21. package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +60 -0
  22. package/skills/a-007-define-tech-stack/SKILL.md +102 -130
  23. package/skills/a-007-define-tech-stack/examples/stack-interview.md +83 -0
  24. package/skills/a-007-define-tech-stack/reference/structure-check.md +51 -0
  25. package/skills/a-008-define-repository-structure/SKILL.md +99 -129
  26. package/skills/a-008-define-repository-structure/examples/structure-templates.md +108 -0
  27. package/skills/a-008-define-repository-structure/reference/structure-check.md +55 -0
  28. package/skills/a-009-define-screen-design/SKILL.md +106 -130
  29. package/skills/a-009-define-screen-design/examples/screen-templates.md +66 -0
  30. package/skills/a-009-define-screen-design/reference/structure-check.md +47 -0
  31. package/skills/a-010-define-design-system/SKILL.md +134 -212
  32. package/skills/a-010-define-design-system/examples/css-tokens.md +71 -0
  33. package/skills/a-010-define-design-system/reference/component-catalog.md +44 -0
  34. package/skills/a-011-define-data-model/SKILL.md +121 -134
  35. package/skills/a-011-define-data-model/examples/erd-templates.md +108 -0
  36. package/skills/a-011-define-data-model/reference/structure-check.md +56 -0
  37. package/skills/a-012-define-api-spec/SKILL.md +108 -132
  38. package/skills/a-012-define-api-spec/examples/api-templates.md +117 -0
  39. package/skills/a-012-define-api-spec/reference/structure-check.md +49 -0
  40. package/skills/a-013-define-architecture/SKILL.md +101 -128
  41. package/skills/a-013-define-architecture/examples/architecture-templates.md +98 -0
  42. package/skills/a-013-define-architecture/reference/structure-check.md +53 -0
  43. package/skills/a-014-define-infrastructure/SKILL.md +113 -130
  44. package/skills/a-014-define-infrastructure/examples/infrastructure-templates.md +97 -0
  45. package/skills/a-014-define-infrastructure/reference/structure-check.md +63 -0
  46. package/skills/a-015-review-design/SKILL.md +88 -140
  47. package/skills/a-015-review-design/examples/review-report-template.md +59 -0
  48. package/skills/a-015-review-design/reference/consistency-checks.md +47 -0
  49. package/skills/b-001-create-task-directory/SKILL.md +68 -78
  50. package/skills/b-001-create-task-directory/examples/naming-convention.md +39 -0
  51. package/skills/b-002-create-task-definition/SKILL.md +115 -172
  52. package/skills/b-002-create-task-definition/examples/hearing-and-criteria.md +49 -0
  53. package/skills/b-002-create-task-definition/reference/structure-check.md +42 -0
  54. package/skills/b-003-create-task-research/SKILL.md +130 -454
  55. package/skills/b-003-create-task-research/examples/research-tables.md +63 -0
  56. package/skills/b-003-create-task-research/reference/investigation-guide.md +106 -0
  57. package/skills/b-004-create-task-implementation/SKILL.md +97 -100
  58. package/skills/b-004-create-task-implementation/examples/phase-step-template.md +57 -0
  59. package/skills/b-004-create-task-implementation/reference/structure-check.md +34 -0
  60. package/skills/b-005-review-task/SKILL.md +117 -324
  61. package/skills/b-005-review-task/examples/review-report-template.md +62 -0
  62. package/skills/b-005-review-task/reference/assessment-criteria.md +79 -0
  63. package/skills/b-005-review-task/reference/consistency-checks.md +69 -0
  64. package/skills/c-001-implement-task/SKILL.md +186 -521
  65. package/skills/c-001-implement-task/examples/commit-and-pr.md +92 -0
  66. package/skills/c-001-implement-task/examples/task-list-format.md +50 -0
  67. package/skills/c-001-implement-task/reference/implementation-loop.md +65 -0
  68. package/skills/c-001-implement-task/reference/validation-loop.md +66 -0
  69. package/skills/c-002-update-documentation/SKILL.md +159 -853
  70. package/skills/c-002-update-documentation/examples/project-doc-updates.md +190 -0
  71. package/skills/c-002-update-documentation/examples/task-doc-updates.md +102 -0
  72. package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +100 -0
  73. package/templates/tasks/task-template/a-definition.md +1 -1
  74. package/templates/tasks/task-template/b-research.md +1 -1
  75. package/templates/tasks/task-template/c-implementation.md +2 -2
@@ -1,521 +1,186 @@
1
- ---
2
- name: c-001-implement-task
3
- description: 実装タスクリストの各ステップを順次実行し、テスト・レビューを経て機能を完成させるワークフロー(speckit.implementスタイル)
4
- auto_execution_mode: 1
5
- ---
6
-
7
- # ImplementTask (c-001)
8
-
9
- ## 目的
10
-
11
- - 実装タスクリスト(`c-implementation.md`)の各ステップを順次実行する。
12
- - 各ステップの成果物を確実に作成し、実装漏れを防止する。
13
- - ステップごとにテストを実行し、受け入れ基準を満たすことを確認する。
14
- - フェーズごとに進捗を管理し、完了状態を可視化する。
15
- - TDD(テスト駆動開発)アプローチに従い、品質を担保する。
16
-
17
- ## 前提
18
-
19
- - タスクディレクトリが既に作成されていること(`/b-000-CreateTaskDirectory` で作成済み)
20
- - タスク定義ドキュメント(`a-definition.md`)が作成されていること
21
- - リサーチドキュメント(`b-research.md`)が作成されていること
22
- - 実装タスクリスト(`c-implementation.md`)が作成されていること(`/b-003-CreateTaskImplementation` で作成済み)
23
- - タスクディレクトリ形式: `docs/tasks/task000001-{スラッグ}/`
24
- - 開発環境がセットアップされていること(必要なツール、ライブラリがインストール済み)
25
- - Git リポジトリが初期化されていること
26
-
27
- ## Spec-Kit スタイルの実行フロー
28
-
29
- このワークフローは 、以下の原則に従います:
30
-
31
- 1. **仕様駆動開発**: タスク定義とリサーチドキュメントが実行可能な仕様として機能
32
- 2. **段階的な実装**: 一度にすべてを実装せず、ステップごとに進める
33
- 3. **依存関係の尊重**: ステップの順序を守り、前のステップの完了を確認してから次へ
34
- 4. **並列実行の最適化**: 依存関係のないステップは並列実行を検討
35
- 5. **テスト駆動開発**: 各ステップで適切なテストを実行
36
- 6. **継続的な検証**: 受け入れ基準を常に確認
37
-
38
- ## 手順
39
-
40
- ### 1. 実装前の検証
41
-
42
- #### 1.1. 必須ドキュメントの存在確認
43
-
44
- **検証項目**:
45
-
46
- - [ ] タスク定義ドキュメント(`a-definition.md`)が存在するか
47
- - [ ] リサーチドキュメント(`b-research.md`)が存在するか
48
- - [ ] 実装タスクリスト(`c-implementation.md`)が存在するか
49
-
50
- **検証方法**:
51
-
52
- - Read ツールで各ドキュメントを確認
53
- - いずれかが存在しない場合、該当するワークフローを実行するよう促す
54
-
55
- #### 1.2. 実装タスクリストの読み込み
56
-
57
- - タスクディレクトリ内の `c-implementation.md` を読み込む
58
- - 例: `docs/tasks/task000001-email-verification/c-implementation.md`
59
-
60
- 確認すべき内容:
61
-
62
- - **フェーズ一覧**: 実装を何フェーズに分けるか
63
- - **各フェーズの目的と完了条件**
64
- - **各フェーズのステップ一覧**
65
- - **各ステップの成果物と詳細**
66
- - **受け入れ基準**
67
-
68
- #### 1.3. 開発環境の確認
69
-
70
- **質問1: 開発環境の準備**
71
-
72
- - 「開発環境は準備できていますか?」
73
- - 必要なツールの確認:
74
- - Node.js, npm/yarn/pnpm(フロントエンドの場合)
75
- - Python, pip/poetry(Python の場合)
76
- - .NET SDK(C# の場合)
77
- - データベース(PostgreSQL, MySQL, SQLite など)
78
- - その他、タスク固有のツール
79
-
80
- **確認コマンド例**:
81
-
82
- ```bash
83
- node --version
84
- npm --version
85
- git --version
86
- ```
87
-
88
- #### 1.4. Git 状態の確認
89
-
90
- - 現在のブランチを確認
91
- - 未コミットの変更がないかチェック
92
-
93
- ```bash
94
- git status
95
- git branch --show-current
96
- ```
97
-
98
- **質問2: ブランチ戦略**
99
-
100
- - 「このタスク用の新しいブランチを作成しますか?」
101
- - 推奨ブランチ名: `task/{task-id}` または `feature/{スラッグ}`
102
- - 例: `task/task000001-email-verification`
103
-
104
- ### 2. 実装の実行
105
-
106
- #### 2.1. 現在のフェーズとステップの特定
107
-
108
- **質問3: 開始位置**
109
-
110
- - 「どのフェーズ、どのステップから開始しますか?」
111
- - デフォルト: フェーズ 1、ステップ 1
112
-
113
- 実装タスクリストの構造を解析:
114
-
115
- ```markdown
116
- ## フェーズ 1: データモデルと API の実装
117
-
118
- ### ステップ
119
-
120
- - [ ] **ステップ 1:** データベーススキーマの定義
121
- - **成果物:** `migrations/001_create_users_table.sql`
122
- - **詳細:** User テーブルに `email_verified`, ...
123
-
124
- - [ ] **ステップ 2:** TypeScript 型定義の追加
125
- - **成果物:** `src/types/User.ts`
126
- - **詳細:** `User` インターフェースに...
127
- ```
128
-
129
- #### 2.2. ステップの実行ループ
130
-
131
- 各ステップについて、以下を順次実行:
132
-
133
- **ステップ実行の流れ**:
134
-
135
- 1. **ステップ情報の表示**
136
- - 「実行中: フェーズ {N}、ステップ {M}」
137
- - ステップ名、成果物、詳細を表示
138
-
139
- 2. **依存関係の確認**
140
- - 前のステップが完了しているか確認
141
- - 必要な前提条件が満たされているか確認
142
-
143
- 3. **実装の実行**
144
- - 成果物のファイルを作成または編集
145
- - リサーチドキュメントのベストプラクティスに従う
146
- - 再利用可能なコンポーネントを活用
147
-
148
- 4. **コードの説明**
149
- - 実装した内容を簡潔に説明
150
- - 重要な技術的決定を記録
151
-
152
- 5. **ローカルテストの実行**
153
- - 適切なテストコマンドを実行
154
- - TypeScript の場合: `npm run type-check` または `tsc --noEmit`
155
- - ユニットテストの場合: `npm test` または `pytest`
156
- - リンターの場合: `npm run lint`
157
-
158
- 6. **エラーハンドリング**
159
- - エラーが発生した場合、修正を試みる
160
- - 修正できない場合、ユーザーに報告し、ガイダンスを求める
161
-
162
- 7. **ステップの完了マーク**
163
- - 実装タスクリスト(`c-implementation.md`)のチェックボックスを更新
164
- - `- [ ]` → `- [x]` に変更
165
-
166
- 8. **Git コミット(オプション)**
167
- - ステップごとにコミットするか確認
168
- - コミットメッセージ例: `feat(task-{id}): {ステップ名}`
169
-
170
- #### 2.3. 並列実行の最適化
171
-
172
- **質問4: 並列実行可能なステップ**
173
-
174
- - 「依存関係のないステップは並列実行しますか?」
175
- - 例: フロントエンドとバックエンドのステップが独立している場合
176
-
177
- 並列実行可能なステップの例:
178
-
179
- ```markdown
180
- - [ ] **ステップ 3:** [P] フロントエンドコンポーネント作成
181
- - [ ] **ステップ 4:** [P] バックエンド API 実装
182
- ```
183
-
184
- `[P]` マークがついたステップは並列実行可能。
185
-
186
- ### 3. フェーズごとの受け入れ基準の確認
187
-
188
- #### 3.1. フェーズ完了時のチェック
189
-
190
- 各フェーズの全ステップが完了したら、受け入れ基準を確認:
191
-
192
- **質問5: 受け入れ基準の確認**
193
-
194
- - 「フェーズ {N} の受け入れ基準を確認します。」
195
-
196
- 実装タスクリストから受け入れ基準を抽出:
197
-
198
- ```markdown
199
- ### フェーズ 1 の受け入れ基準
200
- - [ ] データベースマイグレーションが成功する
201
- - [ ] 型定義が正しく適用される(TypeScript コンパイルエラーなし)
202
- - [ ] メール送信 API がトークンを生成し、メールを送信する
203
- - [ ] 無効なトークンでアクセスした場合、エラーが返る
204
- - [ ] トークンの有効期限切れが正しく検出される
205
- ```
206
-
207
- #### 3.2. 受け入れ基準のテスト実行
208
-
209
- 各受け入れ基準について:
210
-
211
- 1. **自動テストの実行**
212
- - ユニットテスト: `npm test`
213
- - 統合テスト: `npm run test:integration`
214
- - E2E テスト: `npm run test:e2e`
215
-
216
- 2. **手動確認が必要な項目**
217
- - 「手動で確認が必要な項目があります:」
218
- - ユーザーに確認を依頼
219
-
220
- 3. **結果の記録**
221
- - 実装タスクリスト(`c-implementation.md`)の受け入れ基準チェックボックスを更新
222
- - `- [ ]` → `- [x]` に変更
223
-
224
- #### 3.3. フェーズ完了のコミット
225
-
226
- **質問6: フェーズ完了のコミット**
227
-
228
- - 「フェーズ {N} が完了しました。コミットしますか?」
229
-
230
- コミットメッセージ例:
231
-
232
- ```
233
- feat(task-{id}): complete phase {N} - {フェーズ名}
234
-
235
- - {ステップ1の概要}
236
- - {ステップ2の概要}
237
- - {ステップ3の概要}
238
-
239
- 受け入れ基準:
240
- - [x] {基準1}
241
- - [x] {基準2}
242
- - [x] {基準3}
243
- ```
244
-
245
- ### 4. 次のフェーズへの移行
246
-
247
- #### 4.1. フェーズ間の依存関係確認
248
-
249
- **質問7: 次のフェーズへ進む**
250
-
251
- - 「フェーズ {N} が完了しました。次のフェーズ {N+1} に進みますか?」
252
-
253
- 次のフェーズの前提条件を確認:
254
-
255
- - 前フェーズの受け入れ基準がすべて満たされているか
256
- - 必要な環境設定が完了しているか
257
-
258
- #### 4.2. 進捗の可視化
259
-
260
- 現在の進捗を表示:
261
-
262
- ```
263
- 進捗状況:
264
- ✅ フェーズ 1: データモデルと API の実装 (完了)
265
- 🔄 フェーズ 2: フロントエンド UI の実装 (進行中)
266
- ⏸️ フェーズ 3: テスト・ドキュメント (未着手)
267
-
268
- 全体進捗: 33% (3/9 ステップ完了)
269
- ```
270
-
271
- ### 5. 全フェーズ完了後の最終確認
272
-
273
- #### 5.1. 最終テストの実行
274
-
275
- **質問8: 最終テスト**
276
-
277
- - 「全フェーズが完了しました。最終テストを実行します。」
278
-
279
- 実行するテスト:
280
-
281
- - [ ] 全ユニットテストが通る
282
- - [ ] 全統合テストが通る
283
- - [ ] E2E テストが通る(該当する場合)
284
- - [ ] テストカバレッジが基準を満たす(例: 80%以上)
285
- - [ ] Lint エラーがない
286
- - [ ] TypeScript コンパイルエラーがない
287
- - [ ] ビルドが成功する
288
-
289
- テストコマンド例:
290
-
291
- ```bash
292
- npm run test:all
293
- npm run lint
294
- npm run type-check
295
- npm run build
296
- ```
297
-
298
- #### 5.2. タスク定義の受け入れ基準との照合
299
-
300
- - タスク定義ドキュメント(`a-definition.md`)の受け入れ基準を確認
301
- - 実装がすべての受け入れ基準を満たしているか検証
302
-
303
- #### 5.3. ドキュメント更新の確認
304
-
305
- **質問9: ドキュメント更新**
306
-
307
- - 「以下のドキュメントは更新されていますか?」
308
- - README.md(セットアップ手順、使い方)
309
- - API ドキュメント(必要に応じて)
310
- - 環境変数設定(.env.example)
311
- - 変更履歴(CHANGELOG.md)
312
-
313
- ### 6. コミットとPR作成
314
-
315
- #### 6.1. 最終コミット
316
-
317
- **質問10: 最終コミット**
318
-
319
- - 「実装が完了しました。最終コミットを作成しますか?」
320
-
321
- コミットメッセージ例:
322
-
323
- ```
324
- feat(task-{id}): implement {タスク概要}
325
-
326
- 実装内容:
327
- - {変更1}
328
- - {変更2}
329
- - {変更3}
330
-
331
- 受け入れ基準:
332
- - [x] {基準1}
333
- - [x] {基準2}
334
- - [x] {基準3}
335
-
336
- テスト:
337
- - ユニットテスト: 100% 通過
338
- - 統合テスト: 100% 通過
339
- - E2E テスト: 100% 通過
340
- - カバレッジ: 85%
341
-
342
- 関連ドキュメント:
343
- - docs/tasks/task{id}-{スラッグ}/a-definition.md
344
- - docs/tasks/task{id}-{スラッグ}/b-research.md
345
- - docs/tasks/task{id}-{スラッグ}/c-implementation.md
346
- ```
347
-
348
- #### 6.2. PR作成の提案
349
-
350
- **質問11: PR作成**
351
-
352
- - 「Pull Request を作成しますか?」
353
-
354
- PR タイトル例:
355
-
356
- ```
357
- feat(task-{id}): {タスク概要}
358
- ```
359
-
360
- PR 説明文例:
361
-
362
- ```markdown
363
- ## 概要
364
- {タスクの目的と提供する価値}
365
-
366
- ## 変更内容
367
- - {変更1}
368
- - {変更2}
369
- - {変更3}
370
-
371
- ## 受け入れ基準
372
- - [x] {基準1}
373
- - [x] {基準2}
374
- - [x] {基準3}
375
-
376
- ## テスト結果
377
- - ユニットテスト: ✅ 100% 通過
378
- - 統合テスト: ✅ 100% 通過
379
- - E2E テスト: ✅ 100% 通過
380
- - カバレッジ: 85%
381
-
382
- ## スクリーンショット
383
- (該当する場合)
384
-
385
- ## 関連ドキュメント
386
- - [タスク定義](docs/tasks/task{id}-{スラッグ}/a-definition.md)
387
- - [リサーチ](docs/tasks/task{id}-{スラッグ}/b-research.md)
388
- - [実装タスクリスト](docs/tasks/task{id}-{スラッグ}/c-implementation.md)
389
-
390
- ## レビュー観点
391
- - {観点1}
392
- - {観点2}
393
- ```
394
-
395
- ### 7. 完成と次のステップ
396
-
397
- - 「タスク {task-id} の実装が完了しました!」
398
- - 実装完了の確認:
399
- - [ ] 全ステップが完了している
400
- - [ ] 全受け入れ基準が満たされている
401
- - [ ] テストが全て通っている
402
- - [ ] ドキュメントが更新されている
403
- - [ ] コミットが作成されている
404
- - [ ] PR が作成されている(該当する場合)
405
-
406
- 次のステップの提案:
407
-
408
- - 「PR のレビューを依頼しますか?」
409
- - 「次のタスクに取り掛かりますか?」
410
-
411
- ## 完了条件
412
-
413
- - 実装タスクリスト(`c-implementation.md`)の全ステップが完了している
414
- - 全ステップのチェックボックスが `[x]` になっている
415
- - 全フェーズの受け入れ基準が満たされている
416
- - タスク定義(`a-definition.md`)の受け入れ基準が満たされている
417
- - 全テストが通っている(ユニット、統合、E2E)
418
- - Lint エラーがない
419
- - ビルドが成功している
420
- - ドキュメントが更新されている
421
- - Git コミットが作成されている
422
- - PR が作成されている(該当する場合)
423
-
424
- ## エスカレーション
425
-
426
- - 必須ドキュメントが存在しない場合:
427
- - 「{ドキュメント名} が見つかりません。先に該当するワークフローを実行してください:」
428
- - タスク定義: `/b-001-CreateTaskDefinition`
429
- - リサーチ: `/b-002-CreateTaskResearch`
430
- - 実装タスクリスト: `/b-003-CreateTaskImplementation`
431
-
432
- - 開発環境が準備できていない場合:
433
- - 「必要なツールがインストールされていません:{ツール名}」
434
- - インストール方法をガイド
435
-
436
- - ステップの実装中にエラーが発生した場合:
437
- - 「ステップ {N} の実装中にエラーが発生しました:{エラー内容}」
438
- - エラーの原因を分析し、修正を試みる
439
- - 修正できない場合、ユーザーに報告し、ガイダンスを求める
440
-
441
- - テストが失敗した場合:
442
- - 「テストが失敗しました:{テスト名}」
443
- - 失敗の原因を分析
444
- - 修正が必要なコードを特定
445
- - 修正を提案または実行
446
-
447
- - 受け入れ基準を満たせない場合:
448
- - 「受け入れ基準 {基準} を満たせませんでした。」
449
- - 原因を調査し、追加の実装が必要か確認
450
- - 受け入れ基準の見直しが必要か検討
451
-
452
- - 並列実行でコンフリクトが発生した場合:
453
- - 「並列実行したステップ間でコンフリクトが発生しました。」
454
- - コンフリクトを解決
455
- - 必要に応じて順次実行に切り替え
456
-
457
- - 前のステップの完了が確認できない場合:
458
- - 「ステップ {N} を実行するには、ステップ {N-1} が完了している必要があります。」
459
- - 依存関係を確認し、順序を守る
460
-
461
- ## 実装ループの詳細フロー
462
-
463
- ```
464
- 開始
465
-
466
- [1] 実装前の検証
467
- ├─ ドキュメント存在確認
468
- ├─ 実装タスクリスト読み込み
469
- ├─ 開発環境確認
470
- └─ Git 状態確認
471
-
472
- [2] フェーズループ開始
473
-
474
- [3] ステップループ開始
475
- ├─ ステップ情報表示
476
- ├─ 依存関係確認
477
- ├─ 実装実行
478
- ├─ コード説明
479
- ├─ ローカルテスト実行
480
- ├─ エラーハンドリング
481
- ├─ ステップ完了マーク
482
- └─ Git コミット(オプション)
483
-
484
- [4] 全ステップ完了?
485
- No → [3] に戻る
486
- Yes ↓
487
- [5] フェーズの受け入れ基準確認
488
- ├─ 受け入れ基準抽出
489
- ├─ テスト実行
490
- ├─ 結果記録
491
- └─ フェーズ完了コミット
492
-
493
- [6] 全フェーズ完了?
494
- No → [2] に戻る
495
- Yes ↓
496
- [7] 最終確認
497
- ├─ 最終テスト実行
498
- ├─ タスク定義の受け入れ基準照合
499
- └─ ドキュメント更新確認
500
-
501
- [8] コミットとPR作成
502
- ├─ 最終コミット
503
- └─ PR作成
504
-
505
- 完了
506
- ```
507
-
508
- ## speckit.implement との対応
509
-
510
- | speckit.implement | c-001-ImplementTask | 説明 |
511
- |-------------------|---------------------|------|
512
- | constitution ファイル確認 | タスク定義ドキュメント確認 | プロジェクトのガバナンスと標準 |
513
- | specification ドキュメント確認 | タスク定義・リサーチ確認 | 何を構築するかの仕様 |
514
- | implementation plan 確認 | 実装タスクリスト確認 | 技術スタックと実装計画 |
515
- | tasks.md 解析 | c-implementation.md 解析 | タスクの分解と順序 |
516
- | 依存関係の尊重 | ステップの順序確認 | 正しい順序で実行 |
517
- | 並列実行の最適化 | [P] マークの識別 | 独立したタスクの並列実行 |
518
- | TDD アプローチ | 各ステップでのテスト実行 | テスト駆動開発 |
519
- | ローカル CLI コマンド実行 | Bash ツールでコマンド実行 | npm, dotnet, pytest など |
520
- | 進捗更新 | チェックボックス更新と進捗表示 | 可視化 |
521
- | エラーハンドリング | エラー分析と修正提案 | 問題解決 |
1
+ ---
2
+ name: c-001-implement-task
3
+ description: c-implementation.md のステップを順次実行し、テスト・レビューを経て機能を完成させる。タスクレビュー後、実装を開始する際に使用(speckit.implement スタイル)。
4
+ disable-model-invocation: true
5
+ argument-hint: "[task-id]"
6
+ ---
7
+
8
+ # ImplementTask (c-001)
9
+
10
+ ## 目的
11
+
12
+ - 実装タスクリスト(`c-implementation.md`)の各ステップを順次実行する。
13
+ - 各ステップの成果物を確実に作成し、実装漏れを防止する。
14
+ - ステップごとにテストを実行し、受け入れ基準を満たすことを確認する。
15
+ - フェーズごとに進捗を管理し、完了状態を可視化する。
16
+ - TDD(テスト駆動開発)アプローチに従い、品質を担保する。
17
+
18
+ ## 前提
19
+
20
+ - タスクディレクトリが既に作成されていること(`/b-000-CreateTaskDirectory` で作成済み)
21
+ - タスク定義ドキュメント(`a-definition.md`)が作成されていること
22
+ - リサーチドキュメント(`b-research.md`)が作成されていること
23
+ - 実装タスクリスト(`c-implementation.md`)が作成されていること
24
+ - タスクディレクトリ形式: `docs/tasks/task000001-{スラッグ}/`
25
+ - 開発環境がセットアップされていること(必要なツール、ライブラリがインストール済み)
26
+ - Git リポジトリが初期化されていること
27
+
28
+ ## Spec-Kit スタイルの実行フロー
29
+
30
+ このスキルは以下の原則に従います:
31
+
32
+ 1. **仕様駆動開発**: タスク定義とリサーチドキュメントが実行可能な仕様として機能
33
+ 2. **段階的な実装**: 一度にすべてを実装せず、ステップごとに進める
34
+ 3. **依存関係の尊重**: ステップの順序を守り、前のステップの完了を確認してから次へ
35
+ 4. **並列実行の最適化**: 依存関係のないステップは並列実行を検討
36
+ 5. **テスト駆動開発**: 各ステップで適切なテストを実行
37
+ 6. **継続的な検証**: 受け入れ基準を常に確認
38
+
39
+ 実装ループ全体の俯瞰図と speckit.implement との対応は [reference/implementation-loop.md](reference/implementation-loop.md) を参照。
40
+
41
+ ## 手順
42
+
43
+ `$ARGUMENTS` が指定されている場合は `task{ID}-{SLUG}`(例: `task000003-auth-login`)として使用する。未指定の場合はユーザーに対象タスクを確認する。
44
+
45
+ ### 1. 実装前の検証
46
+
47
+ **必須ドキュメントの存在確認**:
48
+
49
+ - [ ] タスク定義ドキュメント(`a-definition.md`)
50
+ - [ ] リサーチドキュメント(`b-research.md`)
51
+ - [ ] 実装タスクリスト(`c-implementation.md`)
52
+
53
+ いずれかが存在しない場合、該当するスキルを実行するよう促す。
54
+
55
+ **実装タスクリストの読み込み**:
56
+
57
+ `c-implementation.md` からフェーズ一覧・各フェーズの目的と完了条件・ステップ一覧・成果物・受け入れ基準を確認する。構造例は [examples/task-list-format.md](examples/task-list-format.md) を参照。
58
+
59
+ **開発環境とGit 状態の確認**:
60
+
61
+ ```bash
62
+ node --version
63
+ git status
64
+ git branch --show-current
65
+ ```
66
+
67
+ - 必要なツール(言語ランタイム、パッケージマネージャ、DB)の有無を確認。
68
+ - このタスク用の新しいブランチ作成を提案。推奨名: `task/{task-id}` または `feature/{スラッグ}`。
69
+
70
+ ### 2. 実装の実行
71
+
72
+ **開始位置を確認**: どのフェーズ・ステップから開始するか(デフォルト: フェーズ 1、ステップ 1)。
73
+
74
+ **各ステップ実行の流れ**:
75
+
76
+ 1. **ステップ情報の表示** — 「実行中: フェーズ {N}、ステップ {M}」+成果物・詳細
77
+ 2. **依存関係の確認** 前のステップ完了と前提条件の充足を確認
78
+ 3. **実装の実行** — 成果物のファイルを作成/編集。リサーチのベスプラと再利用コンポーネントを活用
79
+ 4. **コードの説明** — 実装内容と重要な技術的決定を簡潔に記録
80
+ 5. **検証ループ(最大 3 回)** — 下記フローで、成功するまで修正を繰り返す。詳細は [reference/validation-loop.md](reference/validation-loop.md) を参照。
81
+ 1. 型チェック / Lint / ユニットテストを実行
82
+ 2. 失敗があれば原因を特定して修正
83
+ 3. 再実行して合格を確認
84
+ 4. 3 回試行しても解決しない場合はユーザーにエスカレーション
85
+ 6. **ステップの完了マーク** — 全検証が合格したら `c-implementation.md` のチェックボックスを `- [ ]` → `- [x]` に更新
86
+ 7. **Git コミット(オプション)** — コミットメッセージは [examples/commit-and-pr.md](examples/commit-and-pr.md) を参照
87
+
88
+ **並列実行の最適化**:
89
+
90
+ `[P]` マークがついたステップは依存関係がなく、並列実行を検討する(詳細は [examples/task-list-format.md](examples/task-list-format.md))。
91
+
92
+ ### 3. フェーズごとの受け入れ基準の確認
93
+
94
+ 各フェーズの全ステップが完了したら、受け入れ基準を確認:
95
+
96
+ 1. **自動テストの実行**
97
+ - ユニットテスト: `npm test`
98
+ - 統合テスト: `npm run test:integration`
99
+ - E2E テスト: `npm run test:e2e`
100
+
101
+ 2. **手動確認が必要な項目** ユーザーに確認を依頼
102
+
103
+ 3. **結果の記録** — `c-implementation.md` の受け入れ基準チェックボックスを `- [x]` に更新
104
+
105
+ 4. **フェーズ完了コミット** — コミットメッセージ例は [examples/commit-and-pr.md](examples/commit-and-pr.md)
106
+
107
+ ### 4. 次のフェーズへの移行
108
+
109
+ - 前フェーズの受け入れ基準がすべて満たされているか確認。
110
+ - 必要な環境設定が完了しているか確認。
111
+ - 進捗を可視化してユーザーに共有(例は [examples/task-list-format.md](examples/task-list-format.md))。
112
+
113
+ ### 5. 全フェーズ完了後の最終確認
114
+
115
+ **最終テスト**:
116
+
117
+ - [ ] 全ユニット / 統合 / E2E テストが通る
118
+ - [ ] テストカバレッジが基準を満たす(例: 80%以上)
119
+ - [ ] Lint エラーがない
120
+ - [ ] TypeScript コンパイルエラーがない
121
+ - [ ] ビルドが成功する
122
+
123
+ ```bash
124
+ npm run test:all
125
+ npm run lint
126
+ npm run type-check
127
+ npm run build
128
+ ```
129
+
130
+ **タスク定義の受け入れ基準との照合**:
131
+
132
+ `a-definition.md` の受け入れ基準をすべての実装が満たしているか検証。
133
+
134
+ **ドキュメント更新の確認**:
135
+
136
+ - README.md(セットアップ手順、使い方)
137
+ - API ドキュメント(必要に応じて)
138
+ - 環境変数設定(.env.example)
139
+ - 変更履歴(CHANGELOG.md)
140
+
141
+ ### 6. コミットと PR 作成
142
+
143
+ - **最終コミット**: 実装全体のまとめコミットを作成。
144
+ - **PR 作成の提案**: Pull Request を作成するか確認。
145
+ - コミットメッセージ・PR タイトル・PR 本文のテンプレートは [examples/commit-and-pr.md](examples/commit-and-pr.md) を参照。
146
+
147
+ ### 7. 完成と次のステップ
148
+
149
+ - 「タスク {task-id} の実装が完了しました!」
150
+ - 実装完了チェック:
151
+ - [ ] 全ステップが完了している
152
+ - [ ] 全受け入れ基準が満たされている
153
+ - [ ] テストが全て通っている
154
+ - [ ] ドキュメントが更新されている
155
+ - [ ] コミットが作成されている
156
+ - [ ] PR が作成されている(該当する場合)
157
+ - 次のステップの提案: PR レビュー依頼 or 次のタスク着手。
158
+
159
+ ## 完了条件
160
+
161
+ - `c-implementation.md` の全ステップチェックボックスが `[x]`
162
+ - 全フェーズの受け入れ基準が満たされている
163
+ - `a-definition.md` の受け入れ基準が満たされている
164
+ - 全テスト(ユニット/統合/E2E)が通っている
165
+ - Lint エラーがない
166
+ - ビルドが成功している
167
+ - ドキュメントが更新されている
168
+ - Git コミットが作成されている
169
+ - PR が作成されている(該当する場合)
170
+
171
+ ## エスカレーション
172
+
173
+ - **必須ドキュメントが不足**: 「{ドキュメント名} が見つかりません。先に該当スキルを実行してください(タスク定義 → `/b-001` / リサーチ → `/b-002` / 実装タスクリスト → `/b-003`)。」
174
+ - **開発環境が未準備**: 「必要なツールがインストールされていません:{ツール名}」とインストール方法をガイド。
175
+ - **ステップ実装中のエラー**: 原因を分析し修正を試行。修正不能ならユーザーに報告しガイダンスを求める。
176
+ - **テスト失敗**: 失敗の原因を分析し、修正が必要なコードを特定して提案 or 実行。
177
+ - **受け入れ基準が満たせない**: 原因調査 → 追加実装 or 基準の見直しを検討。
178
+ - **並列実行でコンフリクト発生**: コンフリクトを解決、必要に応じて順次実行に切り替え。
179
+ - **前のステップの完了未確認**: 依存関係を確認し、順序を守る。
180
+
181
+ ## 参考
182
+
183
+ - [reference/implementation-loop.md](reference/implementation-loop.md) — 実装ループの詳細フロー図と speckit.implement 対応
184
+ - [reference/validation-loop.md](reference/validation-loop.md) — 検証ループのフロー、実行コマンド、エスカレーション基準
185
+ - [examples/task-list-format.md](examples/task-list-format.md) — 実装タスクリストの構造・受け入れ基準・進捗表示の例
186
+ - [examples/commit-and-pr.md](examples/commit-and-pr.md) — コミットメッセージと PR テンプレート