spec-runner 1.1.17 → 1.2.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 (45) hide show
  1. package/package.json +1 -1
  2. package/spec-runner/templates/.claude/agents/code-reviewer.md +2 -8
  3. package/spec-runner/templates/.claude/agents/design-reviewer.md +6 -12
  4. package/spec-runner/templates/.claude/agents/impact-analyzer.md +4 -9
  5. package/spec-runner/templates/.claude/agents/test-runner.md +8 -11
  6. package/spec-runner/templates/.claude/rules/coding.md +28 -79
  7. package/spec-runner/templates/.claude/rules/design-docs.md +26 -24
  8. package/spec-runner/templates/.claude/rules/harness-formats.md +4 -4
  9. package/spec-runner/templates/.claude/rules/sub-agent-delegation.md +1 -1
  10. package/spec-runner/templates/.claude/rules/testing.md +39 -0
  11. package/spec-runner/templates/.claude/skills/architecture-definition/SKILL.md +3 -3
  12. package/spec-runner/templates/.claude/skills/architecture-skill-development/SKILL.md +41 -15
  13. package/spec-runner/templates/.claude/skills/commit/SKILL.md +1 -1
  14. package/spec-runner/templates/.claude/skills/design-change/SKILL.md +18 -11
  15. package/spec-runner/templates/.claude/skills/design-change/references//345/275/261/351/237/277/347/257/204/345/233/262/343/203/201/343/202/247/343/203/203/343/202/257/343/203/252/343/202/271/343/203/210.md +30 -37
  16. package/spec-runner/templates/.claude/skills/docs-driven-seed/SKILL.md +6 -9
  17. package/spec-runner/templates/.claude/skills/docs-driven-seed/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253.md +1 -1
  18. package/spec-runner/templates/.claude/skills/existing-project-to-docs/SKILL.md +13 -6
  19. package/spec-runner/templates/.claude/skills/harness-engineering/SKILL.md +9 -11
  20. package/spec-runner/templates/.claude/skills/simple-seed/SKILL.md +7 -10
  21. package/spec-runner/templates/.claude/skills/simple-seed/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/202/267/343/202/271/343/203/206/343/203/240/345/205/250/344/275/223/344/277/257/347/236/260.md +33 -0
  22. package/spec-runner/templates/.claude/skills/simple-seed/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/270/200/350/246/247.md +15 -0
  23. package/spec-runner/templates/.claude/skills/test-driven-development/SKILL.md +21 -41
  24. package/spec-runner/templates/.github/agents/code-reviewer.agent.md +2 -8
  25. package/spec-runner/templates/.github/agents/design-reviewer.agent.md +6 -12
  26. package/spec-runner/templates/.github/agents/impact-analyzer.agent.md +4 -9
  27. package/spec-runner/templates/.github/agents/test-runner.agent.md +8 -11
  28. package/spec-runner/templates/.github/instructions/coding.instructions.md +27 -78
  29. package/spec-runner/templates/.github/instructions/design-docs.instructions.md +26 -24
  30. package/spec-runner/templates/.github/instructions/harness-formats.instructions.md +4 -4
  31. package/spec-runner/templates/.github/instructions/sub-agent-delegation.instructions.md +1 -1
  32. package/spec-runner/templates/.github/instructions/testing.instructions.md +38 -0
  33. package/spec-runner/templates/.github/skills/architecture-definition/SKILL.md +3 -3
  34. package/spec-runner/templates/.github/skills/architecture-skill-development/SKILL.md +41 -15
  35. package/spec-runner/templates/.github/skills/commit/SKILL.md +1 -1
  36. package/spec-runner/templates/.github/skills/design-change/SKILL.md +18 -11
  37. package/spec-runner/templates/.github/skills/design-change/references//345/275/261/351/237/277/347/257/204/345/233/262/343/203/201/343/202/247/343/203/203/343/202/257/343/203/252/343/202/271/343/203/210.md +30 -37
  38. package/spec-runner/templates/.github/skills/docs-driven-seed/SKILL.md +6 -9
  39. package/spec-runner/templates/.github/skills/docs-driven-seed/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253.md +1 -1
  40. package/spec-runner/templates/.github/skills/existing-project-to-docs/SKILL.md +13 -6
  41. package/spec-runner/templates/.github/skills/harness-engineering/SKILL.md +10 -12
  42. package/spec-runner/templates/.github/skills/simple-seed/SKILL.md +7 -10
  43. package/spec-runner/templates/.github/skills/simple-seed/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/202/267/343/202/271/343/203/206/343/203/240/345/205/250/344/275/223/344/277/257/347/236/260.md +33 -0
  44. package/spec-runner/templates/.github/skills/simple-seed/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/270/200/350/246/247.md +15 -0
  45. package/spec-runner/templates/.github/skills/test-driven-development/SKILL.md +21 -41
@@ -5,8 +5,7 @@ description: 既存機能の変更を docs 正本で進めるフローガイド
5
5
 
6
6
  # design-change
7
7
 
8
- 既存機能の変更・修正を設計書駆動で進めるフローガイド。
9
- **フェーズを必ず順番通りに進める。ユーザーの承認なしにフェーズを先に進めない。**
8
+ 既存機能の変更・修正を設計書駆動で進めるフローガイド。フェーズは順番通りに進める。ユーザーの承認なしに先へ進めない。
10
9
 
11
10
  影響範囲のチェックリストは `references/影響範囲チェックリスト.md` を参照する。
