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.
Files changed (89) hide show
  1. package/CHANGELOG.md +140 -94
  2. package/LICENSE +1 -1
  3. package/README.md +362 -263
  4. package/bin/checks/id-trace.js +137 -0
  5. package/bin/checks/links.js +59 -0
  6. package/bin/checks/placeholder.js +132 -0
  7. package/bin/checks/structure.js +127 -0
  8. package/bin/cli.js +51 -67
  9. package/bin/commands/doctor.js +128 -0
  10. package/bin/commands/install.js +58 -0
  11. package/bin/commands/new-task.js +117 -0
  12. package/bin/lib/check-cli.js +19 -0
  13. package/bin/lib/findings.js +31 -0
  14. package/bin/lib/markdown.js +103 -0
  15. package/bin/lib/project-spec.js +138 -0
  16. package/bin/lib/walk-md.js +23 -0
  17. package/package.json +68 -55
  18. package/skills/a-001-setup-doc-structure/SKILL.md +68 -68
  19. package/skills/a-001-setup-doc-structure/reference/directory-structure.md +75 -75
  20. package/skills/a-002-initialize-project/SKILL.md +145 -118
  21. package/skills/a-002-initialize-project/reference/hearing-questions.md +91 -41
  22. package/skills/a-002-initialize-project/reference/structure-check.md +12 -22
  23. package/skills/a-002a-slice-mvp-scope/SKILL.md +105 -0
  24. package/skills/a-002b-define-user-stories/SKILL.md +80 -0
  25. package/skills/a-002b-define-user-stories/reference/user-stories-guide.md +78 -0
  26. package/skills/a-003-create-scenarios/SKILL.md +97 -96
  27. package/{templates/project/02-behavior/01-scenarios.md → skills/a-003-create-scenarios/reference/detailed-gherkin-template.md} +413 -406
  28. package/skills/a-003-create-scenarios/reference/structure-check.md +20 -17
  29. package/skills/a-004-define-domain-model/SKILL.md +107 -98
  30. package/skills/a-004-define-domain-model/reference/event-storming-guide.md +33 -7
  31. package/skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md +49 -0
  32. package/skills/a-005-create-domain-diagram/SKILL.md +18 -17
  33. package/skills/a-006-review-requirements-domain/SKILL.md +79 -29
  34. package/skills/a-006-review-requirements-domain/examples/review-report-template.md +40 -25
  35. package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +67 -24
  36. package/skills/a-007-define-tech-stack/SKILL.md +99 -99
  37. package/skills/a-008-define-repository-structure/SKILL.md +96 -96
  38. package/skills/a-009-define-screen-design/SKILL.md +103 -103
  39. package/skills/a-010-define-design-system/SKILL.md +130 -130
  40. package/skills/a-011-define-data-model/SKILL.md +118 -118
  41. package/skills/a-012-define-api-spec/SKILL.md +105 -105
  42. package/skills/a-013-define-architecture/SKILL.md +98 -98
  43. package/skills/a-014-define-infrastructure/SKILL.md +118 -110
  44. package/skills/{a-002-initialize-project → a-014-define-infrastructure}/examples/nfr-baseline.md +2 -1
  45. package/{templates/project/01-requirements/04-non-functional-requirements.md → skills/a-014-define-infrastructure/examples/non-functional-requirements.md} +120 -115
  46. package/skills/a-015-review-design/SKILL.md +15 -11
  47. package/skills/a-015-review-design/examples/review-report-template.md +17 -29
  48. package/skills/a-015-review-design/reference/consistency-checks.md +5 -3
  49. package/skills/b-001-create-task-directory/SKILL.md +68 -68
  50. package/skills/b-002-create-task-definition/SKILL.md +114 -114
  51. package/skills/b-003-create-task-research/SKILL.md +130 -128
  52. package/skills/b-004-create-task-implementation/SKILL.md +98 -98
  53. package/skills/b-005-review-task/SKILL.md +40 -24
  54. package/skills/b-005-review-task/examples/review-report-template.md +25 -35
  55. package/skills/b-005-review-task/reference/assessment-criteria.md +79 -79
  56. package/skills/b-005-review-task/reference/consistency-checks.md +70 -11
  57. package/skills/c-001-implement-task/SKILL.md +186 -186
  58. package/skills/c-001-implement-task/reference/implementation-loop.md +65 -65
  59. package/skills/c-002-update-documentation/SKILL.md +159 -159
  60. package/skills/c-002-update-documentation/examples/project-doc-updates.md +4 -4
  61. package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +99 -97
  62. package/skills/d-001-review-retrospective/SKILL.md +93 -0
  63. package/skills/d-001-review-retrospective/examples/retrospective-report-template.md +50 -0
  64. package/skills/d-001-review-retrospective/reference/friction-point-mapping.md +30 -0
  65. package/templates/LESSONS.md +15 -0
  66. package/templates/project/01-requirements/01-product-brief.md +186 -0
  67. package/templates/project/01-requirements/02-mvp-scope.md +64 -0
  68. package/templates/project/01-requirements/03-parking-lot.md +29 -0
  69. package/templates/project/01-requirements/05-user-stories.md +28 -124
  70. package/templates/project/01-requirements/{02-features-implemented.md → 06-features-implemented.md} +77 -73
  71. package/templates/project/02-behavior/01-core-scenarios.md +80 -0
  72. package/templates/project/03-domain/01-domain-model.md +120 -339
  73. package/templates/project/03-domain/01-domain-sketch.md +90 -0
  74. package/templates/project/03-domain/02-ubiquitous-language.md +32 -153
  75. package/templates/project/04-design/01-tech-stack.md +367 -367
  76. package/templates/project/04-design/02-repository-structure.md +391 -391
  77. package/templates/project/04-design/03-screen-design.md +596 -596
  78. package/templates/project/04-design/04-design-system.md +261 -261
  79. package/templates/project/04-design/05-data-model.md +211 -211
  80. package/templates/project/04-design/06-api-spec.md +226 -226
  81. package/templates/project/04-design/07-architecture.md +183 -183
  82. package/templates/project/04-design/08-infrastructure.md +180 -180
  83. package/templates/project/AI_CONTEXT.md +55 -0
  84. package/templates/project/STAKEHOLDER-SUMMARY.md +66 -0
  85. package/templates/tasks/task-template/a-definition.md +143 -143
  86. package/templates/tasks/task-template/b-research.md +185 -185
  87. package/templates/tasks/task-template/c-implementation.md +200 -200
  88. package/templates/project/01-requirements/01-system-overview.md +0 -49
  89. package/templates/project/01-requirements/03-features-planned.md +0 -75
