spec-runner 1.1.13 → 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 -1
- package/spec-runner/templates/.claude/agents/design-reviewer.md +8 -8
- package/spec-runner/templates/.claude/agents/impact-analyzer.md +35 -11
- 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/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 +12 -7
- package/spec-runner/templates/.claude/skills/design-change/SKILL.md +13 -12
- 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 +4 -0
- package/spec-runner/templates/.claude/skills/test-driven-development/SKILL.md +104 -7
- package/spec-runner/templates/.github/agents/design-reviewer.agent.md +8 -8
- package/spec-runner/templates/.github/agents/impact-analyzer.agent.md +35 -11
- 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/skills/architecture-definition/SKILL.md +3 -3
- package/spec-runner/templates/.github/skills/architecture-skill-development/SKILL.md +12 -7
- package/spec-runner/templates/.github/skills/design-change/SKILL.md +13 -12
- 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 +4 -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
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.infrastructure.database
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
maps_to:
|
|
8
|
-
- src/infrastructure/{component_path}.py
|
|
9
|
-
- migrations/{migration_file}.sql
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# データベース設計: {テーブル名・スキーマ名}
|
|
13
|
-
|
|
14
|
-
## スキーマ定義
|
|
15
|
-
|
|
16
|
-
**DBMLファイル**: `schema.dbml`
|
|
17
|
-
|
|
18
|
-
## テーブル設計方針
|
|
19
|
-
|
|
20
|
-
### {table_name}
|
|
21
|
-
|
|
22
|
-
**責務**: {このテーブルが担う役割}
|
|
23
|
-
|
|
24
|
-
**インデックス設計**
|
|
25
|
-
|
|
26
|
-
- `idx_{table}_{column}`: {理由}
|
|
27
|
-
- `idx_{table}_{column}`: {理由}
|
|
28
|
-
|
|
29
|
-
## アクセスパターン
|
|
30
|
-
|
|
31
|
-
| 操作 | クエリ | 頻度 | 使用インデックス |
|
|
32
|
-
|------|--------|------|----------------|
|
|
33
|
-
| {操作名} | `SELECT ...` | {高/中/低} | `idx_{table}_{column}` |
|
|
34
|
-
| {操作名} | `INSERT ...` | {高/中/低} | - |
|
|
35
|
-
|
|
36
|
-
## パフォーマンス考慮事項
|
|
37
|
-
|
|
38
|
-
- 想定データ量: {件数}
|
|
39
|
-
- 増加率: {増加件数}
|
|
40
|
-
- アーカイブ戦略: {方針}
|
|
41
|
-
|
|
42
|
-
## データ整合性
|
|
43
|
-
|
|
44
|
-
| 項目 | 方法 |
|
|
45
|
-
|------|------|
|
|
46
|
-
| トランザクション分離レベル | {READ COMMITTED / REPEATABLE READ} |
|
|
47
|
-
| 楽観的ロック | {使用有無・方法} |
|
|
48
|
-
| 悲観的ロック | {使用有無・方法} |
|
|
49
|
-
|
|
50
|
-
## テスト観点
|
|
51
|
-
|
|
52
|
-
- 主要クエリの成立
|
|
53
|
-
- インデックス前提の検索
|
|
54
|
-
- マイグレーション後方互換
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// maps_to:
|
|
2
|
-
// - migrations/{migration_file}.sql
|
|
3
|
-
// - src/infrastructure/{component_path}.py
|
|
4
|
-
|
|
5
|
-
Table {table_name} {
|
|
6
|
-
id varchar(26) [pk, note: "ULID"]
|
|
7
|
-
{field_name} varchar(255) [not null, note: "{説明}"]
|
|
8
|
-
created_at timestamptz [not null, default: `now()`]
|
|
9
|
-
updated_at timestamptz [not null, default: `now()`]
|
|
10
|
-
|
|
11
|
-
indexes {
|
|
12
|
-
{field_name} [name: "idx_{table_name}_{field_name}"]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
Note: "{テーブルの説明}"
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
Table {child_table_name} {
|
|
19
|
-
id varchar(26) [pk, note: "ULID"]
|
|
20
|
-
{table_name}_id varchar(26) [not null, note: "FK to {table_name}"]
|
|
21
|
-
{field_name} text [null, note: "{説明}"]
|
|
22
|
-
created_at timestamptz [not null, default: `now()`]
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
Ref: {child_table_name}.{table_name}_id > {table_name}.id [delete: cascade]
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.infrastructure.sequence.{sequence_slug}
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
maps_to:
|
|
8
|
-
- src/{related_path}
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# {シーケンス名}
|
|
12
|
-
|
|
13
|
-
```mermaid
|
|
14
|
-
sequenceDiagram
|
|
15
|
-
participant U as ユーザー
|
|
16
|
-
participant A as {参加者A}
|
|
17
|
-
participant B as {参加者B}
|
|
18
|
-
|
|
19
|
-
U->>A: {操作}
|
|
20
|
-
A->>B: {依頼}
|
|
21
|
-
B-->>A: {結果}
|
|
22
|
-
A-->>U: {応答}
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## 補足
|
|
26
|
-
|
|
27
|
-
- 対象ユースケース: {UC}
|
|
28
|
-
- 例外分岐: {分岐}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.agents.{agent_name}.agent
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
- use_case.{use_case_slug}
|
|
8
|
-
maps_to:
|
|
9
|
-
- src/agents/{agent_name}/agent.py
|
|
10
|
-
- tests/agents/{agent_name}/test_agent.py
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `src/agents/{agent_name}/agent.py` 詳細設計
|
|
14
|
-
|
|
15
|
-
## 責務
|
|
16
|
-
|
|
17
|
-
- {このモジュールが果たす役割}
|
|
18
|
-
- 実現するユースケース: {UC一覧}
|
|
19
|
-
- 呼び出す依存: {依存一覧}
|
|
20
|
-
|
|
21
|
-
## 入力と出力
|
|
22
|
-
|
|
23
|
-
| 種別 | 名前 | 型 | 説明 |
|
|
24
|
-
|------|------|----|------|
|
|
25
|
-
| 入力 | {入力名} | {型} | {説明} |
|
|
26
|
-
| 出力 | {出力名} | {型} | {説明} |
|
|
27
|
-
|
|
28
|
-
## 主要フロー
|
|
29
|
-
|
|
30
|
-
1. {ステップ1}
|
|
31
|
-
2. {ステップ2}
|
|
32
|
-
3. {ステップ3}
|
|
33
|
-
|
|
34
|
-
## 判断条件
|
|
35
|
-
|
|
36
|
-
| 判断ポイント | 条件 | アクション |
|
|
37
|
-
|------------|------|----------|
|
|
38
|
-
| **{判断ポイント}** | {条件} | {アクション} |
|
|
39
|
-
|
|
40
|
-
## エラーハンドリング
|
|
41
|
-
|
|
42
|
-
| エラーケース | 検知方法 | 対応方法 |
|
|
43
|
-
|------------|---------|---------|
|
|
44
|
-
| **{エラーケース}** | {検知方法} | {対応方法} |
|
|
45
|
-
|
|
46
|
-
## 依存モジュール
|
|
47
|
-
|
|
48
|
-
| 依存 | 目的 | 呼び出しタイミング |
|
|
49
|
-
|------|------|----------------|
|
|
50
|
-
| **{依存モジュール}** | {目的} | {タイミング} |
|
|
51
|
-
|
|
52
|
-
## テスト観点
|
|
53
|
-
|
|
54
|
-
- {正常系の観点}
|
|
55
|
-
- {異常系の観点}
|
|
56
|
-
- {境界条件の観点}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.agents.{agent_name}.config
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
- detail.src.agents.{agent_name}.agent
|
|
8
|
-
maps_to:
|
|
9
|
-
- src/agents/{agent_name}/config.py
|
|
10
|
-
- tests/agents/{agent_name}/test_config.py
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `src/agents/{agent_name}/config.py` 詳細設計
|
|
14
|
-
|
|
15
|
-
## LLM設定
|
|
16
|
-
|
|
17
|
-
| 項目 | 値 | 理由 |
|
|
18
|
-
|------|----|------|
|
|
19
|
-
| モデル | {モデル名} | {選定理由} |
|
|
20
|
-
| temperature | {値} | {理由} |
|
|
21
|
-
| max_tokens | {値} | {理由} |
|
|
22
|
-
|
|
23
|
-
## エージェント固有設定
|
|
24
|
-
|
|
25
|
-
| 設定項目 | 値 | 説明 |
|
|
26
|
-
|---------|----|------|
|
|
27
|
-
| **{設定名}** | {デフォルト値} | {説明} |
|
|
28
|
-
|
|
29
|
-
## タイムアウト / リトライ
|
|
30
|
-
|
|
31
|
-
| 処理 | 設定 | 理由 |
|
|
32
|
-
|------|------|------|
|
|
33
|
-
| LLM呼び出し | {秒または回数} | {理由} |
|
|
34
|
-
| 外部 API | {秒または回数} | {理由} |
|
|
35
|
-
|
|
36
|
-
## 環境別設定
|
|
37
|
-
|
|
38
|
-
| 環境 | 差分 |
|
|
39
|
-
|------|------|
|
|
40
|
-
| 開発 | {差分} |
|
|
41
|
-
| 本番 | {差分} |
|
|
42
|
-
|
|
43
|
-
## テスト観点
|
|
44
|
-
|
|
45
|
-
- 設定値の既定値
|
|
46
|
-
- 不正値の拒否
|
|
47
|
-
- 環境差分の取り扱い
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.agents.{agent_name}.domain
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
- use_case.{use_case_slug}
|
|
8
|
-
maps_to:
|
|
9
|
-
- src/agents/{agent_name}/domain.py
|
|
10
|
-
- tests/agents/{agent_name}/test_domain.py
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `src/agents/{agent_name}/domain.py` 詳細設計
|
|
14
|
-
|
|
15
|
-
## 概要
|
|
16
|
-
|
|
17
|
-
このエージェントが扱うビジネスロジックとデータモデルを定義する。
|
|
18
|
-
|
|
19
|
-
## エンティティ
|
|
20
|
-
|
|
21
|
-
### {日本語名}(`{ClassName}`)
|
|
22
|
-
|
|
23
|
-
{責務の説明}
|
|
24
|
-
|
|
25
|
-
| フィールド | 型 | 説明 |
|
|
26
|
-
|----------|----|------|
|
|
27
|
-
| {フィールド名} | {型} | {説明} |
|
|
28
|
-
|
|
29
|
-
**不変条件**
|
|
30
|
-
|
|
31
|
-
- {条件1}
|
|
32
|
-
- {条件2}
|
|
33
|
-
|
|
34
|
-
## 値オブジェクト
|
|
35
|
-
|
|
36
|
-
### {日本語名}(`{ClassName}`)
|
|
37
|
-
|
|
38
|
-
{責務の説明}
|
|
39
|
-
|
|
40
|
-
| フィールド | 型 | 説明 |
|
|
41
|
-
|----------|----|------|
|
|
42
|
-
| {フィールド名} | {型} | {説明} |
|
|
43
|
-
|
|
44
|
-
**バリデーション**
|
|
45
|
-
|
|
46
|
-
- {ルール1}
|
|
47
|
-
|
|
48
|
-
## ビジネスロジック
|
|
49
|
-
|
|
50
|
-
### {ロジック名}
|
|
51
|
-
|
|
52
|
-
1. {ステップ1}
|
|
53
|
-
2. {ステップ2}
|
|
54
|
-
3. {ステップ3}
|
|
55
|
-
|
|
56
|
-
## ビジネスルール
|
|
57
|
-
|
|
58
|
-
| 条件 | アクション |
|
|
59
|
-
|------|----------|
|
|
60
|
-
| {条件} | {アクション} |
|
|
61
|
-
|
|
62
|
-
## データ変換 / 境界
|
|
63
|
-
|
|
64
|
-
| 変換方向 | 入力 | 出力 | 概要 |
|
|
65
|
-
|---------|------|------|------|
|
|
66
|
-
| {外部} → 内部 | {外部形式} | {ドメインモデル} | {変換内容} |
|
|
67
|
-
| 内部 → {外部} | {ドメインモデル} | {外部形式} | {変換内容} |
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.agents.{agent_name}.prompts
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
- detail.src.agents.{agent_name}.agent
|
|
8
|
-
maps_to:
|
|
9
|
-
- src/agents/{agent_name}/prompts.py
|
|
10
|
-
- tests/agents/{agent_name}/test_prompts.py
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `src/agents/{agent_name}/prompts.py` 詳細設計
|
|
14
|
-
|
|
15
|
-
## システムプロンプト
|
|
16
|
-
|
|
17
|
-
### 役割定義
|
|
18
|
-
|
|
19
|
-
```text
|
|
20
|
-
あなたは{役割}です。
|
|
21
|
-
|
|
22
|
-
【責務】
|
|
23
|
-
- {責務1}
|
|
24
|
-
- {責務2}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### 出力形式
|
|
28
|
-
|
|
29
|
-
```text
|
|
30
|
-
{出力形式の例}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## タスク別プロンプト
|
|
34
|
-
|
|
35
|
-
### タスク: {タスク名}
|
|
36
|
-
|
|
37
|
-
**用途**: {タスクの説明}
|
|
38
|
-
|
|
39
|
-
```text
|
|
40
|
-
{タスク固有の指示}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Few-shot 例
|
|
44
|
-
|
|
45
|
-
### 例1
|
|
46
|
-
|
|
47
|
-
入力:
|
|
48
|
-
|
|
49
|
-
```text
|
|
50
|
-
{入力例1}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
出力:
|
|
54
|
-
|
|
55
|
-
```text
|
|
56
|
-
{出力例1}
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## ガードレール
|
|
60
|
-
|
|
61
|
-
| 項目 | 内容 |
|
|
62
|
-
|------|------|
|
|
63
|
-
| 禁止事項 | {禁止事項} |
|
|
64
|
-
| 失敗時の扱い | {扱い} |
|
|
65
|
-
| 再試行条件 | {条件} |
|
|
66
|
-
|
|
67
|
-
## プロンプト戦略
|
|
68
|
-
|
|
69
|
-
| 戦略 | 適用箇所 | 理由 |
|
|
70
|
-
|------|---------|------|
|
|
71
|
-
| 出力形式固定 | {適用箇所} | {理由} |
|
|
72
|
-
| Few-shot | {適用箇所} | {理由} |
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.plugins.skills.{skill_name}.skill
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
maps_to:
|
|
8
|
-
- src/plugins/skills/{skill_name}/skill.py
|
|
9
|
-
- tests/plugins/skills/{skill_name}/test_skill.py
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# `src/plugins/skills/{skill_name}/skill.py` 詳細設計
|
|
13
|
-
|
|
14
|
-
## 概要
|
|
15
|
-
|
|
16
|
-
| 項目 | 内容 |
|
|
17
|
-
|------|------|
|
|
18
|
-
| スキル名 | {スキル名} |
|
|
19
|
-
| 責務 | {スキルが果たす役割} |
|
|
20
|
-
| 使用するエージェント | {エージェント名} |
|
|
21
|
-
| トリガー | {呼び出しタイミング} |
|
|
22
|
-
|
|
23
|
-
## 入出力
|
|
24
|
-
|
|
25
|
-
| 種別 | 名前 | 型 | 説明 |
|
|
26
|
-
|------|------|----|------|
|
|
27
|
-
| 入力 | {入力名} | {型} | {説明} |
|
|
28
|
-
| 出力 | {出力名} | {型} | {説明} |
|
|
29
|
-
|
|
30
|
-
## 判定ロジック
|
|
31
|
-
|
|
32
|
-
| 観点 | 確認内容 | 重要度 |
|
|
33
|
-
|------|---------|--------|
|
|
34
|
-
| **{観点名}** | {確認内容} | {高/中/低} |
|
|
35
|
-
|
|
36
|
-
## プロンプト
|
|
37
|
-
|
|
38
|
-
```text
|
|
39
|
-
あなたは{専門家の役割}です。
|
|
40
|
-
{タスクの説明}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## エラーケース
|
|
44
|
-
|
|
45
|
-
| エラーケース | 発生条件 | 対応方法 |
|
|
46
|
-
|------------|---------|---------|
|
|
47
|
-
| **{エラーケース}** | {発生条件} | {対応方法} |
|
|
48
|
-
|
|
49
|
-
## テスト観点
|
|
50
|
-
|
|
51
|
-
- 判定ロジックの正常系
|
|
52
|
-
- 閾値・境界条件
|
|
53
|
-
- 入力不足・異常値
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.plugins.tools.{tool_name}.tool
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
maps_to:
|
|
8
|
-
- src/plugins/tools/{tool_name}/tool.py
|
|
9
|
-
- tests/plugins/tools/{tool_name}/test_tool.py
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# `src/plugins/tools/{tool_name}/tool.py` 詳細設計
|
|
13
|
-
|
|
14
|
-
## 概要
|
|
15
|
-
|
|
16
|
-
| 項目 | 内容 |
|
|
17
|
-
|------|------|
|
|
18
|
-
| ツール名 | {ツール名} |
|
|
19
|
-
| 責務 | {ツールが果たす役割} |
|
|
20
|
-
| 使用するエージェント | {エージェント名} |
|
|
21
|
-
| カテゴリ | {計算/検索/変換/その他} |
|
|
22
|
-
|
|
23
|
-
## 入力
|
|
24
|
-
|
|
25
|
-
| パラメータ名 | 型 | 必須 | 説明 | 制約 |
|
|
26
|
-
|------------|----|------|------|------|
|
|
27
|
-
| **{パラメータ名}** | {型} | {○/×} | {説明} | {制約条件} |
|
|
28
|
-
|
|
29
|
-
## 出力
|
|
30
|
-
|
|
31
|
-
| フィールド名 | 型 | 説明 |
|
|
32
|
-
|------------|----|------|
|
|
33
|
-
| **{フィールド名}** | {型} | {説明} |
|
|
34
|
-
|
|
35
|
-
## 処理内容
|
|
36
|
-
|
|
37
|
-
1. {処理ステップ1}
|
|
38
|
-
2. {処理ステップ2}
|
|
39
|
-
3. {処理ステップ3}
|
|
40
|
-
|
|
41
|
-
## エラーケース
|
|
42
|
-
|
|
43
|
-
| エラーケース | 発生条件 | 対応方法 |
|
|
44
|
-
|------------|---------|---------|
|
|
45
|
-
| **{エラーケース}** | {発生条件} | {対応方法} |
|
|
46
|
-
|
|
47
|
-
## テスト観点
|
|
48
|
-
|
|
49
|
-
- 正常系の入出力
|
|
50
|
-
- エラー時の戻り値または例外
|
|
51
|
-
- 外部依存の失敗時の扱い
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plugin-development
|
|
3
|
-
description: プラグイン型アーキテクチャ向けの reference workflow。docs を正本にし、概要設計から `src/` ミラーの詳細設計、TDD、実装へ進める。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# plugin-development
|
|
7
|
-
|
|
8
|
-
プラグイン型アーキテクチャ向けの新規開発フロー。
|
|
9
|
-
`architecture-definition` や `architecture-skill-development` が未整備な段階でも使える reference implementation として扱う。
|
|
10
|
-
|
|
11
|
-
## 全体フロー
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Phase 1: 要件定義
|
|
15
|
-
Phase 2: 概要設計
|
|
16
|
-
Phase 3: ADR(必要時のみ)
|
|
17
|
-
Phase 4: 詳細設計
|
|
18
|
-
Phase 5: TDD → 実装
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## 前提ルール
|
|
22
|
-
|
|
23
|
-
- docs は正本とし、各ドキュメントに `spec_runner` frontmatter を付ける
|
|
24
|
-
- `docs/03_詳細設計/src/**` は原則として `src/` をミラーする
|
|
25
|
-
- `docs/03_詳細設計/infrastructure/**` は例外文書として扱い、必ず `maps_to` で対応先を明示する
|
|
26
|
-
- ユーザー承認なしに次フェーズへ進めない
|
|
27
|
-
|
|
28
|
-
## Phase 1: 要件定義
|
|
29
|
-
|
|
30
|
-
### 手順
|
|
31
|
-
|
|
32
|
-
1. 以下をユーザーにヒアリングする
|
|
33
|
-
- 解決すべき課題
|
|
34
|
-
- 提供価値
|
|
35
|
-
- 対象ユーザー
|
|
36
|
-
- 非機能要件
|
|
37
|
-
- スコープ外
|
|
38
|
-
- 技術・ビジネス制約
|
|
39
|
-
2. テンプレート `templates/01_要件定義/概要テンプレート.md` をコピーして `docs/01_要件定義/要件定義.md` を作る
|
|
40
|
-
3. frontmatter の `node_id` / `kind` / `depends_on` / `maps_to` を埋める
|
|
41
|
-
4. ユーザーに確認・承認を得る
|
|
42
|
-
|
|
43
|
-
### 出力
|
|
44
|
-
|
|
45
|
-
```text
|
|
46
|
-
docs/
|
|
47
|
-
01_要件定義/
|
|
48
|
-
要件定義.md
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Phase 2: 概要設計
|
|
52
|
-
|
|
53
|
-
### 2-1. ユースケース一覧
|
|
54
|
-
|
|
55
|
-
1. Phase 1 の要件定義からユースケースを洗い出す
|
|
56
|
-
2. Query / Command を意識して一覧化する
|
|
57
|
-
3. テンプレート `templates/02_概要設計/ユースケース一覧テンプレート.md` をコピーして作る
|
|
58
|
-
4. 必要なら `docs/02_概要設計/ユースケース/` 配下に個別 UC も作る
|
|
59
|
-
5. ユーザーに確認・承認を得る
|
|
60
|
-
|
|
61
|
-
### 2-2. システム全体俯瞰
|
|
62
|
-
|
|
63
|
-
1. ユースケース一覧から責務境界、主要コンポーネント、外部 IF を整理する
|
|
64
|
-
2. テンプレート `templates/02_概要設計/システム全体俯瞰テンプレート.md` をコピーして作る
|
|
65
|
-
3. 必要なら `ドメイン責務マップ.md` / `外部IF一覧.md` / `非機能・運用方針.md` を追加する
|
|
66
|
-
4. ユーザーに確認・承認を得る
|
|
67
|
-
|
|
68
|
-
### 出力
|
|
69
|
-
|
|
70
|
-
```text
|
|
71
|
-
docs/
|
|
72
|
-
02_概要設計/
|
|
73
|
-
ユースケース一覧.md
|
|
74
|
-
システム全体俯瞰.md
|
|
75
|
-
ユースケース/
|
|
76
|
-
UC-*.md
|
|
77
|
-
90_ADR/
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Phase 3: ADR(必要時のみ)
|
|
81
|
-
|
|
82
|
-
1. 実装方針に意思決定が必要な場合だけ ADR を作る
|
|
83
|
-
2. **必ず 3 案を比較する**
|
|
84
|
-
3. テンプレート `templates/02_概要設計/90_ADR/ADRテンプレート.md` をコピーして生成する
|
|
85
|
-
4. 配置先は `docs/02_概要設計/90_ADR/mmdd-{日本語タイトル}.md` を原則とする
|
|
86
|
-
5. 採用案を概要設計へ反映してから次へ進む
|
|
87
|
-
|
|
88
|
-
## Phase 4: 詳細設計
|
|
89
|
-
|
|
90
|
-
**各ドキュメントは `src/` と決定的に対応づける。**
|
|
91
|
-
|
|
92
|
-
### 4-1. エージェント
|
|
93
|
-
|
|
94
|
-
テンプレート:
|
|
95
|
-
- `templates/03_詳細設計/src/agents/{agent_name}/agent.md`
|
|
96
|
-
- `templates/03_詳細設計/src/agents/{agent_name}/domain.md`
|
|
97
|
-
- `templates/03_詳細設計/src/agents/{agent_name}/prompts.md`
|
|
98
|
-
- `templates/03_詳細設計/src/agents/{agent_name}/config.md`
|
|
99
|
-
|
|
100
|
-
出力:
|
|
101
|
-
|
|
102
|
-
```text
|
|
103
|
-
docs/
|
|
104
|
-
03_詳細設計/
|
|
105
|
-
src/
|
|
106
|
-
agents/
|
|
107
|
-
{agent_name}/
|
|
108
|
-
agent.md
|
|
109
|
-
domain.md
|
|
110
|
-
prompts.md
|
|
111
|
-
config.md
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### 4-2. プラグイン
|
|
115
|
-
|
|
116
|
-
テンプレート:
|
|
117
|
-
- `templates/03_詳細設計/src/plugins/skills/{skill_name}/skill.md`
|
|
118
|
-
- `templates/03_詳細設計/src/plugins/tools/{tool_name}/tool.md`
|
|
119
|
-
|
|
120
|
-
出力:
|
|
121
|
-
|
|
122
|
-
```text
|
|
123
|
-
docs/
|
|
124
|
-
03_詳細設計/
|
|
125
|
-
src/
|
|
126
|
-
plugins/
|
|
127
|
-
skills/
|
|
128
|
-
{skill_name}/
|
|
129
|
-
skill.md
|
|
130
|
-
tools/
|
|
131
|
-
{tool_name}/
|
|
132
|
-
tool.md
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### 4-3. インフラ補助設計
|
|
136
|
-
|
|
137
|
-
`src` ミラーだけでは表現しきれない DB / IaC / 運用構成だけ、例外として補助設計を置く。
|
|
138
|
-
|
|
139
|
-
テンプレート:
|
|
140
|
-
- `templates/03_詳細設計/infrastructure/database.md`
|
|
141
|
-
- `templates/03_詳細設計/infrastructure/schema.dbml`
|
|
142
|
-
- `templates/03_詳細設計/infrastructure/aws.md`
|
|
143
|
-
- `templates/03_詳細設計/infrastructure/sequence/シーケンス図テンプレート.md`
|
|
144
|
-
|
|
145
|
-
出力:
|
|
146
|
-
|
|
147
|
-
```text
|
|
148
|
-
docs/
|
|
149
|
-
03_詳細設計/
|
|
150
|
-
infrastructure/
|
|
151
|
-
database.md
|
|
152
|
-
schema.dbml
|
|
153
|
-
aws.md
|
|
154
|
-
sequence/
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
ユーザーに確認・承認を得る
|
|
158
|
-
|
|
159
|
-
## Phase 5: TDD → 実装
|
|
160
|
-
|
|
161
|
-
詳細設計が承認されたら `test-driven-development` スキルへ移行する。
|
|
162
|
-
|
|
163
|
-
### 実装完了後のレビュー
|
|
164
|
-
|
|
165
|
-
- `@design-reviewer` — frontmatter と `maps_to` を起点に設計書⇔実装の整合性チェック
|
|
166
|
-
- `@code-reviewer` — コーディング規約への適合チェック
|
|
167
|
-
|
|
168
|
-
## 原則
|
|
169
|
-
|
|
170
|
-
- **ユースケースは途中で止めずに洗い出す**
|
|
171
|
-
- **詳細設計は `src/` ミラーを優先する**
|
|
172
|
-
- **補助設計を置く場合も `maps_to` で対応先を残す**
|
|
173
|
-
- **`plugin-development` を最終形とみなさず、project 専用 skill の種として扱う**
|