12
11
  ADR テンプレートは `templates/90_ADR/ADRテンプレート.md` を使用する。
@@ -37,7 +36,7 @@ Phase 6: TDD → 実装 → 検証
37
36
  ## Phase 2: ADR 作成(必要時)
38
37
 
39
38
  1. アーキテクチャ、責務境界、保存方式、外部 IF などの意思決定が必要か判定する
40
- 2. 必要な場合は **3 案を提示する**
39
+ 2. 必要な場合は 3 案を提示する
41
40
  3. 各案について概要・メリット・デメリット・適合性を示す
42
41
  4. ユーザーが案を決定する
43
42
  5. テンプレート `templates/90_ADR/ADRテンプレート.md` をコピーして生成する
@@ -63,9 +62,10 @@ Phase 6: TDD → 実装 → 検証
63
62
 
64
63
  ## Phase 4: 概要設計の修正
65
64
 
66
- 1. `ユースケース一覧.md` / `システム全体俯瞰.md` / `ドメインモデル.md` / ADR を必要順に修正する
67
- 2. 修正完了ごとにチェックリストを更新する
68
- 3. 全概要設計の修正完了後、ユーザーに確認・承認を得る
65
+ 1. `ユースケース一覧.md` / `システム全体俯瞰.md` / ADR を必要順に修正する
66
+ 2. `style: ddd` の場合: `ドメインモデル.md` も必要に応じて修正する
67
+ 3. 修正完了ごとにチェックリストを更新する
68
+ 4. 全概要設計の修正完了後、ユーザーに確認・承認を得る
69
69
 
70
70
  ### 修正時の注意
71
71
 
@@ -74,11 +74,18 @@ Phase 6: TDD → 実装 → 検証
74
74
 
75
75
  ## Phase 5: 詳細設計の修正
76
76
 
77
+ `style: ddd` の場合:
78
+
77
79
  1. `docs/03_詳細設計/01_ドメイン/**` のドメイン設計を修正する
78
80
  2. `docs/03_詳細設計/02_ユースケース/**` の UC 設計を修正する
79
81
  3. DB・外部サービスの変更がある場合は `docs/03_詳細設計/03_DB・外部サービス/**` を修正する
80
- 4. frontmatter の `depends_on` / `maps_to` を更新する
81
- 5. ユーザーに最終確認を得る
82
+
83
+ `style: layered` の場合:
84
+
85
+ 1. `docs/03_詳細設計/01_ユースケース/**` の UC 設計を修正する
86
+ 2. DB・外部サービスの変更がある場合は `docs/03_詳細設計/02_DB・外部サービス/**` を修正する
87
+
88
+ frontmatter の `depends_on` / `maps_to` を更新する。ユーザーに最終確認を得る。
82
89
 
83
90
  ## Phase 6: TDD → 実装 → 検証
84
91
 
@@ -91,6 +98,6 @@ Phase 6: TDD → 実装 → 検証
91
98
 
92
99
  ## 原則
93
100
 
94
- - **影響候補の洗い出しを ADR より先に行う**
95
- - **概要設計を先に直し、そのあと詳細設計を直す**
96
- - **frontmatter の更新を後回しにしない**
101
+ - 影響候補の洗い出しを ADR より先に行う
102
+ - 概要設計を先に直し、そのあと詳細設計を直す
103
+ - frontmatter の更新を後回しにしない
@@ -1,66 +1,59 @@
1
1
  # 影響範囲チェックリスト
2
2
 
3
- design-change の Phase 3(影響ドキュメントの特定)で参照する。
3
+ > このファイルはテンプレートです。`architecture-skill-development` でプロジェクトの変更カテゴリと詳細設計パスに合わせて書き換えてください。
4
+
5
+ design-change の Phase 3(影響ドキュメントの確定)で参照する。
4
6
  変更の種類に応じて、修正が必要なドキュメントを網羅的に特定する。
5
7
 
6
8
  ## 変更種別ごとのチェック項目
7
9
 
8
- ### エージェントの追加・変更・削除
10
+ ### ユースケース(UC)の追加・変更・削除
9
11
 
10
12
  | ドキュメント | パス | チェック |
11
13
  |------------|------|------|
12
- | ユースケース一覧 | `docs/02_概要設計/ユースケース一覧.md` | エージェントが担当する UC の追加・修正・削除を反映 |
13
- | システム全体俯瞰 | `docs/02_概要設計/システム全体俯瞰.md` | エージェント構成・責務分割への影響 |
14
- | エージェント設計 | `docs/03_詳細設計/src/agents/{agent_name}/agent.md` | オーケストレーション、利用プラグイン、I/O の変更 |
15
- | ドメイン設計 | `docs/03_詳細設計/src/agents/{agent_name}/domain.md` | エンティティ・値オブジェクト・不変条件の変更 |
16
- | プロンプト設計 | `docs/03_詳細設計/src/agents/{agent_name}/prompts.md` | プロンプト構成・指示内容の変更 |
17
- | 設定 | `docs/03_詳細設計/src/agents/{agent_name}/config.md` | 設定パラメータ・閾値の変更 |
14
+ | ユースケース一覧 | `docs/02_概要設計/ユースケース一覧.md` | UC の追加・修正・削除を反映 |
15
+ | システム全体俯瞰 | `docs/02_概要設計/システム全体俯瞰.md` | 責務分割・外部 IF への影響 |
16
+ | UC 詳細設計 | `docs/03_詳細設計/<UC詳細設計パス>/UC-{日本語名}.md` | シーケンス・入出力・判断条件の変更 |
17
+ | DB・外部サービス | `docs/03_詳細設計/<DB・外部サービスパス>/` | UC が利用するスキーマ・外部 IF への影響 |
18
18
 
