spec-runner 1.1.7 → 1.1.8

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 (92) hide show
  1. package/README.md +51 -80
  2. package/bin/spec-runner-installer.js +401 -0
  3. package/install.sh +1 -1
  4. package/package.json +7 -6
  5. package/spec-runner/templates/.claude/agents/code-reviewer.md +69 -0
  6. package/spec-runner/templates/.claude/agents/design-reviewer.md +65 -0
  7. package/spec-runner/templates/.claude/agents/test-runner.md +34 -0
  8. package/spec-runner/templates/.claude/rules/coding.md +106 -0
  9. package/spec-runner/templates/.claude/rules/design-docs.md +63 -0
  10. package/spec-runner/templates/.claude/skills/architecture-definition/SKILL.md +60 -0
  11. package/spec-runner/templates/.claude/skills/architecture-skill-development/SKILL.md +126 -0
  12. package/spec-runner/templates/.claude/skills/commit/SKILL.md +83 -0
  13. package/spec-runner/templates/.claude/skills/design-change/SKILL.md +94 -0
  14. 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 +66 -0
  15. 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 +81 -0
  16. package/spec-runner/templates/.claude/skills/existing-project-to-docs/SKILL.md +57 -0
  17. package/spec-runner/templates/.claude/skills/harness-engineering/SKILL.md +100 -0
  18. package/spec-runner/templates/.claude/skills/plugin-development/SKILL.md +173 -0
  19. 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 +88 -0
  20. 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 +81 -0
  21. 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 +80 -0
  22. 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 +57 -0
  23. 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 +53 -0
  24. 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 +54 -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/schema.dbml +25 -0
  26. 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 +28 -0
  27. 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 +56 -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}/config.md +47 -0
  29. 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 +67 -0
  30. 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 +72 -0
  31. 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 +53 -0
  32. 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 +51 -0
  33. package/spec-runner/templates/.claude/skills/test-driven-development/SKILL.md +211 -0
  34. package/spec-runner/templates/.github/agents/code-reviewer.agent.md +69 -0
  35. package/spec-runner/templates/.github/agents/design-reviewer.agent.md +65 -0
  36. package/spec-runner/templates/.github/agents/test-runner.agent.md +34 -0
  37. package/spec-runner/templates/.github/instructions/coding.instructions.md +105 -0
  38. package/spec-runner/templates/.github/instructions/design-docs.instructions.md +62 -0
  39. package/spec-runner/templates/.github/skills/architecture-definition/SKILL.md +60 -0
  40. package/spec-runner/templates/.github/skills/architecture-skill-development/SKILL.md +126 -0
  41. package/spec-runner/templates/.github/skills/commit/SKILL.md +83 -0
  42. package/spec-runner/templates/.github/skills/design-change/SKILL.md +94 -0
  43. 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 +66 -0
  44. 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 +81 -0
  45. package/spec-runner/templates/.github/skills/existing-project-to-docs/SKILL.md +57 -0
  46. package/spec-runner/templates/.github/skills/harness-engineering/SKILL.md +100 -0
  47. package/spec-runner/templates/.github/skills/plugin-development/SKILL.md +173 -0
  48. 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 +88 -0
  49. 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 +81 -0
  50. 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 +80 -0
  51. 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 +57 -0
  52. 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 +53 -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 +54 -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 +25 -0
  55. 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 +28 -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}/agent.md +56 -0
  57. 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 +47 -0
  58. 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 +67 -0
  59. 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 +72 -0
  60. 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 +53 -0
  61. 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 +51 -0
  62. package/spec-runner/templates/.github/skills/test-driven-development/SKILL.md +211 -0
  63. package/bin/spec-runner.js +0 -270
  64. package/docs/flow.md +0 -72
  65. package/templates/.spec-runner/project.json.example +0 -27
  66. package/templates/.spec-runner/scripts/check.sh +0 -390
  67. package/templates/.spec-runner/scripts/spec-runner-core.sh +0 -289
  68. package/templates/.spec-runner/scripts/uc-next-start.sh +0 -161
  69. package/templates/.spec-runner/spec-runner.sh +0 -29
  70. package/templates/.spec-runner/steps/steps.json +0 -96
  71. package/templates/.spec-runner/steps//343/203/206/343/202/271/343/203/210/350/250/255/350/250/210.md +0 -58
  72. package/templates/.spec-runner/steps//343/203/211/343/203/241/343/202/244/343/203/263/350/250/255/350/250/210.md +0 -52
  73. package/templates/.spec-runner/steps//344/273/225/346/247/230/347/255/226/345/256/232.md +0 -210
  74. package/templates/.spec-runner/steps//345/210/206/346/236/220.md +0 -106
  75. package/templates/.spec-runner/steps//345/256/237/350/243/205.md +0 -80
  76. package/templates/.spec-runner/steps//345/256/237/350/243/205/350/250/210/347/224/273.md +0 -96
  77. package/templates/.spec-runner/steps//346/206/262/347/253/240.md +0 -95
  78. package/templates/.spec-runner/steps//346/233/226/346/230/247/343/201/225/350/247/243/346/266/210.md +0 -110
  79. package/templates/.spec-runner/templates/UC-N-MMDD-/345/210/244/346/226/255/350/250/230/351/214/262/343/203/206/343/203/263/343/203/227/343/203/254.md +0 -33
  80. package/templates/.spec-runner/templates/UC-N-/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/345/220/215.md +0 -26
  81. package/templates/.spec-runner/templates/phase-locks.json +0 -49
  82. package/templates/.spec-runner/templates//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253.md +0 -21
  83. package/templates/.spec-runner/templates//343/203/246/343/203/223/343/202/255/343/202/277/343/202/271/350/250/200/350/252/236/350/276/236/346/233/270.md +0 -16
  84. package/templates/.spec-runner/templates//346/206/262/347/253/240.md +0 -51
  85. package/templates/.spec-runner/templates//351/233/206/347/264/204.md +0 -46
  86. package/templates/mkdocs-scaffold/docs/index.md +0 -32
  87. package/templates/mkdocs-scaffold/mkdocs.yml +0 -16
  88. package/templates/mkdocs-scaffold/requirements-docs.txt +0 -2
  89. package/templates/skills/uc-k1-work-card-init/SKILL.md +0 -76
  90. package/templates/skills/uc-k2-pre-commit-check/SKILL.md +0 -57
  91. package/templates/skills/uc-k3-spec-impl-diff-review/SKILL.md +0 -57
  92. package/templates/spec-runner-command.md +0 -51