@@ -1,62 +1,52 @@
1
1
  # レビューレポート詳細テンプレート
2
2
 
3
- SKILL.md 手順4「レポート作成」で利用する詳細版テンプレート。簡易版は SKILL.md 本体にある。
3
+ SKILL.md 手順5「レポート作成」で利用する詳細版テンプレート。簡易版は SKILL.md 本体にある。
4
4
 
5
5
  ## 詳細テンプレート
6
6
 
7
7
  ```markdown
8
8
  # タスクレビュー結果: task{ID}-{SLUG}
9
- **実施日**: YYYY-MM-DD
10
9
 
11
- ## 判定
12
- - 総合評価: [OK / Conditional OK / NG]
13
- - 実装開始可否: [可 / 要修正]
10
+ **実施日**: YYYY-MM-DD
14
11
 
15
- ## 詳細チェック
16
- 1. **定義 ↔ 実装**:
17
- - 画面変更は全てステップに含まれています。
18
- - **Error**: APIエンドポイント `POST /api/verify` の実装ステップが漏れています。
12
+ ## 前提整合性(doctor links)
19
13
 
20
- 2. **リサーチ 実装**:
21
- - **Warning**: リスクとして挙げられた「メール送信遅延」への対策が計画に見当たりません。
14
+ | 項目 | 判定 | 根拠(file:line) |
15
+ |:--|:--:|:--|
16
+ | docs/tasks 内リンク | PASS | 該当ファイルへのリンク切れなし(`yodogawa doctor --json` の `links` finding に該当なし) |
22
17
 
23
- 3. **計画の完全性**:
24
- - ステップの粒度は適切です。
18
+ ## 判定
25
19
 
26
- ## 推奨アクション
27
- 1. `c-implementation.md` にAPI実装ステップを追加する。
28
- 2. メール送信処理を非同期キューに入れる設計を計画に追加する。
20
+ - 実装開始可否: FAIL
29
21
 
30
- ## 実装計画の完全性
31
- - フェーズ分割妥当性: [評価]
32
- - ステップ粒度: [評価]
33
- - テスト計画包括性: [評価]
34
- - 検出された問題: X件
22
+ ## 詳細(観点別 PASS/FAIL)
35
23
 
36
- ## タスク全体の実現可能性
37
- - 目的との整合性: [評価]
38
- - スコープの適切性: [評価]
39
- - 依存関係の明示: [評価]
40
- - 検出された問題: X件
24
+ | # | 観点 | 判定 | 根拠(file:line) | コメント |
25
+ |--:|:--|:--:|:--|:--|
26
+ |1|定義 ↔ 実装(変更内容)| FAIL | `docs/tasks/task000003-auth-login/a-definition.md:22`: 「POST /api/verify」 | 対応する実装ステップが c-implementation.md に無い |
27
+ |2|定義 ↔ 実装(ユーザーストーリー)| PASS | `docs/tasks/task000003-auth-login/c-implementation.md:10`: 「Step2: ログイン画面実装」 | 全USに対応ステップあり |
28
+ |3|定義 ↔ 実装(受け入れ基準)| PASS | `docs/tasks/task000003-auth-login/a-definition.md:40`: 「- [ ] 3回失敗でロック」 | 対応ステップで実現される |
29
+ |4|リサーチ ↔ 実装| FAIL | `docs/tasks/task000003-auth-login/b-research.md:18`: 「メール送信遅延リスク」 | 対策がc-implementation.mdに見当たらない |
30
+ |5|実装計画の完全性| PASS | `docs/tasks/task000003-auth-login/c-implementation.md:5`: 「Phase1完了条件: ...」 | フェーズ完了条件明記 |
31
+ |6|タスク全体の実現性| PASS | `docs/tasks/task000003-auth-login/a-definition.md:5`: 「目的: ログイン簡素化」 | 実装計画と整合 |
41
32
 
42
- ## 次のアクション
33
+ ## 修正が必要な項目
43
34
 
44
- 1. [最優先で修正すべき項目]
45
- 2. [次に修正すべき項目]
46
- 3. [余裕があれば修正する項目]
35
+ 1. **APIエンドポイント漏れ**: `POST /api/verify` の実装ステップを `c-implementation.md` に追加する。
36
+ 2. **リスク対策未反映**: メール送信を非同期キュー化する設計を計画に追加する。
47
37
 
48
- ## レビュー所見
38
+ ## 所見
49
39
 
50
40
  ### 強み
51
- [このタスクドキュメントの優れている点]
41
+ (このタスクドキュメントの優れている点)
52
42
 
53
43
  ### 改善点
54
- [改善すべき点、懸念事項]
44
+ (改善すべき点、懸念事項)
55
45
 
56
46
  ### 推奨事項
57
- [実装開始前に対応すべき事項]
47
+ (実装開始前に対応すべき事項)
58
48
 
59
49
  ## 備考
60
50
 
61
- [追加のコメント、質問事項など]
51
+ (追加のコメント、質問事項など)
62
52
  ```
