spec-runner 1.1.10 → 1.1.16
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/package.json +1 -2
- package/spec-runner/templates/.claude/agents/code-reviewer.md +6 -36
- package/spec-runner/templates/.claude/agents/design-reviewer.md +9 -9
- package/spec-runner/templates/.claude/agents/impact-analyzer.md +75 -0
- package/spec-runner/templates/.claude/agents/test-runner.md +1 -1
- package/spec-runner/templates/.claude/rules/coding.md +11 -0
- package/spec-runner/templates/.claude/rules/design-docs.md +33 -16
- package/spec-runner/templates/.claude/rules/harness-formats.md +90 -0
- package/spec-runner/templates/.claude/rules/sub-agent-delegation.md +37 -0
- package/spec-runner/templates/.claude/settings.json +15 -0
- package/spec-runner/templates/.claude/skills/architecture-definition/SKILL.md +3 -3
- package/spec-runner/templates/.claude/skills/architecture-skill-development/SKILL.md +22 -6
- package/spec-runner/templates/.claude/skills/design-change/SKILL.md +14 -13
- package/spec-runner/templates/.claude/skills/design-change/templates/90_ADR/ADR/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +1 -1
- package/spec-runner/templates/.claude/skills/docs-driven-seed/SKILL.md +140 -0
- package/spec-runner/templates/.claude/skills/docs-driven-seed/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/01_/343/203/211/343/203/241/343/202/244/343/203/263/{/343/203/211/343/203/241/343/202/244/343/203/263/345/220/215}.md +39 -0
- package/spec-runner/templates/.claude/skills/docs-driven-seed/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/02_/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/UC-{/346/227/245/346/234/254/350/252/236/345/220/215}.md +55 -0
- package/spec-runner/templates/.claude/skills/existing-project-to-docs/SKILL.md +12 -9
- package/spec-runner/templates/.claude/skills/harness-engineering/SKILL.md +5 -0
- package/spec-runner/templates/.claude/skills/test-driven-development/SKILL.md +104 -7
- package/spec-runner/templates/.github/agents/code-reviewer.agent.md +6 -36
- package/spec-runner/templates/.github/agents/design-reviewer.agent.md +9 -9
- package/spec-runner/templates/.github/agents/impact-analyzer.agent.md +75 -0
- package/spec-runner/templates/.github/agents/test-runner.agent.md +1 -1
- package/spec-runner/templates/.github/instructions/coding.instructions.md +11 -0
- package/spec-runner/templates/.github/instructions/design-docs.instructions.md +33 -16
- package/spec-runner/templates/.github/instructions/harness-formats.instructions.md +84 -0
- package/spec-runner/templates/.github/instructions/sub-agent-delegation.instructions.md +37 -0
- package/spec-runner/templates/.github/skills/architecture-definition/SKILL.md +3 -3
- package/spec-runner/templates/.github/skills/architecture-skill-development/SKILL.md +22 -6
- package/spec-runner/templates/.github/skills/design-change/SKILL.md +14 -13
- package/spec-runner/templates/.github/skills/design-change/templates/90_ADR/ADR/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +1 -1
- package/spec-runner/templates/.github/skills/docs-driven-seed/SKILL.md +140 -0
- package/spec-runner/templates/.github/skills/docs-driven-seed/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/01_/343/203/211/343/203/241/343/202/244/343/203/263/{/343/203/211/343/203/241/343/202/244/343/203/263/345/220/215}.md +39 -0
- package/spec-runner/templates/.github/skills/docs-driven-seed/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/02_/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/UC-{/346/227/245/346/234/254/350/252/236/345/220/215}.md +55 -0
- package/spec-runner/templates/.github/skills/existing-project-to-docs/SKILL.md +12 -9
- package/spec-runner/templates/.github/skills/harness-engineering/SKILL.md +5 -0
- package/spec-runner/templates/.github/skills/test-driven-development/SKILL.md +104 -7
- package/spec-runner/templates/.spec-runner/scripts/scan.js +156 -0
- package/spec-runner/templates/.claude/skills/plugin-development/SKILL.md +0 -173
- package/spec-runner/templates/.claude/skills/plugin-development/templates/01_/350/246/201/344/273/266/345/256/232/347/276/251//346/246/202/350/246/201/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -88
- package/spec-runner/templates/.claude/skills/plugin-development/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210/90_ADR/ADR/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -81
- package/spec-runner/templates/.claude/skills/plugin-development/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/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -80
- package/spec-runner/templates/.claude/skills/plugin-development/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/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -57
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/aws.md +0 -53
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/database.md +0 -54
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/schema.dbml +0 -25
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/sequence//343/202/267/343/203/274/343/202/261/343/203/263/343/202/271/345/233/263/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -28
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/agent.md +0 -56
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/config.md +0 -47
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/domain.md +0 -67
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/prompts.md +0 -72
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/plugins/skills/{skill_name}/skill.md +0 -53
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/plugins/tools/{tool_name}/tool.md +0 -51
- package/spec-runner/templates/.github/skills/plugin-development/SKILL.md +0 -173
- package/spec-runner/templates/.github/skills/plugin-development/templates/01_/350/246/201/344/273/266/345/256/232/347/276/251//346/246/202/350/246/201/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -88
- package/spec-runner/templates/.github/skills/plugin-development/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210/90_ADR/ADR/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -81
- package/spec-runner/templates/.github/skills/plugin-development/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/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -80
- package/spec-runner/templates/.github/skills/plugin-development/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/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -57
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/aws.md +0 -53
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/database.md +0 -54
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/schema.dbml +0 -25
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/sequence//343/202/267/343/203/274/343/202/261/343/203/263/343/202/271/345/233/263/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -28
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/agent.md +0 -56
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/config.md +0 -47
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/domain.md +0 -67
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/prompts.md +0 -72
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/plugins/skills/{skill_name}/skill.md +0 -53
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/plugins/tools/{tool_name}/tool.md +0 -51
|
@@ -23,6 +23,7 @@ applyTo: "src/**,tests/**"
|
|
|
23
23
|
- **言語**: 日本語
|
|
24
24
|
- **docstring**: モジュール先頭に1行で概要を書く。関数・クラスには原則不要(名前で意図が伝わる場合)
|
|
25
25
|
- **インラインコメント**: ビジネスロジックの「なぜ」を説明する場合のみ。処理内容の「何」は書かない
|
|
26
|
+
- **変更履歴コメント禁止**: `# 新機能追加`, `# ここを修正`, `# v2 で変更` のような変更経緯はコードに書かない。git の commit message で管理する
|
|
26
27
|
|
|
27
28
|
```python
|
|
28
29
|
# 良い例
|
|
@@ -88,6 +89,16 @@ truncated_json = '[{"account_name": "売掛金", ...'
|
|
|
88
89
|
|
|
89
90
|
- **英語コメント禁止**: `Arrange` / `Act` / `Assert` 等の英語は使わない
|
|
90
91
|
|
|
92
|
+
## 後方互換ハックの禁止
|
|
93
|
+
|
|
94
|
+
使われなくなったコードは完全に削除する。互換性維持のための温存は行わない。
|
|
95
|
+
|
|
96
|
+
禁止パターン:
|
|
97
|
+
- 未使用の引数・変数を `_` プレフィックスで残す(`_old_param`)
|
|
98
|
+
- 削除した型・関数を `from x import Y` で再公開する
|
|
99
|
+
- `# removed`, `# deprecated`, `# 旧実装` コメントとともにコードを残す
|
|
100
|
+
- 後方互換用のラッパー関数・エイリアスを追加する
|
|
101
|
+
|
|
91
102
|
## 検索ルール
|
|
92
103
|
|
|
93
104
|
- コードの検索・置換は `src/` と `tests/` の両方を対象にする
|
|
@@ -19,44 +19,61 @@ applyTo: "docs/**"
|
|
|
19
19
|
- **`docs/**` の全設計書に frontmatter を付ける**
|
|
20
20
|
- 正本の必須項目は `spec_runner.node_id` / `spec_runner.kind` / `spec_runner.depends_on` / `spec_runner.maps_to`
|
|
21
21
|
- `depends_on` はまず文字列配列でよい。依存理由が必要な場合のみオブジェクト形式を使う
|
|
22
|
-
- `maps_to` には見直し対象となる `src/` / `tests/` / IaC /
|
|
22
|
+
- `maps_to` には見直し対象となる `src/` / `tests/` / IaC / 設定ファイルを列挙する。**必ず設定する(空にしない)**
|
|
23
23
|
- `modules` / `source_files` などの拡張項目を足す場合でも、`maps_to` と矛盾させない
|
|
24
24
|
|
|
25
25
|
```yaml
|
|
26
26
|
---
|
|
27
27
|
spec_runner:
|
|
28
|
-
node_id: detail.
|
|
28
|
+
node_id: detail.usecase.注文確定
|
|
29
29
|
kind: detailed_design
|
|
30
30
|
depends_on:
|
|
31
|
-
- overview.
|
|
32
|
-
-
|
|
31
|
+
- overview.use_case_list
|
|
32
|
+
- detail.domain.注文
|
|
33
33
|
maps_to:
|
|
34
|
-
- src/
|
|
35
|
-
-
|
|
34
|
+
- src/application/order/confirm.py
|
|
35
|
+
- src/domain/order/aggregate.py
|
|
36
|
+
- tests/application/order/test_confirm.py
|
|
36
37
|
---
|
|
37
38
|
```
|
|
38
39
|
|
|
40
|
+
### node_id 体系
|
|
41
|
+
|
|
42
|
+
| 対象 | node_id 形式 | 例 |
|
|
43
|
+
|------|-------------|-----|
|
|
44
|
+
| 要件定義 | `requirement.{名前}` | `requirement.要件定義` |
|
|
45
|
+
| システム全体俯瞰 | `overview.system_context` | — |
|
|
46
|
+
| ドメインモデル | `overview.domain_model` | — |
|
|
47
|
+
| ユースケース一覧 | `overview.use_case_list` | — |
|
|
48
|
+
| ADR | `overview.adr.{slug}` | `overview.adr.0404-ドメイン-注文集約` |
|
|
49
|
+
| ドメイン詳細設計 | `detail.domain.{ドメイン名}` | `detail.domain.注文` |
|
|
50
|
+
| UC 詳細設計 | `detail.usecase.{UC名}` | `detail.usecase.注文確定` |
|
|
51
|
+
| DB・外部サービス | `detail.db.{名前}` | `detail.db.スキーマ定義` |
|
|
52
|
+
|
|
39
53
|
## 命名規則
|
|
40
54
|
|
|
41
55
|
| 対象 | 規則 | 例 |
|
|
42
56
|
|------|------|-----|
|
|
43
|
-
| `docs/01_要件定義` | 日本語 | `要件定義.md` |
|
|
44
|
-
| `docs/02_概要設計` | 日本語 | `ユースケース一覧.md`, `システム全体俯瞰.md` |
|
|
45
|
-
| `docs/02_
|
|
46
|
-
| `
|
|
47
|
-
| `docs/03_詳細設計/
|
|
48
|
-
| `docs/03_詳細設計/
|
|
57
|
+
| `docs/01_要件定義` | 日本語 | `要件定義.md`, `ユビキタス言語辞書.md` |
|
|
58
|
+
| `docs/02_概要設計` | 日本語 | `ユースケース一覧.md`, `システム全体俯瞰.md`, `ドメインモデル.md` |
|
|
59
|
+
| `docs/02_概要設計/90_ADR/{対象}/` | `mmdd-{日本語タイトル}.md` | `0404-注文集約の設計.md` |
|
|
60
|
+
| `{対象}` の選択肢 | `全体` / `ドメイン` / `UC` / `DB` | — |
|
|
61
|
+
| `docs/03_詳細設計/01_ドメイン` | 日本語 | `注文.md`, `在庫.md` |
|
|
62
|
+
| `docs/03_詳細設計/02_ユースケース` | `UC-{日本語名}.md` | `UC-注文確定.md` |
|
|
63
|
+
| `docs/03_詳細設計/03_DB・外部サービス` | 日本語 | `スキーマ定義.dbml`, `外部サービス.md` |
|
|
49
64
|
|
|
50
65
|
## ADR
|
|
51
66
|
|
|
52
67
|
- **ADR は必ず 3 案を比較してから採用案を決める**
|
|
53
|
-
- ADR
|
|
54
|
-
-
|
|
68
|
+
- ADR は `docs/02_概要設計/90_ADR/{対象}/` で管理する(`全体` / `ドメイン` / `UC` / `DB`)
|
|
69
|
+
- ファイル名は `mmdd-{日本語タイトル}.md`。対象はフォルダで表す
|
|
55
70
|
- ADR は理由の記録であり、詳細設計の代わりにしない
|
|
71
|
+
- 廃止 UC の理由も ADR に記録する(UC ファイル本体は削除)
|
|
56
72
|
|
|
57
73
|
## 文書品質
|
|
58
74
|
|
|
59
75
|
- **概要設計では「何をするか」を書き、コード片・DDL・クラス定義は持ち込まない**
|
|
60
|
-
-
|
|
61
|
-
- **`
|
|
76
|
+
- **詳細設計ではドメインルール・UC の責務・入出力・判断条件・テスト観点を書く。コード・プロンプト本文は書かない**
|
|
77
|
+
- **`maps_to` を唯一の src 対応として使う。パス推定に頼らない**
|
|
62
78
|
- **Markdown に HTML タグ(details, summary, br など)を使わない**
|
|
79
|
+
- **`概要.md` のような汎用的な名前のファイルは作らない。内容を具体的に示す名前(`要件定義.md`、`ユースケース一覧.md`、`システム全体俯瞰.md` など)を使う**
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
applyTo: "**"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# ハーネスファイルフォーマット
|
|
6
|
+
|
|
7
|
+
`harness-engineering` や `architecture-skill-development` で rules / agents / skills を作成・修正するときは、このフォーマットに従う。
|
|
8
|
+
|
|
9
|
+
## rule ファイル(`.github/instructions/*.instructions.md`)
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
---
|
|
13
|
+
applyTo: "対象パス/**" # 省略すると "**"(全ファイルに適用)
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# ルール名
|
|
17
|
+
|
|
18
|
+
本文...
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- 対応する `.claude/rules/{name}.md` も同時に作成・更新する
|
|
22
|
+
|
|
23
|
+
## agent ファイル(`.github/agents/*.agent.md`)
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
---
|
|
27
|
+
name: agent-name
|
|
28
|
+
description: いつ・何のために呼ぶかを具体的に書く(トリガー型)
|
|
29
|
+
tools: Read, Grep, Glob # 必要最小限のツールだけ付与
|
|
30
|
+
model: sonnet
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
# エージェント名
|
|
34
|
+
|
|
35
|
+
本文...
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- `description` はトリガー型で書く(「〇〇のときに自動で呼ぶ」形式)
|
|
39
|
+
- `tools` は最小権限原則。読み取りのみなら `Read, Grep, Glob`
|
|
40
|
+
- 対応する `.claude/agents/{name}.md` も同時に作成・更新する
|
|
41
|
+
|
|
42
|
+
## skill ファイル(`.github/skills/{name}/SKILL.md`)
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
---
|
|
46
|
+
name: skill-name
|
|
47
|
+
description: このスキルの目的と使うタイミング(1〜2行)
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
# スキル名
|
|
51
|
+
|
|
52
|
+
本文...
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
- 対応する `.claude/skills/{name}/SKILL.md` も同時に作成・更新する
|
|
56
|
+
|
|
57
|
+
## CLAUDE.md
|
|
58
|
+
|
|
59
|
+
CLAUDE.md は**全会話で常にコンテキストに読み込まれる**。書くほどコストが増えるため、最小に保つ。
|
|
60
|
+
|
|
61
|
+
### 書いてよいもの
|
|
62
|
+
|
|
63
|
+
- よく使う skill の名前と起動タイミング(開発ワークフローの入口)
|
|
64
|
+
- プロジェクト全体に常時適用すべき制約(例: 言語、承認フロー)
|
|
65
|
+
|
|
66
|
+
### 書いてはいけないもの(代わりの置き場所)
|
|
67
|
+
|
|
68
|
+
| 内容 | 正しい置き場所 |
|
|
69
|
+
|------|--------------|
|
|
70
|
+
| コーディング規約の詳細 | `.github/instructions/coding.instructions.md` |
|
|
71
|
+
| フォーマット定義・手順 | `.github/instructions/*.instructions.md` |
|
|
72
|
+
| スキルの詳細フロー | `.github/skills/*/SKILL.md` |
|
|
73
|
+
| 過去の決定・背景 | `docs/02_概要設計/90_ADR/` |
|
|
74
|
+
|
|
75
|
+
### 目安
|
|
76
|
+
|
|
77
|
+
- 20行を超えたら見直しを検討する
|
|
78
|
+
- 新しい内容を追加する前に「instructions / skills に移せないか」を先に考える
|
|
79
|
+
|
|
80
|
+
## 共通原則
|
|
81
|
+
|
|
82
|
+
- `.claude/` と `.github/` は常に対で更新する(片系だけ更新しない)
|
|
83
|
+
- `description` は「何をするか」より「**いつ・なぜ使うか**」を優先して書く
|
|
84
|
+
- 新規作成時は既存ファイルを参考にフォーマットを確認してから作る
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
applyTo: "**"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# サブエージェント委任ルール
|
|
6
|
+
|
|
7
|
+
**メインエージェントは判断・対話・ファイル編集に集中する。検証・調査・実行は積極的にサブエージェントへ委任する。**
|
|
8
|
+
|
|
9
|
+
## 委任する場面と委任先
|
|
10
|
+
|
|
11
|
+
| 場面 | 委任先 | タイミング |
|
|
12
|
+
|------|--------|-----------|
|
|
13
|
+
| 設計書⇔実装の整合性確認 | `@design-reviewer` | 設計書を変更したとき、フェーズレビュー時 |
|
|
14
|
+
| コーディング規約チェック | `@code-reviewer` | 実装・修正が完了したとき |
|
|
15
|
+
| テスト実行+失敗分析 | `@test-runner` | 実装・修正が完了したとき |
|
|
16
|
+
| 変更の影響範囲調査 | `@impact-analyzer` | design-change で影響範囲を洗うとき |
|
|
17
|
+
|
|
18
|
+
## 並行起動
|
|
19
|
+
|
|
20
|
+
独立して動けるエージェントは同時に起動する。
|
|
21
|
+
|
|
22
|
+
例: 実装完了後 → `@test-runner` と `@code-reviewer` を**同時に**起動し、両方の結果を待ってからユーザーへ報告する。
|
|
23
|
+
|
|
24
|
+
## メインエージェントが自分でやること
|
|
25
|
+
|
|
26
|
+
サブエージェントは会話の文脈を持たない。以下はメインエージェントが担う:
|
|
27
|
+
|
|
28
|
+
- ユーザーとの対話・意思決定・承認の受け取り
|
|
29
|
+
- フェーズの進行管理・次のアクションの判断
|
|
30
|
+
- ファイルの作成・編集
|
|
31
|
+
- サブエージェントの結果を解釈してユーザーへ伝える
|
|
32
|
+
|
|
33
|
+
## 原則
|
|
34
|
+
|
|
35
|
+
- ファイルの検索・調査はスケールに関わらずサブエージェントに任せる(メインのコンテキスト節約)
|
|
36
|
+
- 検証タスクをメインエージェントが自分でやらない
|
|
37
|
+
- サブエージェントの報告はポイントを絞ってユーザーへ伝える(生の出力をそのまま貼らない)
|
|
@@ -28,14 +28,14 @@ Phase 5: 次の skill へ引き渡し
|
|
|
28
28
|
## Phase 2: 概要設計の骨格作成
|
|
29
29
|
|
|
30
30
|
1. `docs/02_概要設計/ユースケース一覧.md` を作る
|
|
31
|
-
2. `docs/02_
|
|
32
|
-
3.
|
|
31
|
+
2. UC から集約・境界コンテキストを整理し `docs/02_概要設計/ドメインモデル.md` を作る
|
|
32
|
+
3. `docs/02_概要設計/システム全体俯瞰.md` を作る
|
|
33
33
|
4. ユーザーに確認・承認を得る
|
|
34
34
|
|
|
35
35
|
## Phase 3: アーキテクチャ判断の明文化
|
|
36
36
|
|
|
37
37
|
1. ドメイン分割、責務境界、実装単位、インフラ方針を整理する
|
|
38
|
-
2.
|
|
38
|
+
2. 必要なら対象フォルダに ADR を作る(`90_ADR/全体/` / `ドメイン/` / `UC/` / `DB/`)
|
|
39
39
|
3. ユーザーに確認・承認を得る
|
|
40
40
|
|
|
41
41
|
## Phase 4: architecture contract 作成
|
|
@@ -35,20 +35,22 @@ Phase 7: セットアップ専用 skill のアーカイブ提案
|
|
|
35
35
|
|
|
36
36
|
## Phase 3: skill / rule / template へ分解
|
|
37
37
|
|
|
38
|
+
ファイルを作成する前に **`.github/instructions/harness-formats.instructions.md`** を読み、フォーマットを確認する。
|
|
39
|
+
|
|
38
40
|
1. 会話フローは skill にする
|
|
39
41
|
2. 常時守る約束は rule にする
|
|
40
42
|
3. 毎回コピーする設計書は template にする
|
|
41
43
|
|
|
42
|
-
###
|
|
44
|
+
### docs-driven-seed を種として使う
|
|
43
45
|
|
|
44
|
-
新規開発フローの skill を作る場合は、`
|
|
45
|
-
`
|
|
46
|
+
新規開発フローの skill を作る場合は、`docs-driven-seed` を種として使う。
|
|
47
|
+
`docs-driven-seed` は UC/DDD 駆動の docs 正本開発フローの参照実装であり、
|
|
46
48
|
そのまま使うのではなく、**このプロジェクトのアーキテクチャに合わせて書き換えた project 専用 skill を作る**ことを目的とする。
|
|
47
49
|
|
|
48
50
|
具体的には:
|
|
49
|
-
- `.claude/skills/
|
|
51
|
+
- `.claude/skills/docs-driven-seed/SKILL.md` をコピーして、project 専用の開発 skill の土台にする
|
|
50
52
|
- フェーズ構成・テンプレートパス・用語をこのプロジェクトの実態に合わせて書き換える
|
|
51
|
-
- 元の `
|
|
53
|
+
- 元の `docs-driven-seed` は書き換え完了後にアーカイブ候補とする(Phase 7 で提案する)
|
|
52
54
|
|
|
53
55
|
ユーザーに確認・承認を得る
|
|
54
56
|
|
|
@@ -109,7 +111,7 @@ Phase 7: セットアップ専用 skill のアーカイブ提案
|
|
|
109
111
|
|---|---|
|
|
110
112
|
| `architecture-definition` | 新規プロジェクト初期化専用。アーキテクチャ確定後は不要 |
|
|
111
113
|
| `existing-project-to-docs` | 既存プロジェクト取り込み専用。docs 生成後は不要 |
|
|
112
|
-
| `
|
|
114
|
+
| `docs-driven-seed` | Phase 3 で project 専用 skill の種として使い終えたら不要 |
|
|
113
115
|
| `architecture-skill-development`(このファイル自身) | project 専用 skill が安定したら不要。ただしアーキテクチャが大きく変わる場合は再利用する可能性があるため、削除ではなくアーカイブを推奨 |
|
|
114
116
|
|
|
115
117
|
### 手順
|
|
@@ -117,6 +119,20 @@ Phase 7: セットアップ専用 skill のアーカイブ提案
|
|
|
117
119
|
1. 上記の候補をユーザーに提示し、整理してよいか確認する
|
|
118
120
|
2. 承認を得た skill を `.claude/skills/` と `.github/skills/` から削除する
|
|
119
121
|
3. 必要であれば削除前にバックアップ先をユーザーに伝える
|
|
122
|
+
4. `.spec-runner/` の不要ファイルも整理する
|
|
123
|
+
- `intake/current-system-inventory.md` — docs に昇格済みなら削除してよい
|
|
124
|
+
- `architecture/architecture.yaml` — project 専用 skill が完成し、参照不要になったら削除してよい
|
|
125
|
+
5. `CLAUDE.md` を更新する
|
|
126
|
+
- 「初回自動起動」セクション(spec-runner インストール時に生成されたもの)を削除する
|
|
127
|
+
- 作成した project 専用 skill の名前と使いどころを記載する
|
|
128
|
+
- 例:
|
|
129
|
+
```markdown
|
|
130
|
+
## 開発ワークフロー
|
|
131
|
+
新機能を実装するときは `/feature-development` を使う。
|
|
132
|
+
既存機能を変更するときは `/design-change` を使う。
|
|
133
|
+
テストを書くときは `/test-driven-development` を使う。
|
|
134
|
+
```
|
|
135
|
+
- `.claude/` と `.github/` 両系で内容が変わる場合は、それぞれに反映する
|
|
120
136
|
|
|
121
137
|
## 原則
|
|
122
138
|
|
|
@@ -30,7 +30,7 @@ Phase 6: TDD → 実装 → 検証
|
|
|
30
30
|
- 影響を受ける機能カテゴリ
|
|
31
31
|
- 技術的・ビジネス的制約
|
|
32
32
|
2. 変更起点となる docs を特定する
|
|
33
|
-
3.
|
|
33
|
+
3. `@impact-analyzer` に委任して `depends_on` / `maps_to` を辿る影響ファイルを洗い出す
|
|
34
34
|
4. 変更が影響するドメインと成果物を一覧化する
|
|
35
35
|
5. ユーザーに確認・承認を得る
|
|
36
36
|
|
|
@@ -41,16 +41,16 @@ Phase 6: TDD → 実装 → 検証
|
|
|
41
41
|
3. 各案について概要・メリット・デメリット・適合性を示す
|
|
42
42
|
4. ユーザーが案を決定する
|
|
43
43
|
5. テンプレート `templates/90_ADR/ADRテンプレート.md` をコピーして生成する
|
|
44
|
-
6. ファイル名は `
|
|
44
|
+
6. ファイル名は `mmdd-{日本語タイトル}.md`、配置先は対象フォルダ
|
|
45
45
|
|
|
46
46
|
### ADR 配置ルール
|
|
47
47
|
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
| 対象 | 配置先 |
|
|
49
|
+
|------|--------|
|
|
50
|
+
| システム横断の決定 | `docs/02_概要設計/90_ADR/全体/` |
|
|
51
|
+
| ドメイン設計の決定 | `docs/02_概要設計/90_ADR/ドメイン/` |
|
|
52
|
+
| UC フローの決定 | `docs/02_概要設計/90_ADR/UC/` |
|
|
53
|
+
| DB・外部サービスの決定 | `docs/02_概要設計/90_ADR/DB/` |
|
|
54
54
|
|
|
55
55
|
## Phase 3: 影響ドキュメントの確定
|
|
56
56
|
|
|
@@ -62,7 +62,7 @@ MVP では `docs/02_概要設計/90_ADR/` に集約する。
|
|
|
62
62
|
|
|
63
63
|
## Phase 4: 概要設計の修正
|
|
64
64
|
|
|
65
|
-
1. `ユースケース一覧.md` / `システム全体俯瞰.md` /
|
|
65
|
+
1. `ユースケース一覧.md` / `システム全体俯瞰.md` / `ドメインモデル.md` / ADR を必要順に修正する
|
|
66
66
|
2. 修正完了ごとにチェックリストを更新する
|
|
67
67
|
3. 全概要設計の修正完了後、ユーザーに確認・承認を得る
|
|
68
68
|
|
|
@@ -73,10 +73,11 @@ MVP では `docs/02_概要設計/90_ADR/` に集約する。
|
|
|
73
73
|
|
|
74
74
|
## Phase 5: 詳細設計の修正
|
|
75
75
|
|
|
76
|
-
1. `docs/03_詳細設計/
|
|
77
|
-
2.
|
|
78
|
-
3.
|
|
79
|
-
4.
|
|
76
|
+
1. `docs/03_詳細設計/01_ドメイン/**` のドメイン設計を修正する
|
|
77
|
+
2. `docs/03_詳細設計/02_ユースケース/**` の UC 設計を修正する
|
|
78
|
+
3. DB・外部サービスの変更がある場合は `docs/03_詳細設計/03_DB・外部サービス/**` を修正する
|
|
79
|
+
4. frontmatter の `depends_on` / `maps_to` を更新する
|
|
80
|
+
5. ユーザーに最終確認を得る
|
|
80
81
|
|
|
81
82
|
## Phase 6: TDD → 実装 → 検証
|
|
82
83
|
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-driven-seed
|
|
3
|
+
description: UC/DDD 駆動の docs 正本開発フローの種。新規プロジェクトの初期テンプレートとして使い、architecture-skill-development でプロジェクト専用スキルに育てる。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# docs-driven-seed
|
|
7
|
+
|
|
8
|
+
UC/DDD 駆動の docs 正本開発フローの**参照実装(種)**。
|
|
9
|
+
プロジェクト固有のスキルに育てる前の出発点として使う。
|
|
10
|
+
|
|
11
|
+
**このスキルをそのまま使い続けない。`architecture-skill-development` で自プロジェクト専用スキルに育てることを前提とする。**
|
|
12
|
+
|
|
13
|
+
## 全体フロー
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
Phase 1: 要件定義
|
|
17
|
+
Phase 2: 概要設計(ユースケース + ドメインモデル)
|
|
18
|
+
Phase 3: ADR(必要時のみ)
|
|
19
|
+
Phase 4: 詳細設計(ドメイン → UC → DB・外部サービス)
|
|
20
|
+
Phase 5: TDD → 実装
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 前提ルール
|
|
24
|
+
|
|
25
|
+
- docs は正本とし、各ドキュメントに `spec_runner` frontmatter を付ける
|
|
26
|
+
- 詳細設計は `01_ドメイン/` `02_ユースケース/` `03_DB・外部サービス/` の 3 層で構成する
|
|
27
|
+
- UC がドメインを使う。ドメインの中に UC は入れない
|
|
28
|
+
- `maps_to` は必ず設定する。パス推定に頼らない
|
|
29
|
+
- ユーザー承認なしに次フェーズへ進めない
|
|
30
|
+
|
|
31
|
+
## Phase 1: 要件定義
|
|
32
|
+
|
|
33
|
+
1. 以下をユーザーにヒアリングする
|
|
34
|
+
- 解決すべき課題・提供価値
|
|
35
|
+
- 対象ユーザー
|
|
36
|
+
- 非機能要件・スコープ外
|
|
37
|
+
- 技術・ビジネス制約
|
|
38
|
+
2. `docs/01_要件定義/要件定義.md` を作る
|
|
39
|
+
3. ドメイン用語が出てきたら `docs/01_要件定義/ユビキタス言語辞書.md` に随時追記する
|
|
40
|
+
4. ユーザーに確認・承認を得る
|
|
41
|
+
|
|
42
|
+
### 出力
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
docs/01_要件定義/
|
|
46
|
+
要件定義.md
|
|
47
|
+
ユビキタス言語辞書.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Phase 2: 概要設計
|
|
51
|
+
|
|
52
|
+
### 2-1. ユースケース一覧
|
|
53
|
+
|
|
54
|
+
1. 要件定義からユースケースを洗い出す(Query / Command を意識)
|
|
55
|
+
2. `docs/02_概要設計/ユースケース一覧.md` を作る
|
|
56
|
+
3. ユーザーに確認・承認を得る
|
|
57
|
+
|
|
58
|
+
### 2-2. ドメインモデル + システム全体俯瞰
|
|
59
|
+
|
|
60
|
+
1. UC から集約・境界コンテキストを整理し `docs/02_概要設計/ドメインモデル.md` を作る
|
|
61
|
+
2. コンポーネント全体図・外部 IF を整理し `docs/02_概要設計/システム全体俯瞰.md` を作る
|
|
62
|
+
3. ユーザーに確認・承認を得る
|
|
63
|
+
|
|
64
|
+
### 出力
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
docs/02_概要設計/
|
|
68
|
+
ユースケース一覧.md
|
|
69
|
+
ドメインモデル.md
|
|
70
|
+
システム全体俯瞰.md
|
|
71
|
+
90_ADR/
|
|
72
|
+
全体/
|
|
73
|
+
ドメイン/
|
|
74
|
+
UC/
|
|
75
|
+
DB/
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Phase 3: ADR(必要時のみ)
|
|
79
|
+
|
|
80
|
+
1. 設計判断が必要な場合だけ ADR を作る
|
|
81
|
+
2. **必ず 3 案を比較する**
|
|
82
|
+
3. ファイル名は `mmdd-{日本語タイトル}.md`、配置先は対象フォルダ
|
|
83
|
+
|
|
84
|
+
| 対象 | 配置先 |
|
|
85
|
+
|------|--------|
|
|
86
|
+
| システム横断の決定 | `90_ADR/全体/` |
|
|
87
|
+
| ドメイン設計の決定 | `90_ADR/ドメイン/` |
|
|
88
|
+
| UC フローの決定 | `90_ADR/UC/` |
|
|
89
|
+
| DB・外部サービスの決定 | `90_ADR/DB/` |
|
|
90
|
+
|
|
91
|
+
4. 採用案を概要設計へ反映してから次へ進む
|
|
92
|
+
|
|
93
|
+
## Phase 4: 詳細設計
|
|
94
|
+
|
|
95
|
+
**ドメイン → UC → DB・外部サービス の順に設計する。**
|
|
96
|
+
|
|
97
|
+
### 4-1. ドメイン
|
|
98
|
+
|
|
99
|
+
テンプレート: `templates/03_詳細設計/01_ドメイン/{ドメイン名}.md`
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
docs/03_詳細設計/01_ドメイン/
|
|
103
|
+
{ドメイン名}.md
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 4-2. ユースケース
|
|
107
|
+
|
|
108
|
+
シーケンス図は UC ファイルに Mermaid で埋め込む。
|
|
109
|
+
|
|
110
|
+
テンプレート: `templates/03_詳細設計/02_ユースケース/UC-{日本語名}.md`
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
docs/03_詳細設計/02_ユースケース/
|
|
114
|
+
UC-{日本語名}.md
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 4-3. DB・外部サービス(必要時のみ)
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
docs/03_詳細設計/03_DB・外部サービス/
|
|
121
|
+
スキーマ定義.dbml
|
|
122
|
+
外部サービス.md
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
ユーザーに確認・承認を得る
|
|
126
|
+
|
|
127
|
+
## Phase 5: TDD → 実装
|
|
128
|
+
|
|
129
|
+
`test-driven-development` スキルへ移行する。
|
|
130
|
+
|
|
131
|
+
### 実装完了後
|
|
132
|
+
|
|
133
|
+
- `@design-reviewer` — 設計書⇔実装の整合性チェック
|
|
134
|
+
- `@code-reviewer` — コーディング規約への適合チェック
|
|
135
|
+
|
|
136
|
+
## 原則
|
|
137
|
+
|
|
138
|
+
- **このスキルは種。`architecture-skill-development` でプロジェクト専用スキルに育てることを前提とする**
|
|
139
|
+
- **ドメインを先に設計し、UC はドメインを参照する形で書く**
|
|
140
|
+
- **`maps_to` は必ず設定する。パス推定に頼らない**
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
spec_runner:
|
|
3
|
+
node_id: detail.domain.{ドメイン名}
|
|
4
|
+
kind: detailed_design
|
|
5
|
+
depends_on:
|
|
6
|
+
- overview.domain_model
|
|
7
|
+
maps_to:
|
|
8
|
+
- src/domain/{ドメイン名}/
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# {ドメイン名} ドメイン詳細設計
|
|
12
|
+
|
|
13
|
+
## 責務
|
|
14
|
+
|
|
15
|
+
- {このドメインが扱うビジネス概念}
|
|
16
|
+
- {このドメインの不変条件・制約}
|
|
17
|
+
|
|
18
|
+
## 集約
|
|
19
|
+
|
|
20
|
+
| 集約 | 責務 | ルートエンティティ |
|
|
21
|
+
|------|------|----------------|
|
|
22
|
+
| {集約名} | {責務} | {ルートエンティティ名} |
|
|
23
|
+
|
|
24
|
+
## 値オブジェクト
|
|
25
|
+
|
|
26
|
+
| 値オブジェクト | 制約・ルール |
|
|
27
|
+
|--------------|------------|
|
|
28
|
+
| {名前} | {制約} |
|
|
29
|
+
|
|
30
|
+
## ドメインルール
|
|
31
|
+
|
|
32
|
+
- {ルール1}
|
|
33
|
+
- {ルール2}
|
|
34
|
+
|
|
35
|
+
## テスト観点
|
|
36
|
+
|
|
37
|
+
- {正常系の観点}
|
|
38
|
+
- {ルール違反の観点}
|
|
39
|
+
- {境界条件の観点}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
spec_runner:
|
|
3
|
+
node_id: detail.usecase.{UC名}
|
|
4
|
+
kind: detailed_design
|
|
5
|
+
depends_on:
|
|
6
|
+
- overview.use_case_list
|
|
7
|
+
- detail.domain.{ドメイン名}
|
|
8
|
+
maps_to:
|
|
9
|
+
- src/application/{uc_name}/
|
|
10
|
+
- tests/application/{uc_name}/
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# UC-{UC名} 詳細設計
|
|
14
|
+
|
|
15
|
+
## 概要
|
|
16
|
+
|
|
17
|
+
- 使用するドメイン: {ドメイン名}
|
|
18
|
+
- トリガー: {何がこのUCを呼び出すか}
|
|
19
|
+
- 事前条件: {UCが成立するために必要な状態}
|
|
20
|
+
- 事後条件: {UC完了後の状態}
|
|
21
|
+
|
|
22
|
+
## 入出力
|
|
23
|
+
|
|
24
|
+
| 種別 | 名前 | 型 | 説明 |
|
|
25
|
+
|------|------|----|------|
|
|
26
|
+
| 入力 | {入力名} | {型} | {説明} |
|
|
27
|
+
| 出力 | {出力名} | {型} | {説明} |
|
|
28
|
+
|
|
29
|
+
## 主要フロー
|
|
30
|
+
|
|
31
|
+
```mermaid
|
|
32
|
+
sequenceDiagram
|
|
33
|
+
{シーケンス図}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
1. {ステップ1}
|
|
37
|
+
2. {ステップ2}
|
|
38
|
+
|
|
39
|
+
## 判断条件
|
|
40
|
+
|
|
41
|
+
| 判断ポイント | 条件 | アクション |
|
|
42
|
+
|------------|------|----------|
|
|
43
|
+
| {判断ポイント} | {条件} | {アクション} |
|
|
44
|
+
|
|
45
|
+
## エラーポリシー
|
|
46
|
+
|
|
47
|
+
| エラーケース | 発生条件 | 対応 |
|
|
48
|
+
|------------|---------|------|
|
|
49
|
+
| {エラーケース} | {発生条件} | {対応} |
|
|
50
|
+
|
|
51
|
+
## テスト観点
|
|
52
|
+
|
|
53
|
+
- {正常系の観点}
|
|
54
|
+
- {異常系の観点}
|
|
55
|
+
- {境界条件の観点}
|
|
@@ -27,22 +27,25 @@ Phase 5: architecture contract 化
|
|
|
27
27
|
|
|
28
28
|
## Phase 2: 要件とユースケースの抽出
|
|
29
29
|
|
|
30
|
-
1.
|
|
30
|
+
1. `current-system-inventory.md` を起点に、既存機能からユースケースを逆算する
|
|
31
31
|
2. `docs/01_要件定義/要件定義.md` と `docs/02_概要設計/ユースケース一覧.md` の draft を作る
|
|
32
|
-
3.
|
|
32
|
+
3. ドメイン用語が識別できたら `docs/01_要件定義/ユビキタス言語辞書.md` も draft する
|
|
33
|
+
4. ユーザーに確認・承認を得る
|
|
33
34
|
|
|
34
35
|
## Phase 3: 概要設計の draft 化
|
|
35
36
|
|
|
36
|
-
1. `docs/02_
|
|
37
|
-
2.
|
|
38
|
-
3.
|
|
37
|
+
1. UC から集約・境界コンテキストを整理し `docs/02_概要設計/ドメインモデル.md` を draft する
|
|
38
|
+
2. `docs/02_概要設計/システム全体俯瞰.md` を作る
|
|
39
|
+
3. 必要なら ADR 候補も洗い出す(配置先は `90_ADR/全体/` / `ドメイン/` / `UC/` / `DB/`)
|
|
40
|
+
4. ユーザーに確認・承認を得る
|
|
39
41
|
|
|
40
42
|
## Phase 4: 詳細設計の draft 化
|
|
41
43
|
|
|
42
|
-
1. `docs/03_詳細設計/
|
|
43
|
-
2. `
|
|
44
|
-
3.
|
|
45
|
-
4.
|
|
44
|
+
1. ドメインごとにビジネスルール・集約を整理し `docs/03_詳細設計/01_ドメイン/{ドメイン名}.md` を draft する
|
|
45
|
+
2. UC ごとに `docs/03_詳細設計/02_ユースケース/UC-{日本語名}.md` を draft する
|
|
46
|
+
3. DB・外部サービスの仕様が必要なら `docs/03_詳細設計/03_DB・外部サービス/` を作る
|
|
47
|
+
4. 各ファイルの `maps_to` に対応コードとテストを入れる
|
|
48
|
+
5. ユーザーに確認・承認を得る
|
|
46
49
|
|
|
47
50
|
## Phase 5: architecture contract 化
|
|
48
51
|
|
|
@@ -68,6 +68,8 @@ Phase 4: 影響範囲の反映確認
|
|
|
68
68
|
|
|
69
69
|
## Phase 3: skill / rule / agent / template の修正
|
|
70
70
|
|
|
71
|
+
ファイルを作成・修正する前に **`.github/instructions/harness-formats.instructions.md`** を読み、フォーマットを確認する。
|
|
72
|
+
|
|
71
73
|
1. 対象ファイルを特定する
|
|
72
74
|
2. 意図が変わらない最小差分で修正する
|
|
73
75
|
3. 片系だけでなく、対応するテンプレートも揃えて更新する
|
|
@@ -90,6 +92,9 @@ Phase 4: 影響範囲の反映確認
|
|
|
90
92
|
- 関連する skill / rule / agent / template の記述が矛盾していないか
|
|
91
93
|
- Claude / Copilot の対応ファイルに反映漏れがないか
|
|
92
94
|
- 今回限りのノイズをルール化していないか
|
|
95
|
+
- skill 名・起動条件・使いどころを変更した場合、`CLAUDE.md` の記述と一致しているか
|
|
96
|
+
- `CLAUDE.md` が肥大化していないか(20行超えたら `instructions/` や `skills/` へ移動を検討する)
|
|
97
|
+
- docs 構造・命名規則・node_id 体系に影響する変更の場合、`design-docs.instructions.md` と整合しているか
|
|
93
98
|
|
|
94
99
|
## 原則
|
|
95
100
|
|