phasegate 0.183.0 → 0.212.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 (100) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.ja.md +52 -15
  3. package/README.md +39 -11
  4. package/docs/ADR/030-injection-threat-model-and-trust-root.md +145 -0
  5. package/docs/guide/hooks-integration.md +50 -1
  6. package/docs/guide/installation.md +1 -1
  7. package/docs/guide/quick-vs-full-mode.md +1 -1
  8. package/docs/guide/skills-overview.md +17 -17
  9. package/package.json +1 -1
  10. package/scripts/harness/agent-integration/presentation/phasegate-status-context.ts +131 -63
  11. package/scripts/harness/agent-integration/presentation/session-start-hook.ts +31 -4
  12. package/scripts/harness/agent-integration/presentation/spotlight.ts +65 -0
  13. package/scripts/harness/biome-ast-engine/infrastructure/parsers/comment-density-parser.ts +51 -10
  14. package/scripts/harness/ci-governance/application/dto/pin-integrity-input.ts +8 -0
  15. package/scripts/harness/ci-governance/application/dto/pin-integrity-output.ts +9 -0
  16. package/scripts/harness/ci-governance/application/dto/verify-integrity-input.ts +7 -0
  17. package/scripts/harness/ci-governance/application/dto/verify-integrity-output.ts +10 -0
  18. package/scripts/harness/ci-governance/application/usecases/pin-integrity-usecase.ts +60 -0
  19. package/scripts/harness/ci-governance/application/usecases/verify-integrity-usecase.ts +46 -0
  20. package/scripts/harness/ci-governance/composition-root.ts +68 -65
  21. package/scripts/harness/ci-governance/domain/ports/integrity-manifest-repository-port.ts +14 -0
  22. package/scripts/harness/ci-governance/domain/ports/sha256-hasher-port.ts +10 -0
  23. package/scripts/harness/ci-governance/domain/services/integrity-checker.ts +42 -0
  24. package/scripts/harness/ci-governance/domain/value-objects/integrity-drift.ts +16 -0
  25. package/scripts/harness/ci-governance/domain/value-objects/integrity-manifest.ts +49 -0
  26. package/scripts/harness/ci-governance/domain/value-objects/integrity-target.ts +40 -0
  27. package/scripts/harness/ci-governance/infrastructure/adapters/adr-foundation-existence-adapter.ts +26 -2
  28. package/scripts/harness/ci-governance/infrastructure/adapters/file-system-sha256-hasher-adapter.ts +17 -0
  29. package/scripts/harness/ci-governance/infrastructure/adapters/harness-api-command-existence-adapter.ts +8 -1
  30. package/scripts/harness/ci-governance/infrastructure/adapters/integrity-manifest-json-repository-adapter.ts +83 -0
  31. package/scripts/harness/ci-governance/presentation/handlers/integrity-handler.ts +76 -0
  32. package/scripts/harness/config-foundation/application/mappers/validator-system-config-mapper.ts +53 -28
  33. package/scripts/harness/harness-api/domain/value-objects/ci-check-result.ts +33 -8
  34. package/scripts/harness/harness-api/domain/value-objects/known-harness-commands.ts +90 -0
  35. package/scripts/harness/installation/application/bundled-skill-selection.ts +2 -5
  36. package/scripts/harness/main.ts +257 -105
  37. package/scripts/harness/phase-dependency-model/domain/ports/story-reflection-file-system-port.ts +2 -0
  38. package/scripts/harness/phase-dependency-model/domain/services/story-reflection-checker.ts +8 -0
  39. package/scripts/harness/phase-dependency-model/infrastructure/filesystem/file-system-story-reflection-adapter.ts +137 -2
  40. package/scripts/harness/quick-mode/domain/services/quick-mode-judgment-engine.ts +44 -40
  41. package/scripts/harness/setup/skill-deployer.ts +8 -10
  42. package/scripts/harness/skill-quality/domain/services/skill-structure-validator.ts +13 -2
  43. package/scripts/harness/skill-quality/domain/types/skill-kind.ts +6 -0
  44. package/scripts/harness/skill-quality/domain/value-objects/skill-structure.ts +24 -8
  45. package/scripts/harness/validator-system/application/use-cases/run-l2-validators-usecase.ts +82 -49
  46. package/scripts/harness/validator-system/application/use-cases/run-l3-validators-usecase.ts +87 -58
  47. package/scripts/harness/validator-system/composition-root.ts +141 -99
  48. package/scripts/harness/validator-system/domain/ports/coverage-attestation-gating-policy-port.ts +14 -0
  49. package/scripts/harness/validator-system/domain/ports/injection-scan-policy-port.ts +14 -0
  50. package/scripts/harness/validator-system/domain/services/coverage-attestation-gating-service.ts +56 -0
  51. package/scripts/harness/validator-system/domain/services/injection-pattern-scan-service.ts +118 -0
  52. package/scripts/harness/validator-system/domain/value-objects/coverage-gating-report.ts +67 -0
  53. package/scripts/harness/validator-system/domain/value-objects/injection-scan-report.ts +55 -0
  54. package/scripts/harness/validator-system/domain/value-objects/validator-id.ts +35 -31
  55. package/scripts/harness/validator-system/infrastructure/adapters/adr-foundation-reference-adapter.ts +13 -7
  56. package/scripts/harness/validator-system/infrastructure/adapters/file-system-coverage-attestation-gating-adapter.ts +87 -0
  57. package/scripts/harness/validator-system/infrastructure/adapters/file-system-injection-scan-adapter.ts +82 -0
  58. package/skills/README.md +1 -1
  59. package/skills/cascade-updater/SKILL.md +3 -3
  60. package/skills/codebase-mapper/SKILL.md +6 -6
  61. package/skills/codex-delegator/SKILL.md +4 -3
  62. package/skills/codex-delegator/references/prompt-patterns.md +3 -3
  63. package/skills/codex-delegator/references/review-dimensions.md +1 -1
  64. package/skills/consistency-checker/SKILL.md +1 -1
  65. package/skills/consistency-checker/references//343/203/201/343/202/247/343/203/203/343/202/257/343/203/252/343/202/271/343/203/210.md +1 -1
  66. package/skills/doc-health-checker/SKILL.md +148 -0
  67. package/skills/domain-designer/SKILL.md +4 -2
  68. package/skills/engineering-perspective/SKILL.md +1 -0
  69. package/skills/environment-designer/SKILL.md +8 -6
  70. package/skills/implementation-readiness-checker/SKILL.md +2 -1
  71. package/skills/it-test-designer/SKILL.md +10 -8
  72. package/skills/it-test-logic-designer/SKILL.md +11 -9
  73. package/skills/it-test-logic-designer/references/repository-test-patterns.md +8 -1
  74. package/skills/logical-designer/SKILL.md +5 -3
  75. package/skills/mock-designer/SKILL.md +10 -6
  76. package/skills/phasegate-config-doctor/SKILL.md +3 -2
  77. package/skills/phasegate-toolkit-guide/SKILL.md +1 -0
  78. package/skills/quick-implementor/SKILL.md +1 -1
  79. package/skills/release-publisher/SKILL.md +101 -0
  80. package/skills/scenario-test-designer/SKILL.md +27 -14
  81. package/skills/scenario-test-logic-designer/SKILL.md +10 -8
  82. package/skills/scenario-test-logic-designer/references/msw-patterns.md +3 -1
  83. package/skills/scenario-test-logic-designer/references/playwright-patterns.md +3 -1
  84. package/skills/skill-creator/SKILL.md +75 -332
  85. package/skills/story-implementor/SKILL.md +54 -0
  86. package/skills/story-mapper/SKILL.md +8 -4
  87. package/skills/story-writer/SKILL.md +14 -5
  88. package/skills/test-coverage-checker/SKILL.md +4 -6
  89. package/skills/uiux-designer/SKILL.md +4 -2
  90. package/skills/uiux-designer/references/uiux-design-template.md +4 -4
  91. package/skills/unit-designer/SKILL.md +11 -7
  92. package/skills/unit-test-designer/SKILL.md +25 -11
  93. package/skills/unit-test-logic-designer/SKILL.md +10 -8
  94. package/skills/unit-test-logic-designer/references/test-patterns.md +7 -1
  95. package/skills/doc-freshness-checker/SKILL.md +0 -140
  96. package/skills/implementation-planner/SKILL.md +0 -167
  97. package/skills/implementation-planner/references/document-structure.md +0 -116
  98. package/skills/implementation-planner/references/plan-template.md +0 -177
  99. package/skills/implementation-planner/references/workflow.md +0 -164
  100. package/skills/pointer-validator/SKILL.md +0 -104