@@ -1,79 +1,79 @@
1
- # 評価基準・修正ガイダンス
2
-
3
- SKILL.md 手順5「実装開始可否の判定」で参照する基準とアクション。
4
-
5
- ## 総合評価の基準
6
-
7
- - **優(実装開始OK)**: Error 0件、Warning 3件以下
8
- - **良(軽微な修正後に実装開始)**: Error 0件、Warning 4-10件
9
- - **可(修正後に実装開始)**: Error 1-3件、または Warning 11件以上
10
- - **不可(大幅な見直しが必要)**: Error 4件以上
11
-
12
- ## 推奨アクション
13
-
14
- - 総合評価が「優」「良」の場合:「実装開始可能です。`/c-001-implement-task` を実行してください。」
15
- - 総合評価が「可」の場合:「Error を修正後、実装を開始してください。」
16
- - 総合評価が「不可」の場合:「タスクドキュメント全体の見直しが必要です。チームでレビュー会議を実施することを推奨します。」
17
-
18
- ## 修正ガイダンス
19
-
20
- 検出された問題について、修正方法を提案:
21
-
22
- - Errorが検出された場合:「以下の問題を優先的に修正してください:」
23
- - 修正すべきドキュメントとスキルを案内:
24
- - 例:「ユーザーストーリーUS-002に対応する実装ステップがありません → `/b-004-create-task-implementation` で実装計画を更新」
25
- - 例:「受け入れ基準が一致していません → `/b-002-create-task-definition` でタスク定義を見直し」
26
-
27
- ユーザーに確認:「今すぐ修正作業を開始しますか?それとも後で個別に修正しますか?」
28
-
29
- ## ベストプラクティス
30
-
31
- - **実装開始前に必ず実行**: c-001 実行前に b-005 でレビューし、問題を早期発見
32
- - **段階的レビュー**: b-001完了後、b-002完了後、b-003完了後の各段階で部分レビューを実施
33
- - **チームレビュー**: 重要なタスクや大規模なタスクはチーム全体でレビュー会議を実施
34
- - **継続的更新**: 実装中に新しい発見があれば、ドキュメントを更新し、再レビュー
35
- - **メトリクス記録**: レビュー結果(Error数、Warning数)を記録し、タスク品質を追跡
36
- - **フィードバックループ**: レビュー結果を基にテンプレートや次のタスクを改善
37
-
38
- ## 参考: レビュー対象ドキュメント構造
39
-
40
- **a-definition.md(タスク定義)**:
41
-
42
- - 目的(解決する問題、提供する価値)
43
- - ユーザーストーリー一覧
44
- - 変更内容一覧(画面、データモデル、API、その他)
45
- - 受け入れ基準
46
-
47
- **b-research.md(リサーチ)**:
48
-
49
- - ベストプラクティス
50
- - 既存コードの調査
51
- - 再利用可能なコンポーネント
52
- - 技術選定
53
- - 技術的リスクと制約
54
-
55
- **c-implementation.md(実装計画)**:
56
-
57
- - フェーズ(目的、完了条件)
58
- - ステップ(成果物、詳細)
59
- - 受け入れ基準
60
-
61
- ## 参考: タスクライフサイクルにおける位置づけ
62
-
63
- ```
64
- b-001: タスクディレクトリ作成
65
-
66
- b-002: タスク定義作成
67
-
68
- b-003: リサーチ実施
69
-
70
- b-004: 実装計画作成
71
-
72
- b-005: タスクレビュー ← このスキル
73
-
74
- c-001: 実装実行
75
-
76
- c-002: ドキュメント更新
77
- ```
78
-
79
- b-005 は実装開始前の「最後の砦」として、タスクの品質と実現可能性を保証する重要な役割を果たします。
1
+ # 評価基準・修正ガイダンス
2
+
3
+ SKILL.md 手順5「実装開始可否の判定」で参照する基準とアクション。
4
+
5
+ ## 実装開始可否の基準
6
+
7
+ 観点別 PASS/FAIL 表(6項目、SKILL.md手順4)から機械的に導出する(総合スコアや段階評価による恣意的な判断をしない)。
8
+
9
+ - **PASS(実装開始可)**: 全6観点が PASS(各観点にError相当の指摘が0件)。Warning相当の注記が残っていても着手を妨げない。
10
+ - **FAIL(要修正)**: 1観点以上が FAIL(Error相当の指摘が1件以上)。該当観点の指摘を解消してから再レビューする。
11
+
12
+ ## 推奨アクション
13
+
14
+ - 実装開始可否が「PASS」の場合:「実装開始可能です。`/c-001-implement-task` を実行してください。」
15
+ - 実装開始可否が「FAIL」の場合:「以下のFAIL観点を修正後、再レビューしてください:」(FAILの観点と根拠(file:line)を列挙)
16
+ - FAILした観点が複数(目安3件以上)の場合:「タスクドキュメント全体の見直しが必要です。チームでレビュー会議を実施することを推奨します。」
17
+
18
+ ## 修正ガイダンス
19
+
20
+ 検出された問題について、修正方法を提案:
21
+
22
+ - Errorが検出された場合:「以下の問題を優先的に修正してください:」
23
+ - 修正すべきドキュメントとスキルを案内:
24
+ - 例:「ユーザーストーリーUS-002に対応する実装ステップがありません → `/b-004-create-task-implementation` で実装計画を更新」
25
+ - 例:「受け入れ基準が一致していません → `/b-002-create-task-definition` でタスク定義を見直し」
26
+
27
+ ユーザーに確認:「今すぐ修正作業を開始しますか?それとも後で個別に修正しますか?」
28
+
29
+ ## ベストプラクティス
30
+
31
+ - **実装開始前に必ず実行**: c-001 実行前に b-005 でレビューし、問題を早期発見
32
+ - **段階的レビュー**: b-001完了後、b-002完了後、b-003完了後の各段階で部分レビューを実施
33
+ - **チームレビュー**: 重要なタスクや大規模なタスクはチーム全体でレビュー会議を実施
34
+ - **継続的更新**: 実装中に新しい発見があれば、ドキュメントを更新し、再レビュー
35
+ - **メトリクス記録**: レビュー結果(Error数、Warning数)を記録し、タスク品質を追跡
36
+ - **フィードバックループ**: レビュー結果を基にテンプレートや次のタスクを改善
37
+
38
+ ## 参考: レビュー対象ドキュメント構造
39
+
40
+ **a-definition.md(タスク定義)**:
41
+
42
+ - 目的(解決する問題、提供する価値)
43
+ - ユーザーストーリー一覧
44
+ - 変更内容一覧(画面、データモデル、API、その他)
45
+ - 受け入れ基準
46
+
47
+ **b-research.md(リサーチ)**:
48
+
49
+ - ベストプラクティス
50
+ - 既存コードの調査
51
+ - 再利用可能なコンポーネント
52
+ - 技術選定
53
+ - 技術的リスクと制約
54
+
55
+ **c-implementation.md(実装計画)**:
56
+
57
+ - フェーズ(目的、完了条件)
58
+ - ステップ(成果物、詳細)
59
+ - 受け入れ基準
60
+
61
+ ## 参考: タスクライフサイクルにおける位置づけ
62
+
63
+ ```
64
+ b-001: タスクディレクトリ作成
65
+
66
+ b-002: タスク定義作成
67
+
68
+ b-003: リサーチ実施
69
+
70
+ b-004: 実装計画作成
71
+
72
+ b-005: タスクレビュー ← このスキル
73
+
74
+ c-001: 実装実行
75
+
76
+ c-002: ドキュメント更新
77
+ ```
78
+
79
+ b-005 は実装開始前の「最後の砦」として、タスクの品質と実現可能性を保証する重要な役割を果たします。
@@ -1,6 +1,6 @@
1
1
  # 一貫性チェックの詳細項目