19
- ### ドメインモデル(エンティティ・値オブジェクト)の変更
19
+ ### ドメイン設計の変更(style: ddd のみ)
20
20
 
21
21
  | ドキュメント | パス | チェック |
22
22
  |------------|------|------|
23
- | ドメイン設計 | `docs/03_詳細設計/src/agents/{agent_name}/domain.md` | フィールド・ルール・不変条件の変更 |
24
- | システム全体俯瞰 | `docs/02_概要設計/システム全体俯瞰.md` | 責務境界や共有概念への影響 |
25
- | プロンプト設計 | `docs/03_詳細設計/src/agents/{agent_name}/prompts.md` | ドメイン変更がプロンプトに影響する場合 |
26
- | データベース設計 | `docs/03_詳細設計/infrastructure/database.md` | テーブル構造・保存方針への影響 |
27
- | スキーマ定義 | `docs/03_詳細設計/infrastructure/schema.dbml` | カラム・型・制約の変更 |
28
- | スキル設計 | `docs/03_詳細設計/src/plugins/skills/{skill_name}/skill.md` | スキルの入出力・判定ロジックへの影響 |
29
- | ツール設計 | `docs/03_詳細設計/src/plugins/tools/{tool_name}/tool.md` | ツールの入出力への影響 |
23
+ | ドメインモデル | `docs/02_概要設計/ドメインモデル.md` | 集約・境界コンテキストへの影響 |
24
+ | ドメイン詳細設計 | `docs/03_詳細設計/<ドメイン詳細設計パス>/{ドメイン名}.md` | エンティティ・値オブジェクト・不変条件の変更 |
25
+ | UC 詳細設計 | `docs/03_詳細設計/<UC詳細設計パス>/UC-{日本語名}.md` | ドメイン変更が UC フローに影響する場合 |
26
+ | DB・外部サービス | `docs/03_詳細設計/<DB・外部サービスパス>/` | スキーマ・保存方針への影響 |
30
27
 
31
- ### プラグイン(スキル・ツール)の追加・変更・削除
28
+ ### DB・外部サービスの変更
32
29
 
33
30
  | ドキュメント | パス | チェック |
34
31
  |------------|------|------|
35
- | スキル設計 | `docs/03_詳細設計/src/plugins/skills/{skill_name}/skill.md` | スキルの追加・修正・削除 |
36
- | ツール設計 | `docs/03_詳細設計/src/plugins/tools/{tool_name}/tool.md` | ツールの追加・修正・削除 |
37
- | エージェント設計 | `docs/03_詳細設計/src/agents/{agent_name}/agent.md` | 利用プラグイン一覧と呼び出し順の更新 |
38
- | ユースケース一覧 | `docs/02_概要設計/ユースケース一覧.md` | 対応する UC がある場合 |
39
- | システム全体俯瞰 | `docs/02_概要設計/システム全体俯瞰.md` | プラグイン構成の変更が全体構造に影響する場合 |
32
+ | DB・外部サービス | `docs/03_詳細設計/<DB・外部サービスパス>/` | テーブル定義・外部 API 仕様の変更 |
33
+ | UC 詳細設計 | `docs/03_詳細設計/<UC詳細設計パス>/UC-{日本語名}.md` | 保存フロー・外部呼び出しへの影響 |
34
+ | ドメイン詳細設計 | `docs/03_詳細設計/<ドメイン詳細設計パス>/{ドメイン名}.md` | ドメインモデルへの影響(style: ddd のみ) |
40
35
 
41
- ### データベーススキーマの変更
36
+ ### アーキテクチャ・設計方針の変更
42
37
 
43
38
  | ドキュメント | パス | チェック |
44
39
  |------------|------|------|
45
- | データベース設計 | `docs/03_詳細設計/infrastructure/database.md` | テーブル定義・インデックス・リレーション |
46
- | スキーマ定義 | `docs/03_詳細設計/infrastructure/schema.dbml` | dbml ファイルの更新 |
47
- | ドメイン設計 | `docs/03_詳細設計/src/agents/{agent_name}/domain.md` | ドメインモデルへの影響 |
48
- | エージェント設計 | `docs/03_詳細設計/src/agents/{agent_name}/agent.md` | 保存フローやトランザクションへの影響 |
40
+ | ADR | `docs/02_概要設計/90_ADR/全体/` | 横断的な決定を記録 |
41
+ | システム全体俯瞰 | `docs/02_概要設計/システム全体俯瞰.md` | 技術方針・全体構成の変更 |
42
+ | 要件定義 | `docs/01_要件定義/要件定義.md` | 要件レベルの変更がある場合 |
43
+ | 詳細設計一式 | `docs/03_詳細設計/**` | 方針変更の具体反映 |
49
44
 
50
- ### アーキテクチャ・設計方針の変更
45
+ ### 要件の変更
51
46
 
52
47
  | ドキュメント | パス | チェック |
53
48
  |------------|------|------|