@@ -0,0 +1,148 @@
1
+ ---
2
+ name: doc-health-checker
3
+ kind: advisory
4
+ description: 設計文書の健全性(鮮度 + ポインタ有効性)を L4 バリデータ CLI で診断・対処するスキル。`npx phasegate p2:check-freshness`(鮮度・code-design drift, L4-004)と `npx phasegate p2:validate-pointers`(壊れたファイルパスポインタ, L4-005)をラップし、結果を解釈して修正アクションを提案する。使用タイミング:「設計文書が古くなっていないか確認して」「ドキュメントの鮮度チェック」「設計とコードの乖離を調べて」「ドキュメントのリンク切れを確認して」「broken pointer を探して」「設計文書の参照が正しいか確認して」「L4 doc health チェック」など。
5
+ model: sonnet
6
+ review: opus
7
+ languages: [typescript]
8
+ ---
9
+
10
+ # Doc Health Checker
11
+
12
+ ## 目的
13
+
14
+ 設計文書の健全性を 2 つの観点で機械的に検証し、結果を解釈して修正アクションを提案する advisory スキル。旧 `doc-freshness-checker`(鮮度)と旧 `pointer-validator`(ポインタ有効性)を統合したもの。
15
+
16
+ 1. **鮮度(freshness)— L4-004**: 設計文書の最終更新が古すぎないか、コード変更と設計文書の乖離(code-design drift)がないかを検出する。`npx phasegate p2:check-freshness` をラップする。
17
+ 2. **ポインタ有効性(pointer validity)— L4-005**: 設計文書内で参照されているファイルパスポインタが実在するか(broken pointer)を検出する。`npx phasegate p2:validate-pointers` をラップする。
18
+
19
+ いずれも L4 バリデータの CLI 拡張であり、本スキルは CLI を実行して結果を解釈し、ユーザーに対処案を提示する。
20
+
21
+ > **重要(CLI 名の正)**: コマンドは必ず `p2:` 接頭辞付きで呼ぶ。無接頭辞の `phasegate check-freshness` / `phasegate validate-pointers` は **存在しない誤った表記**(旧スキルの記載は誤りだった)。正しくは `npx phasegate p2:check-freshness` / `npx phasegate p2:validate-pointers`。
22
+
23
+ ## 対象読者・使いどころ
24
+
25
+ - 設計文書(`docs/product/construction/` や `docs/inception/` 配下の `.md`)が実装から取り残されていないか、参照リンクが壊れていないかを点検したいとき。
26
+ - リリース前・大規模リファクタ後・Unit 完了時のドキュメント健全性確認。
27
+ - 軽量チェックのため、鮮度とポインタの両方をまとめて走らせるのが基本運用。
28
+
29
+ ## CLI リファレンス
30
+
31
+ ### 1. 鮮度チェック — `p2:check-freshness`(L4-004)
32
+
33
+ ```bash
34
+ npx phasegate p2:check-freshness [--pattern <glob>] [--format text|json] [--dry-run]
35
+ ```
36
+
37
+ | オプション | 意味 |
38
+ |-----------|------|
39
+ | `--pattern <glob>` | 対象ファイルの glob(未指定時は config の設計文書パスが対象) |
40
+ | `--format text\|json` | 出力形式(デフォルト `text`) |
41
+ | `--dry-run` | 副作用なしで診断のみ |
42
+
43
+ `CheckDocFreshnessOutput` の主なフィールド:
44
+
45
+ | フィールド | 意味 |
46
+ |-----------|------|
47
+ | `results[].status` | `ok` / `warn` / `error` |
48
+ | `results[].documentPath` | チェック対象ファイル |
49
+ | `results[].daysSinceUpdate` | 最終更新からの日数 |
50
+ | `results[].threshold` | 設定閾値 |
51
+ | `summary.error` | error 件数(exit code 1 になる) |
52
+ | `summary.warn` | warn 件数 |
53
+
54
+ **exit code**: `summary.error > 0` なら 1、それ以外 0。
55
+
56
+ ### 2. ポインタ検証 — `p2:validate-pointers`(L4-005)
57
+
58
+ ```bash
59
+ npx phasegate p2:validate-pointers [--pattern <glob>] [--include-urls] [--format text|json]
60
+ ```
61
+
62
+ | オプション | 意味 |
63
+ |-----------|------|
64
+ | `--pattern <glob>` | 対象ファイルの glob(未指定時は config の設計文書パスが対象) |
65
+ | `--include-urls` | URL ポインタ(`http(s)://`)も検証対象に含める(デフォルトは file-path のみ) |
66
+ | `--format text\|json` | 出力形式(デフォルト `text`) |
67
+
68
+ 検出対象ポインタ: Markdown `[text](path)` リンク / `@file:` `@ref:` / `filePath:` フィールドのパス参照。`http(s)://` URL は `--include-urls` 指定時のみ検証。
69
+
70
+ `ValidateDocPointersOutput` の主なフィールド:
71
+
72
+ | フィールド | 意味 |
73
+ |-----------|------|
74
+ | `results[].documentPath` | ポインタを含む文書 |
75
+ | `results[].pointerTarget` | 参照先パス |
76
+ | `results[].pointerType` | `file-path` / `url` |
77
+ | `results[].isResolvable` | 解決可能かどうか |
78
+ | `results[].errorMessage` | エラー内容(null なら正常) |
79
+ | `summary.brokenPointers` | broken 件数 |
80
+ | `summary.skippedUrlPointers` | スキップした URL 件数 |
81
+ | `passed` | 全ポインタ有効なら true |
82
+
83
+ **exit code**: `passed` なら 0、broken があれば 1。
84
+
85
+ > **注意**: このスキルの CLI には自動修正フラグ(`--fix`)は存在しない。ポインタ修正は結果を解釈したうえで手動(`Edit`)で行う。
86
+
87
+ ## ワークフロー
88
+
89
+ 軽量チェックのため単一フェーズで実行する。鮮度とポインタは独立なので、必要に応じて片方だけ/両方を走らせる。
90
+
91
+ ### Step 1: 実行
92
+
93
+ ```bash
94
+ # 両方まとめて(推奨)
95
+ npx phasegate p2:check-freshness --format json
96
+ npx phasegate p2:validate-pointers --format json
97
+ ```
98
+
99
+ 大量に broken が出そうな大規模リポジトリでは `--pattern` でスコープを絞って段階実行する。
100
+
101
+ ### Step 2: 結果の解釈とアクション
102
+
103
+ **鮮度(freshness)**:
104
+
105
+ | 状態 | 推奨アクション |
106
+ |------|--------------|
107
+ | `error`(閾値超過 / drift 疑い) | `cascade-updater` で上位設計文書を更新、コードと設計の乖離を解消 |
108
+ | `warn`(閾値近接) | 設計文書の内容を確認し、必要に応じて更新 |
109
+ | `ok` | 対応不要 |
110
+
111
+ **ポインタ(pointer)**: broken の原因別に対処する。
112
+
113
+ | broken 原因 | 推奨アクション |
114
+ |-----------|--------------|
115
+ | ファイルが移動された | ポインタのパスを新パスに更新(`Edit`) |
116
+ | ファイルが削除された | ポインタを削除 or 代替ファイルに変更 |
117
+ | タイポ | パス修正 |
118
+ | 未作成ファイルへの前方参照 | 意図的なら `[TODO]` マーカーを付ける |
119
+
120
+ 修正後は同じコマンドを再実行して 0 件(`passed: true` / `summary.error: 0`)を確認する。
121
+
122
+ ### 出力フォーマット(ユーザー報告例)
123
+
124
+ ```markdown
125
+ # Doc Health チェック結果
126
+
127
+ ## 鮮度(p2:check-freshness / L4-004)
128
+ - 総ドキュメント数: N / ok: N / warn: N / error: N
129
+ ### 要対応(error)
130
+ | ファイル | 最終更新 | 閾値超過日数 | 推奨アクション |
131
+ |---------|---------|------------|--------------|
132
+
133
+ ## ポインタ(p2:validate-pointers / L4-005)
134
+ - チェック文書数: N / broken: N / URL(スキップ): N
135
+ ### Broken Pointers(要修正)
136
+ | 文書ファイル | 参照先 | エラー | 推奨修正 |
137
+ |------------|--------|--------|---------|
138
+
139
+ ## 次のアクション
140
+ (error があれば cascade-updater、broken があれば該当ポインタの Edit を提案)
141
+ ```
142
+
143
+ ## 関連スキル
144
+
145
+ | スキル | 用途 |
146
+ |-------|------|
147
+ | `cascade-updater` | 鮮度 error が出た設計文書の連鎖更新 |
148
+ | `consistency-checker` | 文書間の内容整合性チェック(健全性修正後の確認) |
@@ -24,7 +24,7 @@ DDD戦術パターンを用いてドメインモデルを設計するスキル
24
24
 
