yodogawa 2.1.3 → 2.3.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/CHANGELOG.md +140 -94
- package/LICENSE +1 -1
- package/README.md +362 -263
- package/bin/checks/id-trace.js +137 -0
- package/bin/checks/links.js +59 -0
- package/bin/checks/placeholder.js +132 -0
- package/bin/checks/structure.js +127 -0
- package/bin/cli.js +51 -67
- package/bin/commands/doctor.js +128 -0
- package/bin/commands/install.js +58 -0
- package/bin/commands/new-task.js +117 -0
- package/bin/lib/check-cli.js +19 -0
- package/bin/lib/findings.js +31 -0
- package/bin/lib/markdown.js +103 -0
- package/bin/lib/project-spec.js +138 -0
- package/bin/lib/walk-md.js +23 -0
- package/package.json +68 -55
- package/skills/a-001-setup-doc-structure/SKILL.md +68 -68
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +75 -75
- package/skills/a-002-initialize-project/SKILL.md +145 -118
- package/skills/a-002-initialize-project/reference/hearing-questions.md +91 -41
- package/skills/a-002-initialize-project/reference/structure-check.md +12 -22
- package/skills/a-002a-slice-mvp-scope/SKILL.md +105 -0
- package/skills/a-002b-define-user-stories/SKILL.md +80 -0
- package/skills/a-002b-define-user-stories/reference/user-stories-guide.md +78 -0
- package/skills/a-003-create-scenarios/SKILL.md +97 -96
- package/{templates/project/02-behavior/01-scenarios.md → skills/a-003-create-scenarios/reference/detailed-gherkin-template.md} +413 -406
- package/skills/a-003-create-scenarios/reference/structure-check.md +20 -17
- package/skills/a-004-define-domain-model/SKILL.md +107 -98
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +33 -7
- package/skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md +49 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +18 -17
- package/skills/a-006-review-requirements-domain/SKILL.md +79 -29
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +40 -25
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +67 -24
- package/skills/a-007-define-tech-stack/SKILL.md +99 -99
- package/skills/a-008-define-repository-structure/SKILL.md +96 -96
- package/skills/a-009-define-screen-design/SKILL.md +103 -103
- package/skills/a-010-define-design-system/SKILL.md +130 -130
- package/skills/a-011-define-data-model/SKILL.md +118 -118
- package/skills/a-012-define-api-spec/SKILL.md +105 -105
- package/skills/a-013-define-architecture/SKILL.md +98 -98
- package/skills/a-014-define-infrastructure/SKILL.md +118 -110
- package/skills/{a-002-initialize-project → a-014-define-infrastructure}/examples/nfr-baseline.md +2 -1
- package/{templates/project/01-requirements/04-non-functional-requirements.md → skills/a-014-define-infrastructure/examples/non-functional-requirements.md} +120 -115
- package/skills/a-015-review-design/SKILL.md +15 -11
- package/skills/a-015-review-design/examples/review-report-template.md +17 -29
- package/skills/a-015-review-design/reference/consistency-checks.md +5 -3
- package/skills/b-001-create-task-directory/SKILL.md +68 -68
- package/skills/b-002-create-task-definition/SKILL.md +114 -114
- package/skills/b-003-create-task-research/SKILL.md +130 -128
- package/skills/b-004-create-task-implementation/SKILL.md +98 -98
- package/skills/b-005-review-task/SKILL.md +40 -24
- package/skills/b-005-review-task/examples/review-report-template.md +25 -35
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -79
- package/skills/b-005-review-task/reference/consistency-checks.md +70 -11
- package/skills/c-001-implement-task/SKILL.md +186 -186
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -65
- package/skills/c-002-update-documentation/SKILL.md +159 -159
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +4 -4
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +99 -97
- package/skills/d-001-review-retrospective/SKILL.md +93 -0
- package/skills/d-001-review-retrospective/examples/retrospective-report-template.md +50 -0
- package/skills/d-001-review-retrospective/reference/friction-point-mapping.md +30 -0
- package/templates/LESSONS.md +15 -0
- package/templates/project/01-requirements/01-product-brief.md +186 -0
- package/templates/project/01-requirements/02-mvp-scope.md +64 -0
- package/templates/project/01-requirements/03-parking-lot.md +29 -0
- package/templates/project/01-requirements/05-user-stories.md +28 -124
- package/templates/project/01-requirements/{02-features-implemented.md → 06-features-implemented.md} +77 -73
- package/templates/project/02-behavior/01-core-scenarios.md +80 -0
- package/templates/project/03-domain/01-domain-model.md +120 -339
- package/templates/project/03-domain/01-domain-sketch.md +90 -0
- package/templates/project/03-domain/02-ubiquitous-language.md +32 -153
- package/templates/project/04-design/01-tech-stack.md +367 -367
- package/templates/project/04-design/02-repository-structure.md +391 -391
- package/templates/project/04-design/03-screen-design.md +596 -596
- package/templates/project/04-design/04-design-system.md +261 -261
- package/templates/project/04-design/05-data-model.md +211 -211
- package/templates/project/04-design/06-api-spec.md +226 -226
- package/templates/project/04-design/07-architecture.md +183 -183
- package/templates/project/04-design/08-infrastructure.md +180 -180
- package/templates/project/AI_CONTEXT.md +55 -0
- package/templates/project/STAKEHOLDER-SUMMARY.md +66 -0
- package/templates/tasks/task-template/a-definition.md +143 -143
- package/templates/tasks/task-template/b-research.md +185 -185
- package/templates/tasks/task-template/c-implementation.md +200 -200
- package/templates/project/01-requirements/01-system-overview.md +0 -49
- package/templates/project/01-requirements/03-features-planned.md +0 -75
|
@@ -1,128 +1,130 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: b-003-create-task-research
|
|
3
|
-
description: タスク実装前に既存コード・ベストプラクティス・再利用候補・リスクを調査し b-research.md に記録する。タスク定義確定後、実装計画作成前に使用。
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
-
argument-hint: "[task-id]"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# CreateTaskResearch (b-003)
|
|
10
|
-
|
|
11
|
-
## 目的
|
|
12
|
-
|
|
13
|
-
- 実装に着手する前に、最適なアプローチ・技術・注意点を整理する。
|
|
14
|
-
- 既存コードやコンポーネントを把握し、重複実装や手戻りを防止する。
|
|
15
|
-
- 技術選定・リスク・参考資料を記録し、実装計画 (b-004) の入力とする。
|
|
16
|
-
|
|
17
|
-
## 前提
|
|
18
|
-
|
|
19
|
-
- `CreateTaskDefinition (b-002)` が完了し、`a-definition.md` に目的・変更内容が記載されている。
|
|
20
|
-
- タスクディレクトリ: `docs/tasks/task{ID}-{SLUG}/`
|
|
21
|
-
- テンプレート: `../../templates/tasks/task-template/b-research.md`(スキル配置ディレクトリ起点の相対参照)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
&& grep "##
|
|
86
|
-
&&
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
- [ ]
|
|
94
|
-
- [ ]
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
1
|
+
---
|
|
2
|
+
name: b-003-create-task-research
|
|
3
|
+
description: タスク実装前に既存コード・ベストプラクティス・再利用候補・リスクを調査し b-research.md に記録する。タスク定義確定後、実装計画作成前に使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
argument-hint: "[task-id]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# CreateTaskResearch (b-003)
|
|
10
|
+
|
|
11
|
+
## 目的
|
|
12
|
+
|
|
13
|
+
- 実装に着手する前に、最適なアプローチ・技術・注意点を整理する。
|
|
14
|
+
- 既存コードやコンポーネントを把握し、重複実装や手戻りを防止する。
|
|
15
|
+
- 技術選定・リスク・参考資料を記録し、実装計画 (b-004) の入力とする。
|
|
16
|
+
|
|
17
|
+
## 前提
|
|
18
|
+
|
|
19
|
+
- `CreateTaskDefinition (b-002)` が完了し、`a-definition.md` に目的・変更内容が記載されている。
|
|
20
|
+
- タスクディレクトリ: `docs/tasks/task{ID}-{SLUG}/`
|
|
21
|
+
- テンプレート: `../../templates/tasks/task-template/b-research.md`(スキル配置ディレクトリ起点の相対参照)
|
|
22
|
+
- `docs/LESSONS.md` があれば参照する(`d-001-review-retrospective` が過去タスクの振り返りから蓄積する汎用的な学び。無ければスキップ)。
|
|
23
|
+
|
|
24
|
+
## 手順
|
|
25
|
+
|
|
26
|
+
`$ARGUMENTS` が指定されている場合は `task{ID}-{SLUG}`(例: `task000003-auth-login`)として使用する。未指定の場合はユーザーに対象タスクを確認する。
|
|
27
|
+
|
|
28
|
+
### 1. ドキュメントとテンプレートの準備
|
|
29
|
+
|
|
30
|
+
対象タスクディレクトリを確認する。
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
ls -d docs/tasks/task*
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
このスキルの配置ディレクトリ(`skills/b-003-create-task-research/`)を起点に、相対パス `../../templates/tasks/task-template/b-research.md` を Read で読み込み、`docs/tasks/task{ID}-{SLUG}/b-research.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。
|
|
37
|
+
|
|
38
|
+
### 2. 調査計画の立案
|
|
39
|
+
|
|
40
|
+
- `a-definition.md` を読み、変更対象・技術要件・制約を抽出。
|
|
41
|
+
- 調査する観点を整理:例)類似実装、利用ライブラリ、外部API仕様、セキュリティ要件。
|
|
42
|
+
- 調査メモを残しながら進めると、ドキュメント作成がスムーズ。
|
|
43
|
+
|
|
44
|
+
### 3. 既存実装と再利用候補の調査
|
|
45
|
+
|
|
46
|
+
- コードベースを検索し、類似ロジックやコンポーネントを洗い出す。
|
|
47
|
+
- 再利用できるファイル・モジュール・カスタムフック・APIクライアントをリスト化。
|
|
48
|
+
- 参考にできる実装パターン(バリデーション、エラーハンドリング等)と課題点を併記。
|
|
49
|
+
- 詳細な調査観点・分析項目は [reference/investigation-guide.md](reference/investigation-guide.md) を参照。
|
|
50
|
+
|
|
51
|
+
### 4. ベストプラクティス・外部情報の調査
|
|
52
|
+
|
|
53
|
+
- `docs/LESSONS.md` が存在すれば読み、過去タスクの摩擦点・ベストプラクティスを踏まえる(無ければスキップ)。
|
|
54
|
+
- 公式ドキュメント、信頼できる記事、社内ナレッジを確認し、採用すべきパターン/アンチパターンを整理。
|
|
55
|
+
- 調査内容(タイトル、要点、URL)を記録。例)フォームバリデーション、非同期通信、セキュリティガイドライン。
|
|
56
|
+
|
|
57
|
+
### 5. 技術選定と比較(必要時)
|
|
58
|
+
|
|
59
|
+
- 新規導入・置き換え候補のライブラリ/サービスを比較。
|
|
60
|
+
- 比較観点: メンテ状況、TypeScript対応、バンドルサイズ、コスト、既存スタックとの親和性。
|
|
61
|
+
- 選定理由と却下理由を記録。チーム合意が必要な場合はその旨も記載。
|
|
62
|
+
- 詳細な比較観点は [reference/investigation-guide.md](reference/investigation-guide.md) を参照。
|
|
63
|
+
|
|
64
|
+
### 6. 技術的リスクと対策
|
|
65
|
+
|
|
66
|
+
- パフォーマンス、セキュリティ、スケーラビリティ、依存サービス等のリスクを洗い出す。
|
|
67
|
+
- 影響度と優先度(高/中/低)を付与し、軽減策やPoCの必要有無を記載。
|
|
68
|
+
- リスクカテゴリ一覧とセキュリティチェック項目は [reference/investigation-guide.md](reference/investigation-guide.md) を参照。
|
|
69
|
+
|
|
70
|
+
### 7. ドキュメントへの反映
|
|
71
|
+
|
|
72
|
+
1. `docs/tasks/task{ID}-{SLUG}/b-research.md` を編集し、以下を記入:
|
|
73
|
+
- ベストプラクティス / 参考リンク
|
|
74
|
+
- 既存コード・再利用コンポーネント
|
|
75
|
+
- 技術選定(比較表含む)
|
|
76
|
+
- 技術的リスク・制約
|
|
77
|
+
- メモ / 次に確認すべき事項
|
|
78
|
+
2. HTMLコメントはガイドとして残す。
|
|
79
|
+
3. 各セクションの表テンプレートは [examples/research-tables.md](examples/research-tables.md) を参照。
|
|
80
|
+
|
|
81
|
+
### 8. 構造チェック
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
grep "## ベストプラクティス" docs/tasks/task{ID}-{SLUG}/b-research.md \
|
|
85
|
+
&& grep "## 既存コード調査" docs/tasks/task{ID}-{SLUG}/b-research.md \
|
|
86
|
+
&& grep "## 技術選定" docs/tasks/task{ID}-{SLUG}/b-research.md \
|
|
87
|
+
&& grep "## 技術的リスク" docs/tasks/task{ID}-{SLUG}/b-research.md \
|
|
88
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
チェックリスト:
|
|
92
|
+
|
|
93
|
+
- [ ] 参考リンク・出典が記載されている
|
|
94
|
+
- [ ] 再利用できるコード/コンポーネントが明確
|
|
95
|
+
- [ ] 技術選定理由と代替案が整理されている
|
|
96
|
+
- [ ] リスクに軽減策と優先度が付与されている
|
|
97
|
+
|
|
98
|
+
### 9. Git への追加(任意)
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
git add docs/tasks/task{ID}-{SLUG}/b-research.md
|
|
102
|
+
git commit -m "docs(task): 技術調査メモの作成 task{ID}"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 完了条件
|
|
106
|
+
|
|
107
|
+
- `b-research.md` に以下が網羅されている:
|
|
108
|
+
- ベストプラクティス/参考資料
|
|
109
|
+
- 既存コード・再利用コンポーネント
|
|
110
|
+
- 技術選定と比較(必要に応じて)
|
|
111
|
+
- 技術的リスクと対策
|
|
112
|
+
- 追加のメモ/未解決事項
|
|
113
|
+
- 実装計画 (b-004) に渡せるレベルで情報が整理されている。
|
|
114
|
+
- 関係者が内容を確認し、疑問があれば解消済み。
|
|
115
|
+
|
|
116
|
+
## エスカレーション
|
|
117
|
+
|
|
118
|
+
- **既存コードが見つからない**: 「コードベースを検索しても見つからない場合、他メンバーに確認し、再利用可否を判断してください。」
|
|
119
|
+
- **ライブラリ選定で決め手がない**: 「評価軸を追加(保守実績、サポート、コストなど)し、比較表を拡張してください。」
|
|
120
|
+
- **リスクが高い**: 「影響が重大なリスクは PoC や専門チーム相談を提案し、スケジュールに反映してください。」
|
|
121
|
+
- **外部サービス依存がある**: 「SLA・レート制限・コストを確認し、代替案やフォールバックを検討してください。」
|
|
122
|
+
- **ドキュメントが不足**: 「ベストプラクティスや参考資料の記載が不十分です。公式ドキュメントや社内ナレッジを追加してください。」
|
|
123
|
+
- **セキュリティリスクが見落とされている**: 「入力バリデーション/XSS/CSRF/SQLi/認証・認可/暗号化/レート制限の観点で再調査してください。」
|
|
124
|
+
- **パフォーマンスリスクが見落とされている**: 「大量データや高負荷時の動作を検討してください。」
|
|
125
|
+
- **新ライブラリ導入がチーム未合意**: 「チームリーダーやメンバーとレビュー・合意を取ってください。」
|
|
126
|
+
|
|
127
|
+
## 参考
|
|
128
|
+
|
|
129
|
+
- [reference/investigation-guide.md](reference/investigation-guide.md) — 調査観点・分析項目・リスクカテゴリの詳細
|
|
130
|
+
- [examples/research-tables.md](examples/research-tables.md) — 各セクションの表テンプレート例
|
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: b-004-create-task-implementation
|
|
3
|
-
description: タスクをステップ単位に分割し、各ステップの成果物・受け入れ基準を c-implementation.md に定義する。リサーチ完了後、実装着手前に使用。
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
-
argument-hint: "[task-id]"
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# CreateTaskImplementation (b-004)
|
|
10
|
-
|
|
11
|
-
## 目的
|
|
12
|
-
|
|
13
|
-
- タスクを実行可能なフェーズとステップに分割し、作業順序と依存関係を明確にする。
|
|
14
|
-
- 各ステップの成果物と受け入れ基準を定義し、作業完了の判断基準を共有する。
|
|
15
|
-
- 実装開始前にテスト計画や懸念点を洗い出し、品質リスクを低減する。
|
|
16
|
-
|
|
17
|
-
## 前提
|
|
18
|
-
|
|
19
|
-
- `a-definition.md`(b-002)と `b-research.md`(b-003)が作成済み
|
|
20
|
-
- タスクディレクトリ: `docs/tasks/task{ID}-{SLUG}/`
|
|
21
|
-
- テンプレート: `../../templates/tasks/task-template/c-implementation.md`(スキル配置ディレクトリ起点の相対参照)
|
|
22
|
-
|
|
23
|
-
## 手順
|
|
24
|
-
|
|
25
|
-
`$ARGUMENTS` が指定されている場合は `task{ID}-{SLUG}`(例: `task000003-auth-login`)として使用する。未指定の場合はユーザーに対象タスクを確認する。
|
|
26
|
-
|
|
27
|
-
### 1. ドキュメント確認とテンプレート準備
|
|
28
|
-
|
|
29
|
-
対象タスクディレクトリを確認する。
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
ls -d docs/tasks/task*
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
このスキルの配置ディレクトリ(`skills/b-004-create-task-implementation/`)を起点に、相対パス `../../templates/tasks/task-template/c-implementation.md` を Read で読み込み、`docs/tasks/task{ID}-{SLUG}/c-implementation.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。
|
|
36
|
-
|
|
37
|
-
`a-definition.md` から目的・変更内容・受け入れ基準を、`b-research.md` から技術方針・ライブラリ選定・リスクを読み取る。
|
|
38
|
-
|
|
39
|
-
### 2. フェーズ設計
|
|
40
|
-
|
|
41
|
-
タスクを 2〜4 フェーズに分割(1 フェーズ = 1〜3 日規模)。分割の考え方と例は [examples/phase-step-template.md](examples/phase-step-template.md#フェーズ分割の目安) を参照。
|
|
42
|
-
|
|
43
|
-
### 3. ステップ分解
|
|
44
|
-
|
|
45
|
-
各フェーズを 1〜3 時間で完了できるステップに分割し、Title / Details / Deliverables / Verification を定義。記載例は [examples/phase-step-template.md](examples/phase-step-template.md#ステップ分解のテンプレート) を参照。
|
|
46
|
-
|
|
47
|
-
### 4. テスト計画
|
|
48
|
-
|
|
49
|
-
フェーズ/ステップ単位で必要なテスト(ユニット、API、UI、E2E、負荷)とカバレッジ目標、検証コマンド(`npm test`, `playwright test` 等)を記載。例は [examples/phase-step-template.md](examples/phase-step-template.md#テスト計画の記載例) を参照。
|
|
50
|
-
|
|
51
|
-
### 5. ドキュメント反映
|
|
52
|
-
|
|
53
|
-
`docs/tasks/task{ID}-{SLUG}/c-implementation.md` に以下を記入:
|
|
54
|
-
|
|
55
|
-
1. フェーズ一覧(目的、完了条件、依存関係)
|
|
56
|
-
2. フェーズ内ステップ(Title/Details/Deliverables/Verification)
|
|
57
|
-
3. テスト計画
|
|
58
|
-
4. メモ・補足(懸念点、要確認事項、リファクタ案)
|
|
59
|
-
|
|
60
|
-
HTML コメントは削除せずガイドとして残す。
|
|
61
|
-
|
|
62
|
-
### 6. 構造チェック
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
grep "## 実装フェーズ" docs/tasks/task{ID}-{SLUG}/c-implementation.md \
|
|
66
|
-
&& grep "## ステップ一覧" docs/tasks/task{ID}-{SLUG}/c-implementation.md \
|
|
67
|
-
&& grep "## テスト計画" docs/tasks/task{ID}-{SLUG}/c-implementation.md \
|
|
68
|
-
&& echo "OK" || echo "MISSING SECTION"
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
72
|
-
|
|
73
|
-
### 7. Git への追加(任意)
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
git add docs/tasks/task{ID}-{SLUG}/c-implementation.md
|
|
77
|
-
git commit -m "docs(task): 実装計画の作成 task{ID}"
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## 完了条件
|
|
81
|
-
|
|
82
|
-
- `c-implementation.md` にフェーズ/ステップ/テスト/メモが記載されている
|
|
83
|
-
- ステップの粒度が適切(1〜3 時間)で、成果物が明確
|
|
84
|
-
- フェーズ順序と依存関係が示されている
|
|
85
|
-
- 関係者レビューで疑問がない状態
|
|
86
|
-
|
|
87
|
-
## エスカレーション
|
|
88
|
-
|
|
89
|
-
- **フェーズが大きすぎる**: 「1 フェーズが 3 日以上になりそうです。分割してください。」
|
|
90
|
-
- **ステップが抽象的**: 「成果物が特定できません。ファイル名や検証手順を明記してください。」
|
|
91
|
-
- **テスト計画不足**: 「対象機能のテスト戦略が不足しています。ユニット/統合/E2E を再検討してください。」
|
|
92
|
-
- **リスク対策未反映**: 「b-003 で挙げたリスクへの対策ステップがありません。計画に組み込んでください。」
|
|
93
|
-
- **依存関係不明**: 「並行実行可能なフェーズと、順序が必要なフェーズを明示してください。」
|
|
94
|
-
|
|
95
|
-
## 参考
|
|
96
|
-
|
|
97
|
-
- [examples/phase-step-template.md](examples/phase-step-template.md) — フェーズ分割、ステップ分解、テスト計画の記載例
|
|
98
|
-
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー観点
|
|
1
|
+
---
|
|
2
|
+
name: b-004-create-task-implementation
|
|
3
|
+
description: タスクをステップ単位に分割し、各ステップの成果物・受け入れ基準を c-implementation.md に定義する。リサーチ完了後、実装着手前に使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
argument-hint: "[task-id]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# CreateTaskImplementation (b-004)
|
|
10
|
+
|
|
11
|
+
## 目的
|
|
12
|
+
|
|
13
|
+
- タスクを実行可能なフェーズとステップに分割し、作業順序と依存関係を明確にする。
|
|
14
|
+
- 各ステップの成果物と受け入れ基準を定義し、作業完了の判断基準を共有する。
|
|
15
|
+
- 実装開始前にテスト計画や懸念点を洗い出し、品質リスクを低減する。
|
|
16
|
+
|
|
17
|
+
## 前提
|
|
18
|
+
|
|
19
|
+
- `a-definition.md`(b-002)と `b-research.md`(b-003)が作成済み
|
|
20
|
+
- タスクディレクトリ: `docs/tasks/task{ID}-{SLUG}/`
|
|
21
|
+
- テンプレート: `../../templates/tasks/task-template/c-implementation.md`(スキル配置ディレクトリ起点の相対参照)
|
|
22
|
+
|
|
23
|
+
## 手順
|
|
24
|
+
|
|
25
|
+
`$ARGUMENTS` が指定されている場合は `task{ID}-{SLUG}`(例: `task000003-auth-login`)として使用する。未指定の場合はユーザーに対象タスクを確認する。
|
|
26
|
+
|
|
27
|
+
### 1. ドキュメント確認とテンプレート準備
|
|
28
|
+
|
|
29
|
+
対象タスクディレクトリを確認する。
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
ls -d docs/tasks/task*
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
このスキルの配置ディレクトリ(`skills/b-004-create-task-implementation/`)を起点に、相対パス `../../templates/tasks/task-template/c-implementation.md` を Read で読み込み、`docs/tasks/task{ID}-{SLUG}/c-implementation.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。
|
|
36
|
+
|
|
37
|
+
`a-definition.md` から目的・変更内容・受け入れ基準を、`b-research.md` から技術方針・ライブラリ選定・リスクを読み取る。
|
|
38
|
+
|
|
39
|
+
### 2. フェーズ設計
|
|
40
|
+
|
|
41
|
+
タスクを 2〜4 フェーズに分割(1 フェーズ = 1〜3 日規模)。分割の考え方と例は [examples/phase-step-template.md](examples/phase-step-template.md#フェーズ分割の目安) を参照。
|
|
42
|
+
|
|
43
|
+
### 3. ステップ分解
|
|
44
|
+
|
|
45
|
+
各フェーズを 1〜3 時間で完了できるステップに分割し、Title / Details / Deliverables / Verification を定義。記載例は [examples/phase-step-template.md](examples/phase-step-template.md#ステップ分解のテンプレート) を参照。
|
|
46
|
+
|
|
47
|
+
### 4. テスト計画
|
|
48
|
+
|
|
49
|
+
フェーズ/ステップ単位で必要なテスト(ユニット、API、UI、E2E、負荷)とカバレッジ目標、検証コマンド(`npm test`, `playwright test` 等)を記載。例は [examples/phase-step-template.md](examples/phase-step-template.md#テスト計画の記載例) を参照。
|
|
50
|
+
|
|
51
|
+
### 5. ドキュメント反映
|
|
52
|
+
|
|
53
|
+
`docs/tasks/task{ID}-{SLUG}/c-implementation.md` に以下を記入:
|
|
54
|
+
|
|
55
|
+
1. フェーズ一覧(目的、完了条件、依存関係)
|
|
56
|
+
2. フェーズ内ステップ(Title/Details/Deliverables/Verification)
|
|
57
|
+
3. テスト計画
|
|
58
|
+
4. メモ・補足(懸念点、要確認事項、リファクタ案)
|
|
59
|
+
|
|
60
|
+
HTML コメントは削除せずガイドとして残す。
|
|
61
|
+
|
|
62
|
+
### 6. 構造チェック
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
grep "## 実装フェーズ" docs/tasks/task{ID}-{SLUG}/c-implementation.md \
|
|
66
|
+
&& grep "## ステップ一覧" docs/tasks/task{ID}-{SLUG}/c-implementation.md \
|
|
67
|
+
&& grep "## テスト計画" docs/tasks/task{ID}-{SLUG}/c-implementation.md \
|
|
68
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
72
|
+
|
|
73
|
+
### 7. Git への追加(任意)
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
git add docs/tasks/task{ID}-{SLUG}/c-implementation.md
|
|
77
|
+
git commit -m "docs(task): 実装計画の作成 task{ID}"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## 完了条件
|
|
81
|
+
|
|
82
|
+
- `c-implementation.md` にフェーズ/ステップ/テスト/メモが記載されている
|
|
83
|
+
- ステップの粒度が適切(1〜3 時間)で、成果物が明確
|
|
84
|
+
- フェーズ順序と依存関係が示されている
|
|
85
|
+
- 関係者レビューで疑問がない状態
|
|
86
|
+
|
|
87
|
+
## エスカレーション
|
|
88
|
+
|
|
89
|
+
- **フェーズが大きすぎる**: 「1 フェーズが 3 日以上になりそうです。分割してください。」
|
|
90
|
+
- **ステップが抽象的**: 「成果物が特定できません。ファイル名や検証手順を明記してください。」
|
|
91
|
+
- **テスト計画不足**: 「対象機能のテスト戦略が不足しています。ユニット/統合/E2E を再検討してください。」
|
|
92
|
+
- **リスク対策未反映**: 「b-003 で挙げたリスクへの対策ステップがありません。計画に組み込んでください。」
|
|
93
|
+
- **依存関係不明**: 「並行実行可能なフェーズと、順序が必要なフェーズを明示してください。」
|
|
94
|
+
|
|
95
|
+
## 参考
|
|
96
|
+
|
|
97
|
+
- [examples/phase-step-template.md](examples/phase-step-template.md) — フェーズ分割、ステップ分解、テスト計画の記載例
|
|
98
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー観点
|
|
@@ -32,14 +32,27 @@ ls -d docs/tasks/task*
|
|
|
32
32
|
|
|
33
33
|
- レビュー対象のタスクIDとスラッグを特定。
|
|
34
34
|
- 不足ドキュメントがあれば該当スキル(b-002/b-003/b-004)に差し戻す。
|
|
35
|
+
- **注記**: この存在確認は doctor では代替できない。`yodogawa doctor` の `structure`/`id-trace`/`placeholder` は `docs/project/` 固定で `docs/tasks/` を検査対象にしないため、ここは従来どおり `ls`/`Glob` で確認する。
|
|
35
36
|
|
|
36
|
-
### 2.
|
|
37
|
+
### 2. 前提整合性の自動検査(doctor links のみ)
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx -y yodogawa doctor --json
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`findings` のうち `check: "links"` かつ `file` が `docs/tasks/task{ID}-{SLUG}/` で始まる項目のみを確認する(`links` は `docs/` 全体を検査対象にする唯一のチェックのため、docs/tasks 内の相対リンク切れはここで拾える)。**`structure`/`id-trace`/`placeholder` の finding はこのタスクディレクトリに関係しないため無視する。** リンク切れがあれば前提整合性 FAIL としてレポートの「前提整合性」節に記録する(手順4の観点別 PASS/FAIL とは別枠)。doctor が実行できない場合は前提整合性の確認を省略してよい。
|
|
44
|
+
|
|
45
|
+
### 3. 各ドキュメントの読み込み
|
|
37
46
|
|
|
38
47
|
- `a-definition.md`: 目的/ユーザーストーリー/変更内容/受け入れ基準
|
|
39
48
|
- `b-research.md`: ベストプラクティス/再利用コード/技術選定/リスク
|
|
40
49
|
- `c-implementation.md`: フェーズ/ステップ/成果物/テスト計画
|
|
41
50
|
|
|
42
|
-
###
|
|
51
|
+
### 4. 一貫性チェック(観点別 PASS/FAIL + 根拠引用)
|
|
52
|
+
|
|
53
|
+
以下の 6 観点は**すべて doctor 非対応**(`structure`/`id-trace`/`placeholder` が `docs/tasks/` を検査対象にしないため)。エージェントが `a-definition.md` / `b-research.md` / `c-implementation.md` を Read して判断し、判定には file:line の引用を必須とする(判定ルール: 観点内に Error 相当の指摘が1件以上あれば FAIL、Warning 相当のみなら PASS+注記)。
|
|
54
|
+
|
|
55
|
+
> **エージェントの役割範囲**: 手順2の doctor links チェックは出力の解釈と修正提案に限定する(再実装しない)。この手順4の6観点はすべて doctor 非対応の意味判断であり、役割は「読解判断+証拠引用」である。
|
|
43
56
|
|
|
44
57
|
| # | 観点 | チェック内容 |
|
|
45
58
|
|---|------|--------------|
|
|
@@ -50,11 +63,9 @@ ls -d docs/tasks/task*
|
|
|
50
63
|
|5|実装計画の完全性|フェーズ順序・ステップ粒度・テスト計画が適切か|
|
|
51
64
|
|6|タスク全体の実現性|目的/スコープ/依存関係/期間が妥当か|
|
|
52
65
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
各観点のチェックリスト・検出すべき問題パターンは [reference/consistency-checks.md](reference/consistency-checks.md) を参照。
|
|
66
|
+
各観点は **PASS / FAIL** で判定し、根拠(file:line引用)を必ず添える。各観点のチェックリスト・検出すべき問題パターンは [reference/consistency-checks.md](reference/consistency-checks.md) を参照。
|
|
56
67
|
|
|
57
|
-
###
|
|
68
|
+
### 5. レポート作成
|
|
58
69
|
|
|
59
70
|
`docs/tasks/task{ID}-{SLUG}/TASK-REVIEW-REPORT.md` に以下を記入(詳細版テンプレートは [examples/review-report-template.md](examples/review-report-template.md) を参照):
|
|
60
71
|
|
|
@@ -62,16 +73,21 @@ ls -d docs/tasks/task*
|
|
|
62
73
|
# タスクレビュー結果: task{ID}-{SLUG}
|
|
63
74
|
**実施日**: YYYY-MM-DD
|
|
64
75
|
|
|
65
|
-
##
|
|
66
|
-
-
|
|
67
|
-
- 実装開始可否: [可 / 要修正]
|
|
76
|
+
## 前提整合性(doctor links)
|
|
77
|
+
- docs/tasks 内リンク: [PASS/FAIL] – 根拠(file:line)
|
|
68
78
|
|
|
69
|
-
##
|
|
70
|
-
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
79
|
+
## 判定
|
|
80
|
+
- 実装開始可否: [PASS / FAIL]
|
|
81
|
+
|
|
82
|
+
## 詳細(観点別 PASS/FAIL)
|
|
83
|
+
| # | 観点 | 判定 | 根拠(file:line) | コメント |
|
|
84
|
+
|--:|:--|:--:|:--|:--|
|
|
85
|
+
|1|定義 ↔ 実装(変更内容)| [PASS/FAIL] | ... | ... |
|
|
86
|
+
|2|定義 ↔ 実装(ユーザーストーリー)| ... | ... | ... |
|
|
87
|
+
|3|定義 ↔ 実装(受け入れ基準)| ... | ... | ... |
|
|
88
|
+
|4|リサーチ ↔ 実装| ... | ... | ... |
|
|
89
|
+
|5|実装計画の完全性| ... | ... | ... |
|
|
90
|
+
|6|タスク全体の実現性| ... | ... | ... |
|
|
75
91
|
|
|
76
92
|
## 修正が必要な項目
|
|
77
93
|
1. **カテゴリ**: ...
|
|
@@ -83,13 +99,13 @@ ls -d docs/tasks/task*
|
|
|
83
99
|
- 推奨事項:
|
|
84
100
|
```
|
|
85
101
|
|
|
86
|
-
###
|
|
102
|
+
### 6. 実装開始可否の判定とユーザー報告
|
|
87
103
|
|
|
88
|
-
-
|
|
89
|
-
- ユーザーに
|
|
104
|
+
- 実装開始可否(PASS/FAIL)をレポートに明記する(全6観点PASSならPASS、1つでもFAILならFAILの単純AND判定)。
|
|
105
|
+
- ユーザーに FAILした観点と根拠(file:line)を報告し、次のアクションを案内する。
|
|
90
106
|
- 判定基準・修正ガイダンス・ベストプラクティスは [reference/assessment-criteria.md](reference/assessment-criteria.md) を参照。
|
|
91
107
|
|
|
92
|
-
###
|
|
108
|
+
### 7. Git への追加(任意)
|
|
93
109
|
|
|
94
110
|
```bash
|
|
95
111
|
git add docs/tasks/task{ID}-{SLUG}/TASK-REVIEW-REPORT.md
|
|
@@ -98,13 +114,13 @@ git commit -m "docs(task): レビューレポート作成 task{ID}"
|
|
|
98
114
|
|
|
99
115
|
## 完了条件
|
|
100
116
|
|
|
101
|
-
-
|
|
117
|
+
- 全観点に対して PASS/FAIL 判定と根拠(file:line引用)が記載されている。
|
|
102
118
|
- 修正事項がカテゴリ別・優先度付きで整理されている。
|
|
103
|
-
-
|
|
119
|
+
- 実装開始可否(PASS/FAIL)が明記され、関係者に共有済み。
|
|
104
120
|
|
|
105
121
|
## エスカレーション
|
|
106
122
|
|
|
107
|
-
- **
|
|
123
|
+
- **FAILした観点が複数(目安3件以上)**: 「致命的な不整合が複数あります。タスクドキュメント全体の再検討が必要です。」
|
|
108
124
|
- **目的未達**: 「現在の実装計画では目的を達成できません。定義や計画を更新してください。」
|
|
109
125
|
- **リスク未対策**: 「リサーチで検出されたリスクが計画に反映されていません。対策を追加してください。」
|
|
110
126
|
- **テスト不足**: 「テスト計画が不十分です。ユニット/統合/E2Eを補完してください。」
|
|
@@ -112,6 +128,6 @@ git commit -m "docs(task): レビューレポート作成 task{ID}"
|
|
|
112
128
|
|
|
113
129
|
## 参考
|
|
114
130
|
|
|
115
|
-
- [reference/consistency-checks.md](reference/consistency-checks.md) —
|
|
116
|
-
- [reference/assessment-criteria.md](reference/assessment-criteria.md) —
|
|
131
|
+
- [reference/consistency-checks.md](reference/consistency-checks.md) — 一貫性チェックの詳細項目(6観点すべてdoctor非対応)
|
|
132
|
+
- [reference/assessment-criteria.md](reference/assessment-criteria.md) — PASS/FAIL判定基準・修正ガイダンス・ベストプラクティス・タスクライフサイクル
|
|
117
133
|
- [examples/review-report-template.md](examples/review-report-template.md) — 詳細レポートテンプレート
|