54
- | ADR | `docs/02_概要設計/90_ADR/` | 横断的な決定 |
55
- | ADR(ドメインローカル) | `docs/02_概要設計/<ドメイン>/90_ADR/` | 特定ドメインの決定 |
56
- | システム全体俯瞰 | `docs/02_概要設計/システム全体俯瞰.md` | 技術方針・全体構成の変更 |
57
- | 要件定義 | `docs/01_要件定義/要件定義.md` | 要件レベルの変更がある場合 |
58
- | 詳細設計一式 | `docs/03_詳細設計/src/**` | 方針変更の具体反映 |
49
+ | 要件定義 | `docs/01_要件定義/要件定義.md` | 要件・スコープの変更 |
50
+ | ユビキタス言語辞書 | `docs/01_要件定義/ユビキタス言語辞書.md` | 用語の追加・変更 |
51
+ | ユースケース一覧 | `docs/02_概要設計/ユースケース一覧.md` | 要件変更に伴う UC の追加・削除 |
52
+ | システム全体俯瞰 | `docs/02_概要設計/システム全体俯瞰.md` | スコープ変更による構成への影響 |
59
53
 
60
54
  ## 二次影響の確認観点
61
55
 
62
- - **ユースケース一覧 ↔ エージェント設計**: 一覧に記載の UC がエージェントとプラグインでカバーされているか
63
- - **システム全体俯瞰 ↔ 詳細設計**: 責務分割が `docs/03_詳細設計/src/**` に落ちているか
64
- - **ドメイン設計 ↔ DBスキーマ**: ドメインのフィールドが DB カラムと対応しているか
65
- - **schema.dbml ↔ database.md**: dbml と設計書の内容が一致しているか
56
+ - **ユースケース一覧 ↔ 詳細設計**: 一覧に記載の UC が詳細設計でカバーされているか
57
+ - **システム全体俯瞰 ↔ 詳細設計**: 責務分割が詳細設計に落ちているか
58
+ - **ドメイン設計 ↔ DB スキーマ**: ドメインのフィールドが DB カラムと対応しているか(style: ddd のみ)
66
59
  - **frontmatter ↔ 実ファイル**: `depends_on` と `maps_to` が現状に追随しているか
@@ -5,10 +5,8 @@ description: UC/DDD 駆動の docs 正本開発フローの種。新規プロジ
5
5
 
6
6
  # docs-driven-seed
7
7
 
8
- **DDD(ドメイン駆動設計)を採用するプロジェクト向け**の docs 正本開発フロー参照実装(種)。
9
- `architecture.yaml` の `style: ddd` のときに使う。レイヤード / CRUD 中心のプロジェクトは `simple-seed` を使う。
10
-
11
- **このスキルをそのまま使い続けない。`architecture-skill-development` で自プロジェクト専用スキルに育てることを前提とする。**
8
+ > DDD を採用するプロジェクト向けの docs 正本開発フロー(種)。`architecture.yaml` の `style: ddd` で使う。レイヤード / CRUD 中心は `simple-seed` を使う。
9
+ > このスキルは種。`architecture-skill-development` でプロジェクト専用スキルに育てる。
12
10
 
13
11
  ## 全体フロー
14
12
 
@@ -65,7 +63,7 @@ docs/02_概要設計/
65
63
  ## Phase 3: ADR(必要時のみ)
66
64
 
67
65
  1. 設計判断が必要な場合だけ ADR を作る
68
- 2. **提案時に必ず 3 案を比較する。ドキュメントには採用案と採用理由のみ記録する**
66
+ 2. 提案時に必ず 3 案を比較する。ドキュメントには採用案と採用理由のみ記録する
69
67
  3. ファイル名は `mmdd-{日本語タイトル}.md`、配置先は対象フォルダ
70
68
 
71
69
  | 対象 | 配置先 |
@@ -79,7 +77,7 @@ docs/02_概要設計/
79
77
 
80
78
  ## Phase 4: 詳細設計
81
79
 
82
- **ドメイン → UC → DB・外部サービス の順に設計する。**
80
+ ドメイン → UC → DB・外部サービス の順に設計する。
83
81
 
84
82
  ### 4-1. ドメイン
85
83
 
@@ -122,6 +120,5 @@ docs/03_詳細設計/03_DB・外部サービス/
122
120
 
123
121
  ## 原則
124
122
 
125
- - **このスキルは種。`architecture-skill-development` でプロジェクト専用スキルに育てることを前提とする**
126
- - **ドメインを先に設計し、UC はドメインを参照する形で書く**
127
- - **`maps_to` は必ず設定する。パス推定に頼らない**
123
+ - ドメインを先に設計し、UC はドメインを参照する形で書く
124
+ - `maps_to` は必ず設定する。パス推定に頼らない
@@ -10,7 +10,7 @@ spec_runner:
10
10
 
11
11
  # ドメインモデル
12
12
 
13
- 集約と境界コンテキストの概念モデル。DBスキーマ・永続化の詳細はここに書かない。
13
+ 集約と境界コンテキストの概念モデル。DB スキーマ・永続化の詳細はここに書かない。
14
14
 
15
15
  ## 境界コンテキスト
16
16
 
@@ -34,18 +34,25 @@ Phase 5: architecture contract 化
34
34
 
35
35
  ## Phase 3: 概要設計の draft 化
36
36
 
37
- 1. UC から集約・境界コンテキストを整理し `docs/02_概要設計/ドメインモデル.md` を draft する
38
- 2. `docs/02_概要設計/システム全体俯瞰.md` を作る
37
+ 1. `docs/02_概要設計/システム全体俯瞰.md` を作る
38
+ 2. `style: ddd` の場合: UC から集約・境界コンテキストを整理し `docs/02_概要設計/ドメインモデル.md` を draft する
39
39
  3. 必要なら ADR 候補も洗い出す(配置先は `90_ADR/全体/` / `ドメイン/` / `UC/` / `DB/`)