25
25
  ## ⚠️ 上位レイヤー存在チェック
26
26
 
27
- **このスキルは AIDLC Step 4「Domainの設計」に対応します。実行前に上位設計の存在を確認してください。**
27
+ **このスキルは AIDLC Step 2.1「Domainの設計」に対応します。実行前に上位設計の存在を確認してください。**
28
28
 
29
29
  ### 依存する上位設計文書
30
30
 
@@ -77,6 +77,8 @@ DDD戦術パターンを用いてドメインモデルを設計するスキル
77
77
  ### 出力ファイル
78
78
  `docs/inception/{unit}/domain_model_plan.md`
79
79
 
80
+ > **パス注記**: 本スキルが扱う設計文書パス(`docs/inception/...` / `docs/product/construction/...`)は既定値であり、consumer が `phasegate.config.json` の `paths` 設定で上書きしている場合はそちらが優先される。
81
+
80
82
  ### 計画ファイルの構成
81
83
 
82
84
  ```markdown
@@ -145,7 +147,7 @@ DDD戦術パターンを用いてドメインモデルを設計するスキル
145
147
 
146
148
  ## 🔗 成果物のトレーサビリティメタデータ(必須)
147
149
 
148
- Phase 2 で生成する設計文書には、以下 2 種類のメタデータを emit する。`MetadataValidator.validateDesignDocument` が検証対象とし、ISSUE-008 Phase B-2/B-3 完了後は `npx phasegate validate-metadata` / pre-commit で自動チェックされる。
150
+ Phase 2 で生成する設計文書には、以下 2 種類のメタデータを emit する。これらのメタデータは `npx phasegate validate-metadata` / pre-commit で自動チェックされる。
149
151
 
150
152
  ### 1. YAML frontmatter(新規作成時)
151
153
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: engineering-perspective
3
+ kind: advisory
3
4
  description: |
4
5
  ケント・ベック + マーティン・ファウラー + アンクル・ボブ + エリック・エヴァンスの視点を統合したエンジニアリング思考フレームワーク。
5
6
  以下の場面で使用:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: environment-designer
3
- description: ローカル開発環境のプラットフォーム構成設計。コードと環境のブリッジ(AIDLC Step 2.2並行)
3
+ description: ローカル開発環境のプラットフォーム構成設計。コードと環境のブリッジ(AIDLC Step 2.3、logical-designer の後)
4
4
  model: sonnet
5
5
  review: opus
6
6
  languages: [typescript]
@@ -26,7 +26,7 @@ languages: [typescript]
26
26
 
27
27
  ## ⚠️ 上位レイヤー存在チェック
28
28
 
29
- **このスキルは AIDLC Step 2.2並行「環境設計」に対応します。実行前に上位設計の存在を確認してください。**
29
+ **このスキルは AIDLC Step 2.3「環境設計」(logical-designer の後)に対応します。実行前に上位設計の存在を確認してください。**
30
30
 
31
31
  ### 依存する上位設計文書
32
32
 
@@ -69,10 +69,10 @@ languages: [typescript]
69
69
 
70
70
  **このスキルは3フェーズで実行する。**
71
71
  - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
72
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
72
+ - **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
73
73
  - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
74
74
 
75
- **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
75
+ **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照(consumer プロジェクトでは `node_modules/phasegate/docs/principles/model-routing.md`、phasegate 自リポジトリでは `docs/principles/model-routing.md` を参照する)。**
76
76
 
77
77
  ---
78
78
 
@@ -84,6 +84,8 @@ languages: [typescript]
84
84
  ### 出力ファイル
85
85
  `docs/inception/_shared/environment_design_plan.md`
86
86
 
87
+ > **パス注記**: 本スキルが扱う設計文書パス(`docs/inception/...` / `docs/product/environment_contract.md`)は既定値であり、consumer が `phasegate.config.json` の `paths` 設定で上書きしている場合はそちらが優先される。
88
+
87
89
  ### 計画ファイルの構成
88
90
 
89
91
  ```markdown
