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
@@ -0,0 +1,71 @@
1
+ # Event Storming ガイド
2
+
3
+ SKILL.md 手順3〜6で使うドメインモデル定義の観点集。
4
+
5
+ ## Bounded Context の特定
6
+
7
+ シナリオとユーザーストーリーを分析し、ビジネス領域を特定。
8
+
9
+ - **戦略的分類**:
10
+ - **Core**: ビジネスの中核的な競争優位を生む領域
11
+ - **Supporting**: Core を支援する領域
12
+ - **Generic**: 汎用的に解決できる領域(既製ソリューション候補)
13
+
14
+ ## 各 Context の定義項目
15
+
16
+ ### 概要とアクター
17
+
18
+ - Context の責務と主要な責任
19
+ - 登場するアクター(Actors)とその役割
20
+
21
+ ### コマンドとイベント(Event Storming)
22
+
23
+ - **Commands**: アクターが実行するアクション(命令形、例: `RegisterUser`)
24
+ - **Domain Events**: 結果として発生するビジネス上の出来事(過去形、例: `UserRegistered`)
25
+ - **Policies**: 自動化ルール(`Whenever X, then Y` 形式)
26
+
27
+ ### 集約とモデル
28
+
29
+ - **Aggregates**: 一貫性を保つエンティティの塊
30
+ - **Read Models**: 画面表示用の参照モデル
31
+ - **External Systems**: 連携する外部システム
32
+
33
+ ## ユビキタス言語の洗練観点
34
+
35
+ - 用語の重複や曖昧さがないか
36
+ - 禁止用語(`Data`, `Process` など曖昧な語)が含まれていないか
37
+ - 定義が具体的で Context 内での意味に限定されているか
38
+
39
+ ## Context Map の関係性
40
+
41
+ - **Customer-Supplier**: 上流/下流の依存関係
42
+ - **Shared Kernel**: 共有される小さなモデル
43
+ - **Anticorruption Layer**: 外部モデルの変換層
44
+ - **Conformist**: 上流に従う
45
+ - **Partnership**: 相互協調
46
+
47
+ ## レビュー観点
48
+
49
+ - ビジネス用語は正確に表現されているか
50
+ - Aggregate の境界は適切か
51
+ - ユビキタス言語の定義は明確か
52
+
53
+ ## 構造確認コマンド
54
+
55
+ ```bash
56
+ grep "Bounded Context:" docs/project/domain/01-domain-model.md \
57
+ && echo "OK" || echo "MISSING: Bounded Context definition"
58
+ grep "### Aggregates" docs/project/domain/01-domain-model.md \
59
+ && echo "OK" || echo "MISSING: Aggregates section"
60
+ grep "| 用語 | 定義 |" docs/project/domain/02-ubiquitous-language.md \
61
+ && echo "OK" || echo "MISSING: Terminology table"
62
+ ```
63
+
64
+ ## Git コミットメッセージ
65
+
66
+ ```
67
+ docs: ドメインモデルとユビキタス言語の定義
68
+
69
+ - Event Stormingによるドメインモデルの作成
70
+ - Bounded Contextごとのユビキタス言語の整備
71
+ ```
@@ -1,120 +1,94 @@
1
- ---
2
- name: a-005-create-domain-diagram
3
- description: ドメインモデルをMermaid図で視覚化し、Context MapAggregate構造を図示するワークフロー
4
- ---
5
-
6
- # CreateDomainDiagram (a-005)
7
-
8
- ## 目的
9
-
10
- - ドメインモデルドキュメント(`01-domain-model.md`)を基に、視覚的なダイアグラムを作成する。
11
- - Context Map(Bounded Context間の関係図)をMermaid形式で図示する。
12
- - 各Bounded Context内のAggregate構造や関係性を図示する(オプション)。
13
-
14
- ## 前提
15
-
16
- - `docs/project/domain/01-domain-model.md` が作成されていること(先に `DefineDomainModel` (a-004) を実行)。
17
- - ドメインモデルドキュメントにBounded Contextの一覧と関係性が記述されていること。
18
-
19
- ## 手順
20
-
21
- ### 1. ドキュメントの確認
22
-
23
- - `docs/project/domain/01-domain-model.md` を読み込み、内容を確認する。
24
-
25
- ```bash
26
- ls -la docs/project/domain/01-domain-model.md 2>/dev/null || echo "ファイルが存在しません"
27
- ```
28
-
29
- - ファイルが存在しない場合:
30
- - ユーザーに通知:「ドメインモデルが見つかりません。先に `DefineDomainModel` (a-004) を実行してください。」
31
-
32
- ### 2. Context Map の情報収集と提案
33
-
34
- - `docs/project/domain/01-domain-model.md` から以下の情報を抽出する:
35
- - Bounded Contextのリスト
36
- - 戦略的分類(Core / Supporting / Generic)
37
- - Context間の関係性
38
-
39
- - 抽出した情報に基づき、Mermaid図の構成案を提示する:
40
- - 「以下の関係を図示します:」
41
- - Context A --> Context B (関係パターン)
42
-
43
- ### 3. Context Map 図の作成
44
-
45
- - `docs/project/domain/01-domain-model.md` の `## Context Map` セクションに Mermaid図を追加(または更新)する。
46
- - **スタイル定義**:
47
- - Core Domain: 金色 (`fill:#FFD700`)
48
- - Supporting Domain: 水色 (`fill:#87CEEB`)
49
- - Generic Domain: グレー (`fill:#D3D3D3`)
50
- - **エッジ定義**:
51
- - 関係パターンと通信方法をラベルに記載する。
52
-
53
- ### 4. 詳細図の作成(オプション)
54
-
55
- - ユーザーに確認:「以下の詳細図も作成しますか?」
56
- - **Aggregate構造図**: クラス図形式でAggregateの内部構造と関係性を表現。
57
- - **イベントフロー図**: シーケンス図形式で主要なビジネスフロー(Command -> Event -> Policy)を表現。
58
-
59
- - 「はい」の場合、対象のBounded Contextやシナリオを確認し、図を作成してドキュメント内の適切な箇所に追加する。
60
-
61
- ### 5. レビューと確認
62
-
63
- - 作成した図をユーザーに提示し、以下を確認:
64
- - 「関係性は正しく表現されていますか?」
65
- - 「分類の色分けは適切ですか?」
66
- - 「複雑すぎて読みにくい箇所はありませんか?」
67
-
68
- - フィードバックに基づき、レイアウト(TD/LR)や配置を調整する。
69
-
70
- ### 6. 完了条件と構造の確認
71
-
72
- - 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
73
-
74
- 1. **構造確認**:
75
-
76
- ```bash
77
- # Mermaidブロックの存在確認
78
- grep "\`\`\`mermaid" docs/project/domain/01-domain-model.md && echo "OK" || echo "MISSING: Mermaid diagram"
79
- # Context Mapセクションの確認
80
- grep "## Context Map" docs/project/domain/01-domain-model.md && echo "OK" || echo "MISSING: Context Map section"
81
- ```
82
-
83
- 2. **チェックリスト**:
84
- - [ ] `docs/project/domain/01-domain-model.md` にContext Map図が含まれている
85
- - [ ] Mermaid図が正しくレンダリングされる(構文エラーがない)
86
- - [ ] 戦略的分類に応じて色分けされている
87
-
88
- ### 7. Git への追加(オプション)
89
-
90
- - ユーザーに確認:「更新したドメインモデルドキュメントを Git に追加しますか?」
91
- - 「はい」の場合、以下を実行:
92
-
93
- ```bash
94
- git add docs/project/domain/01-domain-model.md
95
- git status
96
- ```
97
-
98
- - 推奨コミットメッセージ:
99
-
100
- ```
101
- docs: ドメインモデル図(Context Map)の追加
102
-
103
- - Bounded Context間の関係をMermaid図で視覚化
104
- - 戦略的分類に基づく色分けを追加
105
- ```
106
-
107
- ## 完了条件
108
-
109
- - `docs/project/domain/01-domain-model.md` にContext Map図が追加されている。
110
- - Bounded Context間の関係性が正しく表現されている。
111
- - 戦略的分類が視覚的に区別されている。
112
- - オプションの詳細図(Aggregate図、シーケンス図)が必要に応じて追加されている。
113
- - ユーザーが図の内容を承認している。
114
-
115
- ## エスカレーション
116
-
117
- - ドメインモデルが不完全で図を作成できない場合:
118
- - 「必要な情報(関係性など)が不足しています。`DefineDomainModel` (a-004) に戻って定義を補完しましょう。」と提案する。
119
- - 図が複雑すぎて読みにくい場合:
120
- - 「関係が複雑すぎます。主要な関係のみに絞るか、図を分割することを検討しましょう。」と提案する。
1
+ ---
2
+ name: a-005-create-domain-diagram
3
+ description: ドメインモデルを Mermaid 図(Context MapAggregate 構造)として可視化する。ドメインモデル定義後、関係性を図で確認する際に使用。
4
+ disable-model-invocation: true
5
+ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
6
+ ---
7
+
8
+ # CreateDomainDiagram (a-005)
9
+
10
+ ## 目的
11
+
12
+ - ドメインモデルドキュメント(`01-domain-model.md`)を基に、視覚的なダイアグラムを作成する。
13
+ - Context Map(Bounded Context 間の関係図)を Mermaid 形式で図示する。
14
+ - 各 Bounded Context 内の Aggregate 構造や関係性を図示する(オプション)。
15
+
16
+ ## 前提
17
+
18
+ - `docs/project/domain/01-domain-model.md` が作成されていること(`/a-004-define-domain-model` 実行済み)。
19
+ - ドメインモデルドキュメントに Bounded Context の一覧と関係性が記述されていること。
20
+
21
+ ## 手順
22
+
23
+ ### 1. ドキュメントの確認
24
+
25
+ ```bash
26
+ ls -la docs/project/domain/01-domain-model.md 2>/dev/null || echo "ファイルが存在しません"
27
+ ```
28
+
29
+ 未作成の場合、`/a-004-define-domain-model` の実行を促す。
30
+
31
+ ### 2. Context Map の情報収集と提案
32
+
33
+ `docs/project/domain/01-domain-model.md` から以下を抽出し、構成案を提示する:
34
+
35
+ - Bounded Context のリスト
36
+ - 戦略的分類(Core / Supporting / Generic)
37
+ - Context 間の関係性と通信方法
38
+
39
+ ### 3. Context Map 図の作成
40
+
41
+ `## Context Map` セクションに Mermaid 図を追加する。スタイル定義と記述テンプレートは [examples/mermaid-templates.md](examples/mermaid-templates.md#context-mapbounded-context-間の関係) を参照。
42
+
43
+ - Core Domain: 金色、Supporting: 水色、Generic: グレー
44
+ - エッジラベルに関係パターン(Customer/Supplier、ACL 等)と通信方法を記載
45
+
46
+ ### 4. 詳細図の作成(オプション)
47
+
48
+ ユーザー確認の上、以下を追加作成する:
49
+
50
+ - **Aggregate 構造図**: クラス図形式。Aggregate 内部の Entity/Value Object と関係を表現。
51
+ - **イベントフロー図**: シーケンス図形式。主要ビジネスフロー(Command → Event → Policy)を表現。
52
+
53
+ テンプレートは [examples/mermaid-templates.md](examples/mermaid-templates.md#aggregate-構造図クラス図形式) を参照。
54
+
55
+ ### 5. レビューと確認
56
+
57
+ 作成した図を提示し、関係性の正確性、色分けの適切性、読みやすさを確認する。質問例は [reference/structure-check.md](reference/structure-check.md#レビュー確認質問) を参照。フィードバックに応じてレイアウト(TD/LR)や配置を調整する。
58
+
59
+ ### 6. 構造チェック
60
+
61
+ ```bash
62
+ grep "\`\`\`mermaid" docs/project/domain/01-domain-model.md \
63
+ && grep "## Context Map" docs/project/domain/01-domain-model.md \
64
+ && echo "OK" || echo "MISSING SECTION"
65
+ ```
66
+
67
+ 詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
68
+
69
+ ### 7. Git への追加(任意)
70
+
71
+ ```bash
72
+ git add docs/project/domain/01-domain-model.md
73
+ git commit -m "docs: ドメインモデル図(Context Map)の追加"
74
+ ```
75
+
76
+ 詳細は [reference/structure-check.md](reference/structure-check.md#git-への追加任意) を参照。
77
+
78
+ ## 完了条件
79
+
80
+ - `docs/project/domain/01-domain-model.md` Context Map 図が追加されている。
81
+ - Bounded Context 間の関係性が正しく表現されている。
82
+ - 戦略的分類が視覚的に区別されている。
83
+ - オプションの詳細図(Aggregate 図、シーケンス図)が必要に応じて追加されている。
84
+ - ユーザーが図の内容を承認している。
85
+
86
+ ## エスカレーション
87
+
88
+ - **ドメインモデルが不完全で図を作成できない**: 「`/a-004-define-domain-model` に戻って定義を補完しましょう。」
89
+ - **図が複雑すぎて読みにくい**: 「主要な関係のみに絞るか、図を分割することを検討しましょう。」
90
+
91
+ ## 参考
92
+
93
+ - [examples/mermaid-templates.md](examples/mermaid-templates.md) — Context Map / Aggregate / シーケンス図の Mermaid テンプレート、スタイル定義、エッジラベル例
94
+ - [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー質問、Git 追加例
@@ -0,0 +1,73 @@
1
+ # Mermaid 図のテンプレート集
2
+
3
+ SKILL.md 手順3〜4 で使用する Mermaid 記述例。
4
+
5
+ ## Context Map(Bounded Context 間の関係)
6
+
7
+ ```mermaid
8
+ flowchart LR
9
+ Order[Order Context]:::core
10
+ Customer[Customer Context]:::supporting
11
+ Payment[Payment Context]:::generic
12
+
13
+ Order -->|Customer/Supplier| Customer
14
+ Order -->|Published Language| Payment
15
+
16
+ classDef core fill:#FFD700,stroke:#333,stroke-width:2px;
17
+ classDef supporting fill:#87CEEB,stroke:#333,stroke-width:1px;
18
+ classDef generic fill:#D3D3D3,stroke:#333,stroke-width:1px;
19
+ ```
20
+
21
+ ### スタイル定義
22
+
23
+ - Core Domain: 金色 `fill:#FFD700`
24
+ - Supporting Domain: 水色 `fill:#87CEEB`
25
+ - Generic Domain: グレー `fill:#D3D3D3`
26
+
27
+ ### エッジ(関係)のラベル例
28
+
29
+ - `-->|Customer/Supplier|`
30
+ - `-->|Conformist|`
31
+ - `-->|Published Language|`
32
+ - `-->|Anti-Corruption Layer|`
33
+ - `-->|Shared Kernel|`
34
+
35
+ ## Aggregate 構造図(クラス図形式)
36
+
37
+ ```mermaid
38
+ classDiagram
39
+ class Order {
40
+ +OrderId id
41
+ +CustomerId customerId
42
+ +OrderStatus status
43
+ +place()
44
+ +cancel()
45
+ }
46
+ class OrderItem {
47
+ +ProductId productId
48
+ +int quantity
49
+ }
50
+ Order "1" *-- "N" OrderItem : contains
51
+ ```
52
+
53
+ ## イベントフロー図(シーケンス図形式)
54
+
55
+ ```mermaid
56
+ sequenceDiagram
57
+ participant U as User
58
+ participant O as OrderAggregate
59
+ participant P as PaymentPolicy
60
+
61
+ U->>O: PlaceOrder (Command)
62
+ O-->>P: OrderPlaced (Event)
63
+ P->>P: trigger ProcessPayment
64
+ ```
65
+
66
+ ## コミットメッセージ例
67
+
68
+ ```text
69
+ docs: ドメインモデル図(Context Map)の追加
70
+
71
+ - Bounded Context 間の関係を Mermaid 図で視覚化
72
+ - 戦略的分類に基づく色分けを追加
73
+ ```
@@ -0,0 +1,43 @@
1
+ # 構造チェックとレビュー観点
2
+
3
+ SKILL.md 手順5〜7 で使用する確認コマンドとレビュー観点。
4
+
5
+ ## セクション存在確認
6
+
7
+ ```bash
8
+ # Mermaid ブロックの存在確認
9
+ grep "\`\`\`mermaid" docs/project/domain/01-domain-model.md && echo "OK" || echo "MISSING: Mermaid diagram"
10
+ # Context Map セクションの確認
11
+ grep "## Context Map" docs/project/domain/01-domain-model.md && echo "OK" || echo "MISSING: Context Map section"
12
+ ```
13
+
14
+ ## チェックリスト
15
+
16
+ - [ ] `docs/project/domain/01-domain-model.md` に Context Map 図が含まれている
17
+ - [ ] Mermaid 図が正しくレンダリングされる(構文エラーがない)
18
+ - [ ] 戦略的分類に応じて色分けされている(Core / Supporting / Generic)
19
+ - [ ] 関係パターン(Customer/Supplier など)と通信方法がエッジに記載されている
20
+ - [ ] 必要に応じて Aggregate 図やシーケンス図が追加されている
21
+
22
+ ## レビュー確認質問
23
+
24
+ - 「関係性は正しく表現されていますか?」
25
+ - 「分類の色分けは適切ですか?」
26
+ - 「複雑すぎて読みにくい箇所はありませんか?」
27
+ - 「主要なユースケース(Command → Event)が追えますか?」
28
+
29
+ ## Git への追加(任意)
30
+
31
+ ```bash
32
+ git add docs/project/domain/01-domain-model.md
33
+ git status
34
+ ```
35
+
36
+ 推奨コミットメッセージ:
37
+
38
+ ```text
39
+ docs: ドメインモデル図(Context Map)の追加
40
+
41
+ - Bounded Context 間の関係を Mermaid 図で視覚化
42
+ - 戦略的分類に基づく色分けを追加
43
+ ```
@@ -1,144 +1,85 @@
1
- ---
2
- name: a-006-review-requirements-domain
3
- description: 要件定義からドメインモデルまでのドキュメント間の一貫性をチェックし、不整合や漏れを検出するレビューワークフロー
4
- auto_execution_mode: 1
5
- ---
6
-
7
- # ReviewRequirementsDomain (a-006)
8
-
9
- ## 目的
10
-
11
- - ここまでに作成されたすべてのドキュメント間の一貫性を体系的にチェックする。
12
- - ドキュメント間の不整合、漏れ、矛盾を検出し、修正提案を提供する。
13
- - ユビキタス言語の遵守状況を確認し、用語の一貫性を保証する。
14
- - レビュー結果レポートを作成し、修正すべき項目を優先度付きでリストアップする。
15
-
16
- ## 前提
17
-
18
- - 以下のドキュメントが作成されていること:
19
- - `docs/project/requirements/01-system-overview.md`
20
- - `docs/project/requirements/02-features-implemented.md`
21
- - `docs/project/requirements/03-features-planned.md`
22
- - `docs/project/requirements/04-non-functional-requirements.md`
23
- - `docs/project/requirements/05-user-stories.md`
24
- - `docs/project/behavior/01-scenarios.md`
25
- - `docs/project/domain/01-domain-model.md`
26
- - `docs/project/domain/02-ubiquitous-language.md`
27
-
28
- ## 手順
29
-
30
- ### 1. ドキュメント存在確認
31
-
32
- - 必要なすべてのドキュメントが存在するか確認する:
33
-
34
- ```bash
35
- ls -l docs/project/requirements/*.md docs/project/behavior/*.md docs/project/domain/*.md
36
- ```
37
-
38
- - 不足しているドキュメントがある場合、対応するワークフロー(a-002, a-003, a-004)の実行を促す。
39
-
40
- ### 2. 一貫性チェックの実行
41
-
42
- 以下の項目について、自動検索(grep等)と手動確認を組み合わせて検証する。
43
-
44
- #### 2.1 ユーザーストーリー ↔ シナリオ
45
-
46
- - **カバレッジ**: すべてのユーザーストーリー(US-XXX)に対応するシナリオ(SC-XXX)が存在するか。
47
- - **整合性**: ストーリーの「価値」とシナリオの「結果」が一致しているか。
48
-
49
- #### 2.2 実装済み機能・予定機能 シナリオ
50
-
51
- - **実装済み機能**: `02-features-implemented.md` に記載の機能に、リグレッションテスト用のシナリオが存在するか。
52
- - **予定機能**: `03-features-planned.md` の優先度High機能にシナリオが存在するか。
53
-
54
- #### 2.3 非機能要件 ↔ ドメインモデル
55
-
56
- - **パフォーマンス**: `04-non-functional-requirements.md` の要件(読み込み速度など)に対し、Read ModelやCQRSが検討されているか。
57
- - **セキュリティ**: 認証・権限要件が Policy や Guard としてドメインモデルに含まれているか。
58
-
59
- #### 2.4 シナリオ ↔ ドメインモデル
60
-
61
- - **Command**: シナリオのWhen(アクション)がドメインモデルのCommandとして定義されているか。
62
- - **Event**: シナリオのThen(結果)がドメインモデルのDomain Eventとして定義されているか。
63
- - **Actor**: シナリオのActorがドメインモデルに存在するか。
64
-
65
- #### 2.5 ユビキタス言語の遵守
66
-
67
- - **用語定義**: ドメインモデルの主要要素(Aggregate, Command, Event)がユビキタス言語一覧にあるか。
68
- - **禁止用語**: 各ドキュメントに禁止用語(Data, Process等)が使われていないか。
69
-
70
- ```bash
71
- # 禁止用語の簡易検索(例)
72
- grep -r "Data" docs/project/domain/ || echo "No 'Data' found"
73
- grep -r "Process" docs/project/domain/ || echo "No 'Process' found"
74
- ```
75
-
76
- #### 2.6 目的との整合性
77
-
78
- - システム概要の「目的」と、ドメインモデルの「Core Domain」が一致しているか。
79
-
80
- ### 3. レビュー結果レポートの作成
81
-
82
- - 検出された問題(Error/Warning)をまとめ、`docs/project/REVIEW-REPORT.md` を作成する。
83
-
84
- **レポートフォーマット例**:
85
-
86
- ```markdown
87
- # ドキュメント一貫性レビュー結果
88
- **実施日**: YYYY-MM-DD
89
-
90
- ## サマリー
91
- - ✅ OK: X項目
92
- - ⚠️ Warning: X項目
93
- - ❌ Error: X項目
94
-
95
- ## 詳細
96
-
97
- ### 1. ユーザーストーリー ↔ シナリオ
98
- - ❌ **Error**: US-005 に対応するシナリオが見つかりません。
99
- - ✅ OK: 優先度Highのストーリーはすべてカバーされています。
100
-
101
- ### 2. 機能要件・非機能要件
102
- - ⚠️ **Warning**: 実装済み機能「決済」のシナリオが不足しています。
103
- - ✅ OK: パフォーマンス要件に対応するRead Modelが定義されています。
104
-
105
- ### 3. シナリオ ↔ ドメインモデル
106
- - ⚠️ **Warning**: シナリオSC-003のCommand「在庫を引き当てる」がドメインモデルに未定義です。
107
-
108
- ### 4. ユビキタス言語
109
- - ❌ **Error**: 用語「ShippingAddress」がユビキタス言語一覧にありません。
110
- - ⚠️ **Warning**: 禁止用語「User Data」が `01-domain-model.md` で使用されています。
111
-
112
- ## 推奨アクション
113
- 1. `CreateScenarios` (a-003) で US-005 のシナリオを追加する。
114
- 2. `DefineDomainModel` (a-004) で「在庫を引き当てる」コマンドを定義する。
115
- 3. `01-domain-model.md` の「User Data」を「User Profile」に修正する。
116
- ```
117
-
118
- ### 4. 結果の報告と修正提案
119
-
120
- - ユーザーにレポートの内容を要約して伝える。
121
- - 重大なエラー(❌)がある場合は、優先的に修正することを提案する。
122
- - 「修正作業を開始しますか?それともレポートをGitに保存して終了しますか?」
123
-
124
- ### 5. Git への追加(オプション)
125
-
126
- - ユーザーが希望する場合、レポートをコミットする。
127
-
128
- ```bash
129
- git add docs/project/REVIEW-REPORT--YYYYMMDDHHMMSS.md
130
- git commit -m "docs: 要件・ドメイン整合性レビューレポートの作成"
131
- ```
132
-
133
- ## 完了条件
134
-
135
- - `docs/project/REVIEW-REPORT.md` が作成されている。
136
- - 全ドキュメント間の整合性がチェックされ、結果(OK/Warning/Error)が記録されている。
137
- - 具体的な修正アクションが提案されている。
138
-
139
- ## エスカレーション
140
-
141
- - 多数のエラーが検出された場合:
142
- - 「不整合が多いため、ドキュメントの信頼性が低くなっています。関係者を集めて大規模なレビュー会議を行うことを推奨します。」
143
- - 重要機能(Core Domain)で不整合がある場合:
144
- - 「Core Domainにおける不整合はリスクが高いです。実装前に必ず解消してください。」
1
+ ---
2
+ name: a-006-review-requirements-domain
3
+ description: 要件定義・シナリオ・ドメインモデル間の一貫性を検証し、不整合や抜け漏れを検出する。ドメイン設計完了後、技術選定フェーズへ移る前の検査として使用。
4
+ disable-model-invocation: true
5
+ context: fork
6
+ allowed-tools: Read, Grep, Glob, Write, Bash
7
+ ---
8
+
9
+ # ReviewRequirementsDomain (a-006)
10
+
11
+ ## 目的
12
+
13
+ - ここまでに作成されたすべてのドキュメント間の一貫性を体系的にチェックする。
14
+ - ドキュメント間の不整合、漏れ、矛盾を検出し、修正提案を提供する。
15
+ - ユビキタス言語の遵守状況を確認し、用語の一貫性を保証する。
16
+ - レビュー結果レポートを作成し、修正すべき項目を優先度付きでリストアップする。
17
+
18
+ ## 前提
19
+
20
+ 以下のドキュメントが作成されていること:
21
+
22
+ - `docs/project/requirements/01-system-overview.md` 〜 `05-user-stories.md`
23
+ - `docs/project/behavior/01-scenarios.md`
24
+ - `docs/project/domain/01-domain-model.md`, `02-ubiquitous-language.md`
25
+
26
+ ## 手順
27
+
28
+ ### 1. ドキュメント存在確認
29
+
30
+ ```bash
31
+ ls -l docs/project/requirements/*.md docs/project/behavior/*.md docs/project/domain/*.md
32
+ ```
33
+
34
+ 不足があれば、対応する `/a-002`, `/a-003`, `/a-004` スキルの実行を促す。
35
+
36
+ ### 2. 一貫性チェックの実行
37
+
38
+ 以下の 6 観点を自動検索(grep 等)と手動確認で検証する。詳細な観点・コマンドは [reference/consistency-checks.md](reference/consistency-checks.md) を参照。
39
+
40
+ - **2.1 ユーザーストーリー ↔ シナリオ**: US-XXX に対応する SC-XXX の存在、価値と結果の整合
41
+ - **2.2 実装済み/予定機能 ↔ シナリオ**: リグレッション用/優先度 High のカバレッジ
42
+ - **2.3 非機能要件 ↔ ドメインモデル**: 性能要件(Read Model)、セキュリティ(Policy/Guard)
43
+ - **2.4 シナリオ ↔ ドメインモデル**: Command / Event / Actor の対応
44
+ - **2.5 ユビキタス言語**: 主要要素の登録、禁止用語の検出
45
+ - **2.6 目的との整合性**: システム目的と Core Domain の一致
46
+
47
+ ### 3. レビュー結果レポートの作成
48
+
49
+ 検出された問題(Error / Warning / OK)をまとめ、`docs/project/REVIEW-REPORT-YYYYMMDDHHMMSS.md` を作成する。フォーマットは [examples/review-report-template.md](examples/review-report-template.md#レポートフォーマット) を参照。
50
+
51
+ 必須セクション:
52
+
53
+ - サマリー(OK / Warning / Error の件数)
54
+ - 詳細(上記 6 観点ごとの結果)
55
+ - 推奨アクション(修正すべきタスクとスキル参照)
56
+
57
+ ### 4. 結果の報告と修正提案
58
+
59
+ - レポート内容を要約してユーザーに伝える。
60
+ - 重大なエラー(Error)がある場合は優先修正を提案。
61
+ - 「修正作業を開始しますか?それともレポートを Git に保存して終了しますか?」
62
+
63
+ ### 5. Git への追加(任意)
64
+
65
+ ```bash
66
+ git add docs/project/REVIEW-REPORT-*.md
67
+ git commit -m "docs: 要件・ドメイン整合性レビューレポートの作成"
68
+ ```
69
+
70
+ ## 完了条件
71
+
72
+ - `docs/project/REVIEW-REPORT-YYYYMMDDHHMMSS.md` が作成されている。
73
+ - 全ドキュメント間の整合性がチェックされ、結果(OK/Warning/Error)が記録されている。
74
+ - 具体的な修正アクションが提案されている。
75
+
76
+ ## エスカレーション
77
+
78
+ - **多数のエラーが検出された**: 「不整合が多くドキュメント信頼性が低下しています。関係者を集めた大規模レビュー会議を推奨します。」
79
+ - **Core Domain で不整合**: 「Core Domain における不整合はリスクが高いです。実装前に必ず解消してください。」
80
+ - 判断材料の詳細は [reference/consistency-checks.md](reference/consistency-checks.md#エスカレーションの判断材料) を参照。
81
+
82
+ ## 参考
83
+
84
+ - [examples/review-report-template.md](examples/review-report-template.md) — レビュー結果レポートのフォーマット例と重大度記号
85
+ - [reference/consistency-checks.md](reference/consistency-checks.md) — 6 観点の詳細なチェック項目、grep コマンド例、エスカレーション基準