40
40
  4. ユーザーに確認・承認を得る
41
41
 
42
42
  ## Phase 4: 詳細設計の draft 化
43
43
 
44
+ `style: ddd` の場合:
45
+
44
46
  1. ドメインごとにビジネスルール・集約を整理し `docs/03_詳細設計/01_ドメイン/{ドメイン名}.md` を draft する
45
47
  2. UC ごとに `docs/03_詳細設計/02_ユースケース/UC-{日本語名}.md` を draft する
46
48
  3. DB・外部サービスの仕様が必要なら `docs/03_詳細設計/03_DB・外部サービス/` を作る
47
- 4. 各ファイルの `maps_to` に対応コードとテストを入れる
48
- 5. ユーザーに確認・承認を得る
49
+
50
+ `style: layered` の場合:
51
+
52
+ 1. UC ごとに `docs/03_詳細設計/01_ユースケース/UC-{日本語名}.md` を draft する
53
+ 2. DB・外部サービスの仕様が必要なら `docs/03_詳細設計/02_DB・外部サービス/` を作る
54
+
55
+ 各ファイルの `maps_to` に対応コードとテストを入れる。ユーザーに確認・承認を得る。
49
56
 
50
57
  ## Phase 5: architecture contract 化
51
58
 
@@ -55,6 +62,6 @@ Phase 5: architecture contract 化
55
62
 
56
63
  ## 原則
57
64
 
58
- - 既存コードを正として観測し、推測は明示する
59
- - docs は最初から完璧を目指さず、draft として起こす
65
+ - 既存コードを正として観測する。推測する場合は明示する
66
+ - docs は最初から完璧を目指さず draft として起こす
60
67
  - `maps_to` と `depends_on` を使って後続変更に耐える形へ整える
@@ -1,12 +1,11 @@
1
1
  ---
2
2
  name: harness-engineering
3
- description: AI 開発運用の skills・rules・agents・テンプレートを改善・保守するためのメタスキル。別の作業を進めた結果、繰り返し発生する手戻り、ルール不足、責務の曖昧さ、テンプレートの重複が見つかったときに使用する。通常の機能実装やアプリコードの TDD には使わない。
3
+ description: skills・rules・agents・テンプレートを改善・保守するメタスキル。手戻り・ルール不足・責務の曖昧さ・テンプレート重複が繰り返し発生したときに使う。通常の機能実装や TDD には使わない。
4
4
  ---
5
5
 
6
6
  # harness-engineering
7
7
 
8
- skills・rules・agents・テンプレートを改善するためのメタスキル。
9
- **主目的の作業を先に進め、再利用価値のある改善が必要なときだけ使う。**
8
+ skills・rules・agents・テンプレートを改善するためのメタスキル。主目的の作業を先に進め、再利用価値のある改善が必要なときだけ使う。
10
9
 
11
10
  ## 使うタイミング
12
11
 
@@ -24,8 +23,7 @@ skills・rules・agents・テンプレートを改善するためのメタスキ
24
23
  - アプリケーションコードに対する TDD
25
24
  - 単なる言い回しの微調整で済む変更
26
25
 
27
- **TDD はこのスキルの対象ではない。**
28
- TDD は `test-driven-development` スキルに従い、対象プロダクトのコード品質を上げるために行う。
26
+ TDD はこのスキルの対象ではない。TDD は `test-driven-development` スキルに従い、対象プロダクトのコード品質を上げるために行う。
29
27
 
30
28
  ## 全体フロー
31
29
 
@@ -68,7 +66,7 @@ Phase 4: 影響範囲の反映確認
68
66
 
69
67
  ## Phase 3: skill / rule / agent / template の修正
70
68
 
71
- ファイルを作成・修正する前に **`.claude/rules/harness-formats.md`** を読み、フォーマットを確認する。
69
+ ファイルを作成・修正する前に `.claude/rules/harness-formats.md` を読み、フォーマットを確認する。
72
70
 
73
71
  1. 対象ファイルを特定する
74
72
  2. 意図が変わらない最小差分で修正する
@@ -98,8 +96,8 @@ Phase 4: 影響範囲の反映確認
98
96
 
99
97
  ## 原則
100
98
 
101
- - **ハーネス改善は常時実行しない。必要なときだけ行う**
102
- - **主目的の作業を優先する**
103
- - **最小変更で改善する**
104
- - **新しい skill の追加は慎重に行う**
105
- - **TDD の責務を skill 改善と混同しない**
99
+ - ハーネス改善は常時実行しない。必要なときだけ行う
100
+ - 主目的の作業を優先する
101
+ - 最小変更で改善する
102
+ - 新しい skill の追加は慎重に行う
103
+ - TDD の責務を skill 改善と混同しない
@@ -5,10 +5,8 @@ description: レイヤードアーキテクチャ / CRUD 中心のプロジェ
5
5
 
6
6
  # simple-seed
7
7
 
8
- **レイヤードアーキテクチャ / CRUD 中心のプロジェクト向け**の docs 正本開発フロー参照実装(種)。
9
- `architecture.yaml` の `style: layered` のときに使う。DDD が必要なプロジェクトは `docs-driven-seed` を使う。
10
-
11
- **このスキルをそのまま使い続けない。`architecture-skill-development` で自プロジェクト専用スキルに育てることを前提とする。**
8
+ > レイヤードアーキテクチャ / CRUD 中心のプロジェクト向けの docs 正本開発フロー(種)。`architecture.yaml` の `style: layered` で使う。DDD が必要なプロジェクトは `docs-driven-seed` を使う。
9
+ > このスキルは種。`architecture-skill-development` でプロジェクト専用スキルに育てる。
12
10
 