@@ -161,11 +163,11 @@ languages: [typescript]
161
163
  ## Phase 3: レビュー(Opus review)
162
164
 
163
165
  ### 実行主体
164
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
166
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
165
167
 
166
168
  ### レビュー手順
167
169
  1. Sonnetが出力したファイルを読み込む
168
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
170
+ 2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
169
171
  3. **スキル固有レビュー観点**を検証する
170
172
  4. 判定結果を出力する
171
173
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: implementation-readiness-checker
3
+ kind: advisory
3
4
  description: 実装開始前の準備状況を自動検証 - テスト設計・カバレッジ・ロジック設計の存在チェックとギャップ分析
4
5
  model: sonnet
5
6
  review: opus
@@ -169,7 +170,7 @@ languages: [typescript]
169
170
  ## Phase 3: レビュー(Opus review)
170
171
 
171
172
  ### 実行主体
172
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
173
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
173
174
 
174
175
  ### レビュー手順
175
176
  1. Sonnetが出力したファイルを読み込む
@@ -19,9 +19,11 @@ languages: [typescript]
19
19
  ### 任意インプット(あれば参照)
20
20
  - **ドメインモデル** — `docs/product/construction/{unit}/domain_model.md`
21
21
  - **環境設計** — `docs/product/environment_contract.md`