2
2
 
3
- SKILL.md 手順3「一貫性チェック」で参照する詳細項目。
3
+ SKILL.md 手順4「一貫性チェック」で参照する詳細項目。**6観点すべて doctor 非対応**(`structure`/`id-trace`/`placeholder` は `docs/project` 固定で `docs/tasks/` を検査対象にしない。唯一 `links` が `docs/` 全体を検査するが、相対リンク切れの検出に限られ意味的整合性は見ない)。すべて `a-definition.md` / `b-research.md` / `c-implementation.md` を Read して判断し、判定には file:line の引用を必須とする。番号は SKILL.md 手順4の観点表(1〜6)に対応する。
4
4
 
5
5
  ## チェック1: タスク定義 ↔ 実装計画(変更内容のカバレッジ)
6
6
 
@@ -54,16 +54,75 @@ SKILL.md 手順3「一貫性チェック」で参照する詳細項目。
54
54
 
55
55
  - ❌ **Error**: ユーザーストーリーに対応する実装ステップがない
56
56
 
57
- ## チェック3: 実装計画の完全性
57
+ ## チェック3: タスク定義 ↔ 実装計画(受け入れ基準のカバレッジ)
58
58
 
59
- - フェーズ分割妥当性: [評価]
60
- - ステップ粒度: [評価]
61
- - テスト計画包括性: [評価]
62
- - 検出された問題: X件
59
+ ### 3.1. 受け入れ基準と実装ステップの対応
63
60
 