13
11
  ## 全体フロー
14
12
 
@@ -33,7 +31,7 @@ Phase 5: TDD → 実装
33
31
 
34
32
  ## Phase 2: 概要設計
35
33
 
36
- テンプレート: `../docs-driven-seed/templates/02_概要設計/`(ユースケース一覧・システム全体俯瞰のみ)
34
+ テンプレート: `templates/02_概要設計/`
37
35
 
38
36
  1. 要件定義からユースケースを洗い出す(Query / Command を意識)
39
37
  2. テンプレートをコピーして `docs/02_概要設計/ユースケース一覧.md` を作る
@@ -55,7 +53,7 @@ docs/02_概要設計/
55
53
  ## Phase 3: ADR(必要時のみ)
56
54
 
57
55
  1. 設計判断が必要な場合だけ ADR を作る
58
- 2. **提案時に必ず 3 案を比較する。ドキュメントには採用案と採用理由のみ記録する**
56
+ 2. 提案時に必ず 3 案を比較する。ドキュメントには採用案と採用理由のみ記録する
59
57
  3. ファイル名は `mmdd-{日本語タイトル}.md`、配置先は対象フォルダ
60
58
 
61
59
  | 対象 | 配置先 |
@@ -68,7 +66,7 @@ docs/02_概要設計/
68
66
 
69
67
  ## Phase 4: 詳細設計
70
68
 
71
- **UC → DB・外部サービス の順に設計する。**
69
+ UC → DB・外部サービス の順に設計する。
72
70
 
73
71
  ### 4-1. ユースケース
74
72
 
@@ -100,6 +98,5 @@ docs/03_詳細設計/02_DB・外部サービス/
100
98
 
101
99
  ## 原則
102
100
 
103
- - **このスキルは種。`architecture-skill-development` でプロジェクト専用スキルに育てることを前提とする**
104
- - **ドメイン層は持たない。ビジネスロジックは UC / サービス層で表現する**
105
- - **`maps_to` は必ず設定する。パス推定に頼らない**
101
+ - ドメイン層は持たない。ビジネスロジックは UC / サービス層で表現する
102
+ - `maps_to` は必ず設定する。パス推定に頼らない
@@ -0,0 +1,33 @@
1
+ ---
2
+ spec_runner:
3
+ node_id: overview.system_context
4
+ kind: overview_design
5
+ depends_on:
6
+ - overview.use_case_list
7
+ maps_to:
8
+ - src/
9
+ ---
10
+
11
+ # システム全体俯瞰
12
+
13
+ ## コンポーネント全体図
14
+
15
+ ```mermaid
16
+ graph LR
17
+ User([ユーザー])
18
+ subgraph システム
19
+ {フロントエンド}
20
+ {バックエンド}
21
+ end
22
+ Ext([{外部サービス}])
23
+
24
+ User --> {フロントエンド}
25
+ {フロントエンド} --> {バックエンド}
26
+ {バックエンド} --> Ext
27
+ ```
28
+
29
+ ## 外部インターフェース
30
+
31
+ | 外部システム | 方向 | プロトコル | 概要 |
32
+ |------------|------|----------|------|
33
+ | {外部システム名} | 受信 / 送信 | {HTTP / gRPC など} | {概要} |
@@ -0,0 +1,15 @@
1
+ ---
2
+ spec_runner:
3
+ node_id: overview.use_case_list
4
+ kind: overview_design
5
+ depends_on:
6
+ - requirement.要件定義
7
+ maps_to:
8
+ - docs/03_詳細設計/01_ユースケース/
9
+ ---
10
+
11
+ # ユースケース一覧
12
+
13
+ | UC ID | UC名 | 種別 | 概要 |
14
+ |-------|------|------|------|
15
+ | UC-{番号} | {UC名} | Command / Query | {概要} |
@@ -9,13 +9,13 @@ description: 新機能実装やバグ修正を行う際、実装コードを書
9
9
 
10
10
  テストを先に書く。失敗するのを確認する。通る最小のコードを書く。
11
11
 
12
- **中核原則:** テストが失敗するのを見ていないなら、そのテストが正しいものを検証しているか分からない。
12
+ テストが失敗するのを見ていないなら、そのテストが正しいものを検証しているか分からない。
13
13
 
14
14
  ## いつ使うか
15
15
 
16
- **常に:** 新機能・バグ修正・リファクタリング・振る舞い変更
16
+ 常に使う: 新機能・バグ修正・リファクタリング・振る舞い変更
17
17
 
18
- **例外(ユーザーに確認する):** 使い捨てプロトタイプ・生成コード・設定ファイル
18
+ 例外(ユーザーに確認する): 使い捨てプロトタイプ・生成コード・設定ファイル
19
19
 
20
20
  ## 鉄の掟
21
21
 
@@ -28,7 +28,7 @@ description: 新機能実装やバグ修正を行う際、実装コードを書
28
28
 
29
29
  ## テスト戦略:テストピラミッド
30
30
 
31
- 実装前にどのテスト種別を書くかを決める。迷ったら**単体テストから始める**。
31
+ 実装前にどのテスト種別を書くかを決める。迷ったら単体テストから始める。
32
32
 