22
- - **テスト規約** — `docs/principles/testing-rules.md`
22
+ - **テスト規約** — `docs/principles/testing-rules.md`(consumer プロジェクトでは `node_modules/phasegate/docs/principles/testing-rules.md`、phasegate リポジトリ自体では `docs/principles/testing-rules.md` を参照)
23
23
  - **既存ITテスト** — 既存パターンの参考
24
24
 
25
+ > **設計文書パスの注記:** 上記および本スキルが扱う `docs/product/construction/{unit}/...` / `docs/inception/...` パスは既定値。consumer が `phasegate.config.json` の paths 設定を上書きしている場合はそちらに従う。
26
+
25
27
  ---
26
28
 
27
29
  ## ⛔ スキップ禁止
@@ -34,7 +36,7 @@ languages: [typescript]
34
36
  - `implementation-readiness-checker` でブロックされる
35
37
 
36
38
  ### フロー上の位置
37
- `scenario-test-designer` → **it-test-designer(本スキル)** → `unit-test-designer` → `test-coverage-checker` → テストロジック設計 → `story-implementor`
39
+ `scenario-test-designer` → `uiux-designer` → `unit-test-designer` → **it-test-designer(本スキル)** → `test-coverage-checker` → テストロジック設計 → `implementation-readiness-checker` → `story-implementor`
38
40
 
39
41
  **必ず完了してから次のステップに進んでください。**
40
42
 
@@ -69,7 +71,7 @@ languages: [typescript]
69
71
 
70
72
  **このスキルは3フェーズで実行する。**
71
73
  - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
72
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
74
+ - **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
73
75
  - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
74
76
 
75
77
  **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
@@ -151,11 +153,11 @@ ITテスト設計のスコープ・テスト対象・不明点を整理し、人
151
153
  ## Phase 3: レビュー(Opus review)
152
154
 
153
155
  ### 実行主体
154
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
156
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
155
157
 
156
158
  ### レビュー手順
157
159
  1. Sonnetが出力したファイルを読み込む
158
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
160
+ 2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
159
161
  3. **スキル固有レビュー観点**を検証する
160
162
  4. 判定結果を出力する
161
163
 
@@ -193,7 +195,7 @@ ITテスト設計のスコープ・テスト対象・不明点を整理し、人
193
195
 
194
196
  ITテストケース設計完了後、以下の順序で進める(フロー図は「スキップ禁止」セクション参照):
195
197
 
196
- 1. `unit-test-designer` — ユニットテストケース設計
197
- 2. `test-coverage-checker` — カバレッジ検証(90%以上)
198
- 3. `*-test-logic-designer` — 各レベルのテストロジック設計
198
+ 1. `test-coverage-checker` — カバレッジ検証(90%以上)
199
+ 2. `*-test-logic-designer` — 各レベルのテストロジック設計
200
+ 3. `implementation-readiness-checker` — 実装準備の自動検証
199
201
  4. `story-implementor` — TDD実装(Unit → IT → E2E)
@@ -14,7 +14,7 @@ ITテストケース設計(`it_test_design.md`)を元に、Vitest実装ロ
14
14
 
15
15
  ```
16
16
  テストケース設計フェーズ
17
- unit-test-designer → it-test-designer → scenario-test-designer
17
+ scenario-test-designer → uiux-designer → unit-test-designer → it-test-designer
18
18
 
19
19
  test-coverage-checker
20
20
 
@@ -27,7 +27,7 @@ ITテストケース設計(`it_test_design.md`)を元に、Vitest実装ロ
27
27
  scenario-test-logic-designer
28
28
 
29
29
  TDD実装フェーズ
30
- story-implementor
30
+ implementation-readiness-checker → story-implementor
31
31
  ```