@@ -0,0 +1,80 @@
1
+ ---
2
+ spec_runner:
3
+ node_id: overview.system_context
4
+ kind: overview
5
+ depends_on:
6
+ - req.{project_slug}
7
+ - overview.usecases
8
+ maps_to: []
9
+ ---
10
+
11
+ # システム全体俯瞰
12
+
13
+ ## 目的
14
+
15
+ {システムの目的と全体的なアーキテクチャを説明する}
16
+
17
+ ## 全体像
18
+
19
+ ```mermaid
20
+ graph TB
21
+ subgraph Input["入力"]
22
+ A["{入力1}"]
23
+ B["{入力2}"]
24
+ end
25
+
26
+ subgraph Core["主要コンポーネント"]
27
+ C["{コンポーネント1}"]
28
+ D["{コンポーネント2}"]
29
+ end
30
+
31
+ subgraph External["外部 IF"]
32
+ E["{外部IF1}"]
33
+ F["{外部IF2}"]
34
+ end
35
+
36
+ A --> C
37
+ B --> D
38
+ C --> E
39
+ D --> F
40
+ ```
41
+
42
+ ## 主要コンポーネント
43
+
44
+ | コンポーネント | 責務 | 実現するユースケース | 主な依存 |
45
+ |---------------|------|-------------------|----------|
46
+ | **{コンポーネント名}** | {責務の説明} | {UC一覧} | {依存一覧} |
47
+
48
+ ## ドメイン責務
49
+
50
+ | ドメイン | 責務 | 主要な入出力 | 境界の根拠 |
51
+ |---------|------|------------|-----------|
52
+ | **{ドメイン名}** | {責務} | {入出力} | {根拠} |
53
+
54
+ ## 外部 IF / 連携先
55
+
56
+ | IF名 | 相手先 | 目的 | 入力 | 出力 |
57
+ |------|--------|------|------|------|
58
+ | **{IF名}** | {相手先} | {目的} | {入力} | {出力} |
59
+
60
+ ## データフロー
61
+
62
+ ```mermaid
63
+ sequenceDiagram
64
+ participant User as ユーザー
65
+ participant App as {主要コンポーネント}
66
+ participant Tool as {ツールまたは外部IF}
67
+
68
+ User->>App: {操作}
69
+ App->>Tool: {依頼}
70
+ Tool-->>App: {結果}
71
+ App-->>User: {応答}
72
+ ```
73
+
74
+ ## 非機能・運用方針
75
+
76
+ | 項目 | 方針 | 根拠 |
77
+ |------|------|------|
78
+ | パフォーマンス | {方針} | {根拠} |
79
+ | セキュリティ | {方針} | {根拠} |
80
+ | 運用 | {方針} | {根拠} |
@@ -0,0 +1,57 @@
1
+ ---
2
+ spec_runner:
3
+ node_id: overview.usecases
4
+ kind: overview
5
+ depends_on:
6
+ - req.{project_slug}
7
+ maps_to: []
8
+ ---
9
+
10
+ # ユースケース一覧
11
+
12
+ ## ユースケースマップ
13
+
14
+ ```mermaid
15
+ graph LR
16
+ subgraph Domain1["{Domain1}"]
17
+ D1Q1["UC-{日本語名1}"]
18
+ D1C1["UC-{日本語名2}"]
19
+ end
20
+
21
+ subgraph Domain2["{Domain2}"]
22
+ D2Q1["UC-{日本語名3}"]
23
+ D2C1["UC-{日本語名4}"]
24
+ end
25
+ ```
26
+
27
+ ## {Domain1}
28
+
29
+ | ユースケース | 種別 | 概要 | アクター | 入力 | 出力 |
30
+ |------------|------|------|---------|------|------|
31
+ | **UC-{日本語名1}** | Query | {概要} | {アクター} | {入力} | {出力} |
32
+ | **UC-{日本語名2}** | Command | {概要} | {アクター} | {入力} | {出力} |
33
+
34
+ **特記事項**
35
+
36
+ - {前提条件}
37
+ - {例外条件}
38
+
39
+ ## {Domain2}
40
+
41
+ | ユースケース | 種別 | 概要 | アクター | 入力 | 出力 |
42
+ |------------|------|------|---------|------|------|
43
+ | **UC-{日本語名3}** | Query | {概要} | {アクター} | {入力} | {出力} |
44
+ | **UC-{日本語名4}** | Command | {概要} | {アクター} | {入力} | {出力} |
45
+
46
+ **特記事項**
47
+
48
+ - {前提条件}
49
+ - {例外条件}
50
+
51
+ ## ユースケース間の依存関係
52
+
53
+ ```mermaid
54
+ graph TD
55
+ UC1["UC-{日本語名1}"] -->|"{関係}"| UC2["UC-{日本語名2}"]
56
+ UC2 -->|"{関係}"| UC3["UC-{日本語名3}"]
57
+ ```
@@ -0,0 +1,53 @@
1
+ ---
2
+ spec_runner:
3
+ node_id: detail.infrastructure.aws.{stack_slug}
4
+ kind: detailed_design
5
+ depends_on:
6
+ - overview.system_context
7
+ maps_to:
8
+ - infra/{iac_path}
9
+ - src/infrastructure/{component_path}.py
10
+ ---
11
+
12
+ # AWS構成: {サービス名・機能名}
13
+
14
+ ## アーキテクチャ図
15
+
16
+ ```mermaid
17
+ graph LR
18
+ User[ユーザー] --> API[API Gateway]
19
+ API --> Lambda[Lambda]
20
+ Lambda --> RDS[(RDS)]
21
+ Lambda --> S3[S3]
22
+ ```
23
+
24
+ ## AWSサービス構成
25
+
26
+ | サービス | リソース名 | 用途 | 設定値 |
27
+ |----------|-----------|------|--------|
28
+ | Lambda | `{function-name}` | {用途} | メモリ: {MB}, タイムアウト: {秒} |
29
+ | RDS | `{db-instance}` | {用途} | インスタンス: {type}, ストレージ: {GB} |
30
+ | S3 | `{bucket-name}` | {用途} | バージョニング: {有無} |
31
+
32
+ ## IAM / ネットワーク
33
+
34
+ | 項目 | 設定 |
35
+ |------|------|
36
+ | IAMロール | {role-name} |
37
+ | VPC | {vpc-id} |
38
+ | サブネット | {subnet-ids} |
39
+ | セキュリティグループ | {sg-id}: {ルール} |
40
+
41
+ ## デプロイ構成
42
+
43
+ | 項目 | 設定 |
44
+ |------|------|
45
+ | デプロイ方法 | {CDK / Terraform / CloudFormation} |
46
+ | デプロイ単位 | {スタック名} |
47
+ | 環境 | {dev / staging / production} |
48
+
49
+ ## 監視・アラート
50
+
51
+ | 監視項目 | 閾値 | 通知先 |
52
+ |----------|------|--------|
53
+ | {メトリクス名} | {閾値} | {通知先} |
@@ -0,0 +1,54 @@
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
+ - マイグレーション後方互換
@@ -0,0 +1,25 @@
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]
@@ -0,0 +1,28 @@
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
+ - 例外分岐: {分岐}
@@ -0,0 +1,56 @@
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
+ - {境界条件の観点}
@@ -0,0 +1,47 @@
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
+ - 環境差分の取り扱い
@@ -0,0 +1,67 @@
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
+ | 内部 → {外部} | {ドメインモデル} | {外部形式} | {変換内容} |
@@ -0,0 +1,72 @@
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 | {適用箇所} | {理由} |
@@ -0,0 +1,53 @@
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
+ - 入力不足・異常値
@@ -0,0 +1,51 @@
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
+ - 外部依存の失敗時の扱い