33
33
  ```
34
34
  /\
@@ -55,7 +55,7 @@ description: 新機能実装やバグ修正を行う際、実装コードを書
55
55
 
56
56
  ### 結合テスト(Integration)
57
57
 
58
- **対象:** 複数モジュールの連携、DB・キャッシュ・外部APIとの境界
58
+ **対象:** 複数モジュールの連携、DB・キャッシュ・外部 API との境界
59
59
 
60
60
  **書くとき:**
61
61
  - DB へのクエリ・永続化
@@ -91,32 +91,11 @@ description: 新機能実装やバグ修正を行う際、実装コードを書
91
91
  | バグ修正 | 最小レベルで再現テスト | — |
92
92
 
93
93
  **バグ修正の場合:** バグを再現できる最も低いレベルのテストを書く。
94
- 単体で再現できるなら単体、DBが絡むなら結合。E2E で初めて再現するバグは、単体・結合に落とし込めないか検討する。
94
+ 単体で再現できるなら単体、DB が絡むなら結合。E2E で初めて再現するバグは、単体・結合に落とし込めないか検討する。
95
95
 
96
96
  ## テスト実行コマンド
97
97
 
98
- > このスキルはテンプレートとして配布されます。
99
- > `architecture-skill-development` を使ってプロジェクト固有のコマンドに書き換えてください。
100
-
101
- ```bash
102
- # 単体テスト(高速・毎回実行)
103
- <your-unit-test-command>
104
-
105
- # 結合テスト
106
- <your-integration-test-command>
107
-
108
- # E2E テスト
109
- <your-e2e-test-command>
110
-
111
- # 全テスト
112
- <your-test-command>
113
-
114
- # 特定ファイル
115
- <your-test-command> <test-file>
116
-
117
- # カバレッジ計測
118
- <your-test-command> --coverage
119
- ```
98
+ `.claude/rules/testing.md` に記載されたコマンドを使う。
120
99
 
121
100
  ## Red-Green-Refactor
122
101
 
@@ -145,7 +124,7 @@ test("ある入力に対して期待する出力を返す", () => {
145
124
 
146
125
  ### Verify RED - 失敗するのを確認する
147
126
 
148
- **必須。絶対に省略しない。**
127
+ > 必須。絶対に省略しない。
149
128
 
150
129
  `@test-runner` エージェントに委任して実行する。
151
130
 
@@ -164,7 +143,7 @@ test("ある入力に対して期待する出力を返す", () => {
164
143
 
165
144
  ### Verify GREEN - 通るのを確認する
166
145
 
167
- **必須。**
146
+ > 必須。
168
147
 
169
148
  `@test-runner` エージェントに委任して実行する。
170
149
 
@@ -178,8 +157,8 @@ test("ある入力に対して期待する出力を返す", () => {
178
157
 
179
158
  ### REFACTOR - 整理する
180
159
 
181
- Greenの後にのみ: 重複削除・命名改善・ヘルパ抽出。
182
- テストは常にGreenを維持する。新しい挙動は追加しない。
160
+ Green の後にのみ: 重複削除・命名改善・ヘルパ抽出。
161
+ テストは常に Green を維持する。新しい挙動は追加しない。
183
162
 
184
163
  ### 繰り返す
185
164
 
@@ -189,12 +168,12 @@ Greenの後にのみ: 重複削除・命名改善・ヘルパ抽出。
189
168
 
190
169
  - **最小**: 1つの振る舞いだけ。「and」が入るなら分割する
191
170
  - **明確**: テスト名が挙動を説明する
192
- - **意図が見える**: 望ましいAPIの使い方が伝わる
171
+ - **意図が見える**: 望ましい API の使い方が伝わる
193
172
 
194
173
  ## テストのコメント
195
174
 
196
175
  テストコメントの規約は同梱のコーディング規約ファイルの「テストコメント規約」に従う。
197
- GREEN / REFACTORフェーズで書く実装コードにもビジネスロジックの意図をコメントする。
176
+ GREEN / REFACTOR フェーズで書く実装コードにもビジネスロジックの意図をコメントする。
198
177
 
199
178
  ## テスト構成
200
179
 
@@ -256,18 +235,19 @@ tests/
256
235
  |------|------|
257
236
  | 「簡単すぎてテスト不要」 | 簡単でも壊れる。テストは30秒 |
258
237
  | 「あとでテストする」 | すぐ通るテストは何も証明しない |
259
- | 「今回だけTDDを飛ばす」 | 合理化である。止めること |
260
- | テスト前にコードを書いた | コードを削除し、TDDで最初からやり直す |
238
+ | 「今回だけ TDD を飛ばす」 | 合理化である。止めること |
239
+ | テスト前にコードを書いた | コードを削除し、TDD で最初からやり直す |
261
240
  | テストが最初から通る | 既存挙動をテストしている。テストを修正する |
262
241
  | なぜ失敗したか説明できない | テストが正しいか再検討する |
263
242
  | 全部 E2E で書いた | ピラミッドが逆転している。単体・結合に落とし込む |
264
243
  | 全部モックだらけ | 結合が強すぎる。または結合テストを書くべき |
265
244
 
266
- **どれか1つでも当てはまるなら: コードを削除し、TDDで最初からやり直す。**
245
+ どれか 1 つでも当てはまるなら: コードを削除し、TDD で最初からやり直す。
267
246
 
268
247
  ## 完了時のレビュー
269
248
 
270
- 実装完了後、以下のエージェントでレビューする:
249
+ 実装完了後、以下のエージェントを**同時に**起動してレビューする:
250
+ - `@design-reviewer` — 設計書⇔実装の整合性チェック
271
251
  - `@code-reviewer` — コーディング規約への適合チェック
272
252
 
273
253
  ## 検証チェックリスト
@@ -285,13 +265,13 @@ tests/
285
265
  - [ ] モック方針がテスト種別に合っている
286
266
  - [ ] エッジケースとエラーをカバーした
287
267
 
288
- すべてにチェックできないならTDDを飛ばしている。やり直すこと。
268
+ すべてにチェックできないなら TDD を飛ばしている。やり直すこと。
289
269
 
290
270
  ## 詰まったとき
291
271
 
292
272
  | 問題 | 解決 |
293
273
  |------|------|
294
- | どうテストすべきか分からない | 望むAPIを書き、まずアサーションを書く。ユーザーに相談する |
274
+ | どうテストすべきか分からない | 望む API を書き、まずアサーションを書く。ユーザーに相談する |
295
275
  | どのテスト種別か迷う | 単体から始める。単体で書けないなら結合を検討する |
296
276
  | テストが複雑すぎる | 設計が複雑すぎる。インターフェースを簡素化する |
297
277
  | 何でもモック必須 | 結合が強すぎる。依存性注入を使う。または結合テストで書く |
@@ -302,7 +282,7 @@ tests/
302
282
 
303
283
  ```