32
32
 
33
33
  ## 前提条件チェック
@@ -38,10 +38,12 @@ TDD実装フェーズ
38
38
 
39
39
  ### 推奨インプット(あれば参照)
40
40
  - **カバレッジレポート** — `docs/product/construction/{unit}/coverage_report.md`
41
- - **既存ITテスト** — `backend/test/integration/**/*.test.ts`(パターン参考)
42
- - **テスト規約** — `docs/principles/testing-rules.md`
41
+ - **既存ITテスト** — 対象プロジェクトの構成(package.json scripts, vitest 設定, `phasegate.config.json` の paths)からテスト配置を特定してパターン参考にする。例(モノレポ構成の場合): `backend/test/integration/**/*.test.ts`
42
+ - **テスト規約** — `docs/principles/testing-rules.md`(consumer プロジェクトでは `node_modules/phasegate/docs/principles/testing-rules.md`、phasegate リポジトリ自体では `docs/principles/testing-rules.md` を参照)
43
43
  - **ストーリー固有論理設計** — `docs/inception/{unit}/{story_id}/logical_design.md`
44
44
 
45
+ > **設計文書パスの注記:** 本スキルが扱う `docs/product/construction/{unit}/...` / `docs/inception/...` パスは既定値。consumer が `phasegate.config.json` の paths 設定を上書きしている場合はそちらに従う。
46
+
45
47
  ---
46
48
 
47
49
  ## ⚠️ 上位レイヤー存在チェック
@@ -72,7 +74,7 @@ TDD実装フェーズ
72
74
 
73
75
  **このスキルは3フェーズで実行する。**
74
76
  - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
75
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
77
+ - **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
76
78
  - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
77
79
 
78
80
  **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
@@ -105,7 +107,7 @@ TDD実装フェーズ
105
107
  | `{controller}.test.ts` | {Controller名} | X |
106
108
 
107
109
  ## 3. DB/モック戦略