64
- ## チェック4: タスク全体の実現可能性
61
+ - タスク定義(a-definition.md)の受け入れ基準一覧を抽出
62
+ - 各受け入れ基準を満たす実装ステップ(またはテスト計画)が c-implementation.md に存在するか確認
65
63
 
66
- - 目的との整合性: [評価]
67
- - スコープの適切性: [評価]
68
- - 依存関係の明示: [評価]
69
- - 検出された問題: X件
64
+ **チェック項目**:
65
+
66
+ - [ ] すべての受け入れ基準に対応する実装ステップ・テストが存在する
67
+ - [ ] 受け入れ基準が「誰が読んでも同じ判定になる」具体性を持つ(例: 「正しく動作する」のような検証不能な表現でない)
68
+
69
+ **検出すべき問題**:
70
+
71
+ - ❌ **Error**: 受け入れ基準に対応する実装ステップ・テストが c-implementation.md に無い
72
+ - ⚠️ **Warning**: 受け入れ基準の表現が曖昧で検証方法が定まらない
73
+
74
+ ## チェック4: リサーチ ↔ 実装計画
75
+
76
+ ### 4.1. 技術選定・リスク対策の反映
77
+
78
+ - リサーチ(b-research.md)の技術選定が実装計画(c-implementation.md)のステップに反映されているか確認
79
+ - リサーチで挙げたリスクへの対策が実装計画に含まれているか確認
80
+
81
+ **チェック項目**:
82
+
83
+ - [ ] 選定技術が実装計画のステップと矛盾しない
84
+ - [ ] リサーチで指摘したリスクごとに、対応する対策・ステップが実装計画にある
85
+
86
+ **検出すべき問題**:
87
+
88
+ - ❌ **Error**: b-research.md の技術選定と c-implementation.md の記述が矛盾する
89
+ - ⚠️ **Warning**: リサーチで挙げたリスクへの対策が実装計画に見当たらない
90
+
91
+ ## チェック5: 実装計画の完全性
92
+
93
+ ### 5.1. フェーズ・ステップ・テスト計画の妥当性
94
+
95
+ - フェーズ分割: 各フェーズに目的・完了条件が明記され、後続フェーズが依存する成果物が先行フェーズで作られているか確認
96
+ - ステップ粒度: 1ステップが数時間規模に収まる具体性か(オープンエンドな粗いステップが無いか)確認
97
+ - テスト計画: 各受け入れ基準に対応するテスト(ユニット/統合/E2E)が計画されているか確認
98
+
99
+ **チェック項目**:
100
+
101
+ - [ ] 各フェーズに完了条件が明記されている
102
+ - [ ] 後続フェーズが依存する成果物が先行フェーズのステップに含まれる
103
+ - [ ] ステップ粒度が実装可能な単位に分割されている
104
+ - [ ] 受け入れ基準を網羅するテスト計画がある
105
+
106
+ **検出すべき問題**:
107
+
108
+ - ❌ **Error**: フェーズの完了条件が無い、または後続フェーズが依存する成果物がどのフェーズにも存在しない
109
+ - ⚠️ **Warning**: ステップ粒度が大きすぎる(分割検討)、テスト計画が受け入れ基準の一部を欠く
110
+
111
+ ## チェック6: タスク全体の実現可能性
112
+
113
+ ### 6.1. 目的・スコープ・依存関係の整合性
114
+
115
+ - 目的との整合性: a-definition.md の目的と c-implementation.md の成果物が一致するか確認
116
+ - スコープの適切性: 変更内容がタスクとして妥当な粒度か(分割すべき規模でないか)確認
117
+ - 依存関係の明示: 他タスク・外部チーム・環境変数等への依存が明記されているか確認
118
+
119
+ **チェック項目**:
120
+
121
+ - [ ] a-definition.md の目的と実装計画の成果物が一致する
122
+ - [ ] スコープが単一タスクとして妥当な粒度である
123
+ - [ ] 他タスク・外部要因への依存が明記されている
124
+
125
+ **検出すべき問題**:
126
+
127
+ - ❌ **Error**: 目的と実装計画が矛盾する、または必須の依存関係が未記載
128
+ - ⚠️ **Warning**: スコープが広すぎる(タスク分割を検討)