304
284
  本番コード → 先にテストが存在し、失敗している
305
- それ以外 → TDDではない
285
+ それ以外 → TDD ではない
306
286
  ```
307
287
 
308
288
  ユーザーの許可なしに例外はない。
@@ -5,9 +5,9 @@ tools: Read, Grep, Glob, Bash
5
5
  model: sonnet
6
6
  ---
7
7
 
8
- # コーディング規約チェックエージェント
8
+ # コーディング規約チェックエージェント(読み取り専用)
9
9
 
10
- 変更されたコードをコーディング規約と照合し、違反を報告する。
10
+ 変更されたコードをコーディング規約と照合し、違反を報告する。変更ファイルのみが対象。
11
11
 
12
12
  ## 手順
13
13
 
@@ -31,9 +31,3 @@ model: sonnet
31
31
  ### 問題なし
32
32
  - [チェック済みファイル一覧]
33
33
  ```
34
-
35
- ## 注意事項
36
-
37
- - 読み取り専用(コードの変更は行わない)
38
- - 日本語で報告する
39
- - 変更されたファイルのみをチェック対象とする(既存コードの規約違反は指摘しない)
@@ -5,17 +5,16 @@ tools: Read, Grep, Glob
5
5
  model: sonnet
6
6
  ---
7
7
 
8
- # 設計書⇔実装 整合性チェックエージェント
8
+ # 設計書⇔実装 整合性チェックエージェント(読み取り専用)
9
9
 
10
- docs/ 配下の設計書と src/ 配下の実装コードを突合し、乖離を報告する。
10
+ `docs/` の設計書と `src/` の実装コードを突合し、乖離を報告する。`maps_to` を唯一の参照先とする(パス推定は行わない)。
11
11
 
12
12
  ## 手順
13
13
 
14
14
  1. `docs/` 配下の設計書ファイルを一覧取得する
15
15
  2. 各設計書の frontmatter を読み、`spec_runner.node_id` / `kind` / `depends_on` / `maps_to` を確認する
16
- 3. `docs/02_概要設計/**` の各ファイルを読む。ユースケース・責務・外部 IF が実装に反映されているか確認するために、`maps_to` から対応する `src/` ファイルを特定して実際に読んで比較する
17
- 4. `docs/03_詳細設計/**` の各ファイルを読む。`maps_to` に列挙された `src/` / `tests/` ファイルを**実際に読み**、責務・入出力・判断条件・テスト観点を設計書と行レベルで比較する
18
- - `maps_to` が空または未設定の場合はフロントマターの問題として報告する(パス推定は行わない)
16
+ 3. `docs/02_概要設計/**` の各ファイルを読む。`maps_to` から対応する `src/` ファイルを特定して読み、ユースケース・責務・外部 IF が実装に反映されているか比較する
17
+ 4. `docs/03_詳細設計/**` の各ファイルを読む。`maps_to` に列挙された `src/` / `tests/` ファイルを実際に読み、責務・入出力・判断条件・テスト観点を設計書と行レベルで比較する(`maps_to` が空または未設定の場合は frontmatter の問題として報告する)
19
18
  5. 乖離を報告する
20
19
 
21
20
  ## チェック項目
@@ -44,7 +43,7 @@ docs/ 配下の設計書と src/ 配下の実装コードを突合し、乖離
44
43
  ```
45
44
  ## 整合性チェック結果
46
45
 
47
- ### frontmatterの問題
46
+ ### frontmatter の問題
48
47
  - [ファイル]: [問題内容]
49
48
 
50
49
  ### 一致(問題なし)
@@ -57,9 +56,4 @@ docs/ 配下の設計書と src/ 配下の実装コードを突合し、乖離
57
56
  - 推奨対応: 設計書を更新 / 実装を修正
58
57
  ```
59
58
 
60
- ## 注意事項
61
-
62
- - 読み取り専用(コードや設計書の変更は行わない)
63
- - 日本語で報告する
64
- - ADR はコードと 1 対 1 の突合対象ではないが、配置先と反映有無は確認する
65
- - `maps_to` を唯一の参照先とする。パス推定は行わない
59
+ ADR はコードと 1 対 1 の突合対象ではないが、配置先と反映有無は確認する。