108
- - テストDB: ローカルSupabase使用
110
+ - テストDB: プロジェクトが採用する DB/BaaS のテスト用インスタンス(例: ローカル Supabase
109
111
  - トランザクション制御: テスト毎にクリーンアップ
110
112
  - モック対象: 外部API(例: ○○)
111
113
 
@@ -212,11 +214,11 @@ Repositoryテストでは、`getTestClient()` でDBに直接クエリし永続
212
214
  ## Phase 3: レビュー(Opus review)
213
215
 
214
216
  ### 実行主体
215
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
217
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
216
218
 
217
219
  ### レビュー手順
218
220
  1. Sonnetが出力したファイルを読み込む
219
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
221
+ 2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
220
222
  3. **スキル固有レビュー観点**を検証する
221
223
  4. 判定結果を出力する
222
224
 
@@ -253,7 +255,7 @@ Phase 2 で設計する IT テストファイル(`*.test.ts` / `*.it.test.ts`
253
255
  - **テストコードは生成しない**(設計文書のみ)— 実装は `story-implementor` スキル(codex-delegator経由、またはメインセッションで直接実行)が行う
254
256
  - 疑似コードは実装の指針となる詳細レベルで記載する
255
257
  - TDDの「RED」フェーズで正しく失敗するテストを設計する
256
- - 既存のテストパターン(`backend/test/integration/**/*.test.ts`)を参照してスタイルを統一する
258
+ - 既存のテストパターンを参照してスタイルを統一する(テスト配置は対象プロジェクトの構成から特定する。例(モノレポ構成の場合): `backend/test/integration/**/*.test.ts`)
257
259
  - シードデータはテスト間で独立させ、相互干渉を防ぐ
258
260
 
259
261
  ---
@@ -3,10 +3,14 @@
3
3
  本ファイルは `it-test-logic-designer` スキルで使用するRepositoryレイヤーのテストテンプレート集。
4
4
  シードデータ設計・トランザクション・クリーンアップ戦略を含む。
5
5
 
6
+ > **配置パス・DB クライアント・実行コマンドについて:** 以下のテスト配置ディレクトリ(`backend/test/seeds/` 等)・テスト実行コマンドは対象プロジェクトの構成(`package.json` scripts, vitest 設定, `phasegate.config.json` の paths)から特定すること。`getTestClient` / `SupabaseClient` / `supabase-test-helper.js` はプロジェクトが採用する DB/BaaS のテスト用ヘルパーに読み替える(以下は Supabase プロジェクト向けの実装例)。テンプレート構造自体はそのまま流用してよい。
7
+
6
8
  ---
7
9
 
8
10
  ## テストヘルパーのインポート
9
11
 
12
+ 以下は例(Supabase プロジェクトの場合)。DB/BaaS ヘルパーはプロジェクトの採用技術に読み替える。
13
+
10
14
  ```typescript
11
15
  import { target, context } from '../../helpers/common-helper.js';
12
16
  import { getTestClient, cleanupTestData } from '../../helpers/supabase-test-helper.js';
@@ -15,7 +19,8 @@ import { getTestClient, cleanupTestData } from '../../helpers/supabase-test-help
15
19
  ## シードデータ設計テンプレート
16
20
 
17
21
  ```typescript
18
- // backend/test/seeds/{context}/{seed-name}.ts
22
+ // 例(モノレポ構成の場合): backend/test/seeds/{context}/{seed-name}.ts
23
+ // SupabaseClient 型はプロジェクトが採用する DB/BaaS のクライアント型に読み替える
19
24
 
20
25
  export const {SEED_NAME}_SEED = {
21
26
  // テストデータ定義
@@ -194,6 +199,8 @@ expect(row).not.toBeNull();
194
199
 
195
200
  ## テスト実行コマンド
196
201
 
202
+ 実行コマンドは対象プロジェクトの構成(`package.json` scripts, vitest 設定, `phasegate.config.json` の paths)から特定する。以下は例(pnpm モノレポ構成の場合)。
203
+
197
204
  ```bash
198
205
  # 全ITテスト実行
199
206
  pnpm --filter backend test:integration
@@ -22,7 +22,7 @@ Unit単位でアーキテクチャの各層(DB → ドメイン → ユース
22
22
  ## Pre-flight check (BLOCKING)
23
23
 
24
24
  Before generating any plan, verify `docs/inception/{unit}/WI-XXX/description.md` exists.
25
- If not, halt and ask the user to create the WI first, or offer to run `phasegate scaffold-wi <unit> <story|issue|chore>`.
25
+ If not, halt and ask the user to create the WI first, or offer to run `phasegate scaffold-wi <unit|_cross> <story|issue|fix|refactor|chore>`.
26
26
 
27
27
  ### 必須インプット(存在しなければ`[Question]`で提供を要求)
28
28
 
@@ -44,7 +44,7 @@ If not, halt and ask the user to create the WI first, or offer to run `phasegate
44
44
 
45
45
  ## ⚠️ 上位レイヤー存在チェック
46
46
 
47
- **このスキルは AIDLC Step 5「論理設計」に対応します。実行前に上位設計の存在を確認してください。**
47
+ **このスキルは AIDLC Step 2.2「論理設計」に対応します。実行前に上位設計の存在を確認してください。**
48
48
 
49
49
  ### 依存する上位設計文書
50
50
 
@@ -103,6 +103,8 @@ If not, halt and ask the user to create the WI first, or offer to run `phasegate
103
103
  ### 出力ファイル
104
104
  `docs/inception/{unit}/WI-XXX/logical_design_plan.md`
105
105
 
106
+ > **パス注記**: 本スキルが扱う設計文書パス(`docs/inception/...` / `docs/product/construction/...`)は既定値であり、consumer が `phasegate.config.json` の `paths` 設定で上書きしている場合はそちらが優先される。
107
+
106
108
  ### 計画ファイルの構成
107
109
 
108
110
  ```markdown
@@ -187,7 +189,7 @@ If not, halt and ask the user to create the WI first, or offer to run `phasegate
187
189
 
188
190
  ## 🔗 成果物のトレーサビリティメタデータ(必須)
189
191
 
190
- Phase 2 で生成する設計文書には、以下 2 種類のメタデータを emit する。`MetadataValidator.validateDesignDocument` が検証対象とし、ISSUE-008 Phase B-2/B-3 完了後は `npx phasegate validate-metadata` / pre-commit で自動チェックされる。
192
+ Phase 2 で生成する設計文書には、以下 2 種類のメタデータを emit する。これらのメタデータは `npx phasegate validate-metadata` / pre-commit で自動チェックされる。
191
193
 
192
194
  ### 1. YAML frontmatter(新規作成時)
193
195
 
@@ -10,6 +10,8 @@ languages: [typescript]
10
10
 
11
11
  ユーザーストーリーからUIモックアップを作成するスキル。AIDLCプロセスのStep 2「mock(モック)を作る」に対応。
12
12
 
13
+ このスキルは UI モックアップ(HTML)作成であり、テストコードのモック/スタブ設計ではない(それらは各 test-logic-designer のモック戦略節を参照)。
14
+
13
15
  ## 前提条件チェック
14
16
 
15
17
  ### 必須インプット(存在しなければ`[Question]`で提供を要求)
@@ -17,9 +19,11 @@ languages: [typescript]
17
19
 
18
20
  ### 任意インプット(あれば参照)
19
21
  - **プロダクト概要** — `docs/product/product_overview.md`(全体像・ユビキタス言語)
20
- - **既存モック** — `/mock` フォルダ内の既存HTMLファイル
22
+ - **既存モック** — `mock/` フォルダ内の既存HTMLファイル
21
23
  - **デザインシステム** — 色・フォント・コンポーネントの規約
22
24
 
25
+ > **設計文書パスの注記:** 上記および本スキルが扱う `docs/product/...` / `docs/inception/...` パスは既定値。consumer が `phasegate.config.json` の paths 設定を上書きしている場合はそちらに従う。
26
+
23
27
  ---
24
28
 
25
29
  ## ⚠️ 上位レイヤー存在チェック
@@ -65,10 +69,10 @@ languages: [typescript]
65
69
 
66
70
  **このスキルは3フェーズで実行する。**
67
71
  - **Phase 1(計画)**: Opus がスコープ・方針・不明点を整理し、人間の承認を得る
68
- - **Phase 2(実行)**: Sonnet 4.6 に委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
72
+ - **Phase 2(実行)**: 委任先モデルに委任して成果物を生成する(`npx phasegate delegate-sonnet` 経由)
69
73
  - **Phase 3(レビュー)**: Opus が成果物を検証し、問題があれば直接修正する
70
74
 
71
- **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md` を参照。**
75
+ **Phase 1/2/3を同時に実行してはならない。モデルルーティングの詳細は `docs/principles/model-routing.md`(consumer プロジェクトでは `node_modules/phasegate/docs/principles/model-routing.md`、phasegate リポジトリ自体では `docs/principles/model-routing.md`)を参照。**
72
76
 
73
77
  ---
74
78
 
@@ -153,7 +157,7 @@ graph LR
153
157
 
154
158
  | 種別 | 配置先 |
155
159
  |------|--------|
156
- | 成果物 | `/mock/{画面名}.html` |
160
+ | 成果物 | `mock/{画面名}.html`(プロジェクトルート相対) |
157
161
 
158
162
  ---
159
163
 
@@ -162,11 +166,11 @@ graph LR
162
166
  ## Phase 3: レビュー(Opus review)
163
167
 
164
168
  ### 実行主体
165
- メインセッション(Opus 4.6)が実行する。Sonnetへの再委任は行わない。
169
+ メインセッション(model-routing.md の Architect ロール)が実行する。Sonnetへの再委任は行わない。
166
170
 
167
171
  ### レビュー手順
168
172
  1. Sonnetが出力したファイルを読み込む
169
- 2. `docs/principles/model-routing.md` のレビュー観点 R1〜R7 に沿って検証する
173
+ 2. `docs/principles/model-routing.md` の「レビュー観点」節に沿って検証する
170
174
  3. **スキル固有レビュー観点**を検証する
171
175
  4. 判定結果を出力する
172
176
 
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: phasegate-config-doctor
3
+ kind: advisory
3
4
  description: 現在の phasegate.config.json を schema + プロジェクト検出結果と突き合わせて改善提案する診断スキル。read-only Q&A の phasegate-toolkit-guide とは異なり、設定変更を伴う相談に応える。使用タイミング:「phasegate のセットアップを最適化して」「architecture preset 入ってないけど何が適切?」「Quick Mode の relaxedGates に推奨設定教えて」「baseline 有効化しても大丈夫?」「monorepo に対して targetDirs / formatter が正しく検出されてる?」「v2 schema warning が出る、何を直せばいい?」など、現状 config の診断と改善 diff 提案を求める質問。
4
5
  languages: [typescript]
5
6
  ---
@@ -93,7 +94,7 @@ product-architect で Unit を作り、いくつかの logical_design を書い
93
94
  - DDD タクティカル (`entities/aggregates/repositories`) あり → `strict-ddd` 推奨
94
95
  - `core/`, `adapters/`, `ports/` パターン → `hexagonal` 推奨
95
96
  - 上記いずれも無し → ユーザーに確認 + `custom` 提案
96
- - 検出根拠を必ず提示 (例:「`scripts/harness/{domain,application,infrastructure,presentation}` を検出 → `clean` 推奨」)
97
+ - 検出根拠を必ず提示 (例:「`src/{domain,application,infrastructure,presentation}` を検出 → `clean` 推奨」。phasegate 自リポジトリ(dogfood)では `scripts/harness/{domain,application,infrastructure,presentation}`)
97
98
  - `architecture.preset = "custom"` だが `architecture.layers` 未定義 → WARN: schema validator で reject される
98
99
 
99
100
  #### 観点 2: project.preset (防御プリセット)
@@ -180,7 +181,7 @@ product-architect で Unit を作り、いくつかの logical_design を書い
180
181
  ### 💡 改善提案 (SUGGEST)
181
182
 
182
183
  #### S1: `architecture.preset` 未指定 → "clean" を推奨
183
- - 検出根拠: `scripts/harness/{domain,application,infrastructure,presentation}` の 4 ディレクトリが存在
184
+ - 検出根拠: `src/{domain,application,infrastructure,presentation}` の 4 ディレクトリが存在(phasegate 自リポジトリ(dogfood)では `scripts/harness/{domain,application,infrastructure,presentation}`)
184
185
  - 修正案:
185
186
  ```json-diff
186
187
  {
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: phasegate-toolkit-guide
3
+ kind: advisory
3
4
  description: phasegate ツールキット自体に関する Q&A スキル。ユーザーが phasegate の概念 (L0-L4 レイヤーモデル / 防御プリセット / アーキプリセット / Quick Mode と Full Mode / Hook 仕様 / config 全般) について質問したとき、対応する canonical doc を読み込んでから回答する。使用タイミング:「phasegate の L1 と L2 の違いは?」「Quick Mode で許可されるカテゴリを増やしたい」「architecture.preset の使い分けは?」「phasegate の hook って何が動いている?」「phasegate.config.json の relaxedGates は何のため?」など phasegate ツールキット内部の仕様・設定を尋ねる質問。
4
5
  languages: [typescript]
5
6
  ---
@@ -94,7 +94,7 @@ Quick Mode下での軽微変更実装スキル。story-implementorの緩和版
94
94
  ### Step 4: 検証
95
95
 
96
96
  ```bash
97
- pnpm test # 全テスト グリーンを確認
97
+ npm test # 全テスト グリーンを確認(プロジェクトのテストコマンド。pnpm/yarn 等は適宜読み替える)
98
98
  ```
99
99
 
100
100
  ### 出力(Step 5: コミット)