create-ai-project 1.17.0 → 1.17.1

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 (48) hide show
  1. package/.claude/agents-en/code-verifier.md +5 -5
  2. package/.claude/agents-en/investigator.md +4 -4
  3. package/.claude/agents-en/requirement-analyzer.md +1 -0
  4. package/.claude/agents-en/skill-creator.md +5 -5
  5. package/.claude/agents-en/skill-reviewer.md +5 -5
  6. package/.claude/agents-en/solver.md +3 -2
  7. package/.claude/agents-en/verifier.md +3 -3
  8. package/.claude/agents-ja/code-verifier.md +5 -5
  9. package/.claude/agents-ja/investigator.md +4 -4
  10. package/.claude/agents-ja/requirement-analyzer.md +1 -0
  11. package/.claude/agents-ja/skill-creator.md +5 -5
  12. package/.claude/agents-ja/skill-reviewer.md +5 -5
  13. package/.claude/agents-ja/solver.md +3 -2
  14. package/.claude/agents-ja/verifier.md +3 -3
  15. package/.claude/commands-en/add-integration-tests.md +5 -5
  16. package/.claude/commands-en/build.md +2 -2
  17. package/.claude/commands-en/create-skill.md +2 -2
  18. package/.claude/commands-en/design.md +1 -1
  19. package/.claude/commands-en/diagnose.md +4 -4
  20. package/.claude/commands-en/front-build.md +3 -3
  21. package/.claude/commands-en/front-design.md +3 -3
  22. package/.claude/commands-en/front-plan.md +2 -2
  23. package/.claude/commands-en/implement.md +1 -1
  24. package/.claude/commands-en/plan.md +1 -1
  25. package/.claude/commands-en/refine-skill.md +1 -1
  26. package/.claude/commands-en/reverse-engineer.md +3 -3
  27. package/.claude/commands-en/update-doc.md +1 -1
  28. package/.claude/commands-ja/add-integration-tests.md +5 -5
  29. package/.claude/commands-ja/build.md +2 -2
  30. package/.claude/commands-ja/create-skill.md +2 -2
  31. package/.claude/commands-ja/design.md +1 -1
  32. package/.claude/commands-ja/diagnose.md +4 -4
  33. package/.claude/commands-ja/front-build.md +3 -3
  34. package/.claude/commands-ja/front-design.md +3 -3
  35. package/.claude/commands-ja/front-plan.md +2 -2
  36. package/.claude/commands-ja/implement.md +1 -1
  37. package/.claude/commands-ja/plan.md +1 -1
  38. package/.claude/commands-ja/refine-skill.md +1 -1
  39. package/.claude/commands-ja/reverse-engineer.md +3 -3
  40. package/.claude/commands-ja/update-doc.md +1 -1
  41. package/.claude/skills-en/documentation-criteria/SKILL.md +1 -1
  42. package/.claude/skills-en/frontend-typescript-testing/SKILL.md +30 -8
  43. package/.claude/skills-en/skill-optimization/SKILL.md +1 -1
  44. package/.claude/skills-ja/documentation-criteria/SKILL.md +1 -1
  45. package/.claude/skills-ja/frontend-typescript-testing/SKILL.md +21 -17
  46. package/.claude/skills-ja/skill-optimization/SKILL.md +1 -1
  47. package/CHANGELOG.md +18 -0
  48. package/package.json +1 -1
@@ -186,9 +186,9 @@ consistencyScore = (matchCount / verifiableClaimCount) * 100
186
186
  - [ ] Calculated consistency score
187
187
  - [ ] Output in specified format
188
188
 
189
- ## Prohibited Actions
189
+ ## Output Self-Check
190
190
 
191
- - Modifying documents or code (verification only)
192
- - Proposing solutions (out of scope)
193
- - Ignoring contradicting evidence
194
- - Single-source classification without noting low confidence
191
+ - [ ] All findings are based on verification evidence (no modifications proposed)
192
+ - [ ] Each classification cites multiple sources (not single-source)
193
+ - [ ] Low-confidence classifications are explicitly noted
194
+ - [ ] Contradicting evidence is documented, not ignored
@@ -155,8 +155,8 @@ Information source priority:
155
155
  - [ ] Determined impactScope and recurrenceRisk
156
156
  - [ ] Documented unexplored areas and investigation limitations
157
157
 
158
- ## Prohibited Actions
158
+ ## Output Self-Check
159
159
 
160
- - Proceeding with investigation assuming a specific hypothesis is "correct"
161
- - Focusing only on technical hypotheses while ignoring the user's causal relationship hints
162
- - Maintaining hypothesis despite discovering contradicting evidence
160
+ - [ ] Multiple hypotheses were evaluated (not just the first plausible one)
161
+ - [ ] User's causal relationship hints are reflected in the hypothesis set
162
+ - [ ] All contradicting evidence is addressed with adjusted confidence levels
@@ -111,6 +111,7 @@ Please provide the following information in natural language:
111
111
  "scale": "small|medium|large",
112
112
  "confidence": "confirmed|provisional",
113
113
  "affectedFiles": ["path/to/file1.ts", "path/to/file2.ts"],
114
+ "affectedLayers": ["backend", "frontend"],
114
115
  "fileCount": 3,
115
116
  "adrRequired": true,
116
117
  "adrReason": "specific condition met, or null if not required",
@@ -124,9 +124,9 @@ Return results as structured JSON:
124
124
  - [ ] All domain terms defined or linked to prerequisites
125
125
  - [ ] Line count within size target
126
126
 
127
- ## Prohibited Actions
127
+ ## Output Self-Check
128
128
 
129
- - Inventing domain knowledge not present in raw input
130
- - Removing user-provided examples without replacement
131
- - Creating skills that overlap with existing skill responsibilities
132
- - Writing files directly (return JSON; the calling command handles file I/O)
129
+ - [ ] All domain knowledge originates from raw input (nothing invented)
130
+ - [ ] User-provided examples are preserved or replaced with equivalent alternatives
131
+ - [ ] Skill scope does not overlap with existing skill responsibilities
132
+ - [ ] Output is JSON only (no direct file writing; calling command handles I/O)
@@ -115,9 +115,9 @@ Return results as structured JSON:
115
115
  | B | 0 P1, ≤2 P2 issues, 6+ principles pass | Acceptable with noted improvements |
116
116
  | C | Any P1 OR >2 P2 OR <6 principles pass | Revision required before use |
117
117
 
118
- ## Prohibited Actions
118
+ ## Output Self-Check
119
119
 
120
- - Modifying skill content directly (return report only; caller handles edits)
121
- - Inventing issues not supported by BP patterns or 9 principles
122
- - Skipping P1 issues regardless of review mode
123
- - Providing grade A when any P1 issue exists
120
+ - [ ] Output is report only (no direct skill content modifications)
121
+ - [ ] Every reported issue is supported by BP patterns or 9 principles
122
+ - [ ] All P1 issues are included regardless of review mode
123
+ - [ ] Grade A is not assigned when any P1 issue exists
@@ -168,6 +168,7 @@ Recommendation strategy based on confidence:
168
168
  - [ ] Verified solutions align with project rules or best practices
169
169
  - [ ] Verified input consistency with user report
170
170
 
171
- ## Prohibited Actions
171
+ ## Output Self-Check
172
172
 
173
- - Trusting input conclusions without verifying consistency with user report
173
+ - [ ] Solution addresses the user's reported symptoms (not just the technical conclusion)
174
+ - [ ] Input conclusion consistency with user report was verified before solution derivation
@@ -187,7 +187,7 @@ Classify each hypothesis by the following levels:
187
187
  - [ ] Determined verification level for each hypothesis
188
188
  - [ ] Adopted unrefuted hypotheses as causes and determined relationship when multiple
189
189
 
190
- ## Prohibited Actions
190
+ ## Output Self-Check
191
191
 
192
- - Maintaining conclusion without lowering confidence despite discovering official documentation-based counter-evidence
193
- - Focusing only on technical analysis while ignoring the user's causal relationship hints
192
+ - [ ] Confidence levels reflect all discovered evidence, including official documentation
193
+ - [ ] User's causal relationship hints are incorporated into the verification
@@ -186,9 +186,9 @@ consistencyScore = (matchCount / verifiableClaimCount) * 100
186
186
  - [ ] 整合性スコアを計算
187
187
  - [ ] 指定フォーマットで出力
188
188
 
189
- ## 禁止事項
189
+ ## 出力セルフチェック
190
190
 
191
- - ドキュメントやコードの修正(検証のみ)
192
- - 解決策の提案(スコープ外)
193
- - 矛盾するevidenceの無視
194
- - 低信頼度を注記せずに単一ソース分類
191
+ - [ ] 全ての所見が検証証拠に基づいている(修正提案をしていない)
192
+ - [ ] 各分類が複数ソースを引用している(単一ソースでない)
193
+ - [ ] 低信頼度の分類が明示的に注記されている
194
+ - [ ] 矛盾する証拠が無視されず文書化されている
@@ -155,8 +155,8 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
155
155
  - [ ] impactScope、recurrenceRiskを判定した
156
156
  - [ ] 未探索領域と調査の限界を記載した
157
157
 
158
- ## 禁止事項
158
+ ## 出力セルフチェック
159
159
 
160
- - 特定の仮説を「正しい」と前提して調査を進めること
161
- - ユーザーの因果関係ヒントを無視して技術的仮説のみに集中すること
162
- - 反証を発見しても無視して仮説を維持すること
160
+ - [ ] 最初の有力仮説だけでなく複数の仮説を評価した
161
+ - [ ] ユーザーの因果関係ヒントが仮説セットに反映されている
162
+ - [ ] すべての反証に対して信頼度レベルを調整した
@@ -105,6 +105,7 @@ ADR作成条件の詳細はdocumentation-criteriaスキルに準拠。
105
105
  "scale": "small|medium|large",
106
106
  "confidence": "confirmed|provisional",
107
107
  "affectedFiles": ["path/to/file1.ts", "path/to/file2.ts"],
108
+ "affectedLayers": ["backend", "frontend"],
108
109
  "fileCount": 3,
109
110
  "adrRequired": true,
110
111
  "adrReason": "該当する条件、または不要な場合はnull",
@@ -124,9 +124,9 @@ description: {生成したdescription}
124
124
  - [ ] 全てのドメイン用語が定義済みまたは前提条件にリンク
125
125
  - [ ] 行数がサイズ目標内
126
126
 
127
- ## 禁止事項
127
+ ## 出力セルフチェック
128
128
 
129
- - 入力に含まれないドメイン知識の創作
130
- - ユーザー提供の具体例を代替なしに削除
131
- - 既存スキルの責務と重複するスキルの生成
132
- - ファイルの直接書き込み(JSONを返却し、ファイルI/Oは呼び出し元が担当)
129
+ - [ ] 全てのドメイン知識が入力に由来している(創作していない)
130
+ - [ ] ユーザー提供の具体例が保持または同等の代替で置換されている
131
+ - [ ] スキルスコープが既存スキルの責務と重複していない
132
+ - [ ] 出力はJSONのみでファイルを直接書き込んでいない(I/Oは呼び出し元が担当)
@@ -115,9 +115,9 @@ skill-optimizationの9つの編集原則に対して評価:
115
115
  | B | P1問題0件、P2問題2件以下、原則6つ以上合格 | 改善点を認識した上で使用可 |
116
116
  | C | P1問題あり、またはP2問題3件以上、または原則合格6未満 | 修正が必要 |
117
117
 
118
- ## 禁止事項
118
+ ## 出力セルフチェック
119
119
 
120
- - スキルコンテンツの直接変更(レポートのみ返却し、編集は呼び出し元が担当)
121
- - BPパターンと9原則に基づかない問題の捏造
122
- - レビューモードに関わらずP1問題の検出を省略
123
- - P1問題が存在する状態でグレードAの判定
120
+ - [ ] 出力はレポートのみでスキルコンテンツを直接変更していない
121
+ - [ ] 全ての報告問題がBPパターンまたは9原則に基づいている
122
+ - [ ] レビューモードに関わらず全P1問題が含まれている
123
+ - [ ] P1問題が存在する場合にグレードAを付与していない
@@ -168,6 +168,7 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
168
168
  - [ ] 解決策がプロジェクトルールまたはベストプラクティスに沿っているか検証した
169
169
  - [ ] 入力がユーザー報告と整合しているか確認した
170
170
 
171
- ## 禁止事項
171
+ ## 出力セルフチェック
172
172
 
173
- - 入力された結論をユーザー報告との整合性確認なしに信頼すること
173
+ - [ ] 技術的結論だけでなくユーザー報告の症状にソリューションが対応している
174
+ - [ ] ソリューション導出前に入力結論とユーザー報告の整合性を確認した
@@ -187,7 +187,7 @@ CLAUDE.mdの原則を適用しない独立したコンテキストを持ち、
187
187
  - [ ] 各仮説の検証レベルを判定した
188
188
  - [ ] 反証されなかった仮説を原因として採用し、複数の場合は関係性を判定した
189
189
 
190
- ## 禁止事項
190
+ ## 出力セルフチェック
191
191
 
192
- - 公式ドキュメントに基づく反証を発見しても信頼度を下げずに結論を維持すること
193
- - ユーザーの因果関係ヒントを無視して技術的分析のみに集中すること
192
+ - [ ] 公式ドキュメントを含む全ての発見証拠が信頼度に反映されている
193
+ - [ ] ユーザーの因果関係ヒントが検証に組み込まれている
@@ -42,7 +42,7 @@ ls $ARGUMENTS || ls docs/design/*.md | grep -v template | tail -1
42
42
 
43
43
  ### Step 2: Skeleton Generation
44
44
 
45
- Invoke acceptance-test-generator using Task tool:
45
+ Invoke acceptance-test-generator using Agent tool:
46
46
  - `subagent_type`: "acceptance-test-generator"
47
47
  - `description`: "Generate test skeletons"
48
48
  - `prompt`: "Generate test skeletons from Design Doc at [path from Step 1]"
@@ -86,7 +86,7 @@ Implement test cases defined in skeleton files.
86
86
 
87
87
  ### Step 4: Test Implementation
88
88
 
89
- Invoke task-executor using Task tool:
89
+ Invoke task-executor using Agent tool:
90
90
  - `subagent_type`: "task-executor"
91
91
  - `description`: "Implement integration tests"
92
92
  - `prompt`: "Task file: docs/plans/tasks/integration-tests-YYYYMMDD.md. Implement tests following the task file."
@@ -95,7 +95,7 @@ Invoke task-executor using Task tool:
95
95
 
96
96
  ### Step 5: Test Review
97
97
 
98
- Invoke integration-test-reviewer using Task tool:
98
+ Invoke integration-test-reviewer using Agent tool:
99
99
  - `subagent_type`: "integration-test-reviewer"
100
100
  - `description`: "Review test quality"
101
101
  - `prompt`: "Review test quality. Test files: [paths from Step 4 testsAdded]. Skeleton files: [paths from Step 2 generatedFiles]"
@@ -108,14 +108,14 @@ Check Step 5 result:
108
108
  - `status: approved` → Mark complete, proceed to Step 7
109
109
  - `status: needs_revision` → Invoke task-executor with requiredFixes, then return to Step 5
110
110
 
111
- Invoke task-executor using Task tool:
111
+ Invoke task-executor using Agent tool:
112
112
  - `subagent_type`: "task-executor"
113
113
  - `description`: "Fix review findings"
114
114
  - `prompt`: "Fix the following issues in test files: [requiredFixes from Step 5]"
115
115
 
116
116
  ### Step 7: Quality Check
117
117
 
118
- Invoke quality-fixer using Task tool:
118
+ Invoke quality-fixer using Agent tool:
119
119
  - `subagent_type`: "quality-fixer"
120
120
  - `description`: "Final quality assurance"
121
121
  - `prompt`: "Final quality assurance for test files added in this workflow. Run all tests and verify coverage."
@@ -7,7 +7,7 @@ description: Execute decomposed tasks in autonomous execution mode
7
7
  **Core Identity**: "I am not a worker. I am an orchestrator." (see subagents-orchestration-guide skill)
8
8
 
9
9
  **Execution Protocol**:
10
- 1. **Delegate all work** to sub-agentsyour role is to invoke sub-agents, pass data between them, and report results
10
+ 1. **Delegate all work through Agent tool** — invoke sub-agents, pass data between them, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools")
11
11
  2. **Follow the 4-step task cycle exactly**: task-executor → escalation check → quality-fixer → commit
12
12
  3. **Enter autonomous mode** when user provides execution instruction with existing task files — this IS the batch approval
13
13
  4. **Scope**: Complete when all tasks are committed or escalation occurs
@@ -50,7 +50,7 @@ Generate tasks from the work plan? (y/n):
50
50
  ```
51
51
 
52
52
  ### 2. Task Decomposition (if approved)
53
- Invoke task-decomposer using Task tool:
53
+ Invoke task-decomposer using Agent tool:
54
54
  - `subagent_type`: "task-decomposer"
55
55
  - `description`: "Decompose work plan"
56
56
  - `prompt`: "Read work plan at docs/plans/[plan-name].md and decompose into atomic tasks. Output: Individual task files in docs/plans/tasks/. Granularity: 1 task = 1 commit = independently executable"
@@ -42,7 +42,7 @@ Use AskUserQuestion to collect information in 3 rounds.
42
42
 
43
43
  ### Step 4: Generate Skill Content
44
44
 
45
- Invoke skill-creator agent via Task tool with collected information:
45
+ Invoke skill-creator agent via Agent tool with collected information:
46
46
  - Raw knowledge from Round 3
47
47
  - Skill name from Step 3
48
48
  - Trigger scenarios from Round 2
@@ -51,7 +51,7 @@ Invoke skill-creator agent via Task tool with collected information:
51
51
 
52
52
  ### Step 5: Review Generated Content
53
53
 
54
- Invoke skill-reviewer agent via Task tool:
54
+ Invoke skill-reviewer agent via Agent tool:
55
55
  - Pass skill-creator's generated content
56
56
  - Review mode: `creation`
57
57
 
@@ -9,7 +9,7 @@ description: Execute from requirement analysis to design document creation
9
9
  **Core Identity**: "I am not a worker. I am an orchestrator." (see subagents-orchestration-guide skill)
10
10
 
11
11
  **Execution Protocol**:
12
- 1. **Delegate all work** to sub-agentsyour role is to invoke sub-agents, pass data between them, and report results
12
+ 1. **Delegate all work through Agent tool** — invoke sub-agents, pass data between them, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools")
13
13
  2. **Follow subagents-orchestration-guide skill design flow exactly**:
14
14
  - Execute: requirement-analyzer → technical-designer → document-reviewer → design-sync
15
15
  - **Stop at every `[Stop: ...]` marker** → Wait for user approval before proceeding
@@ -37,7 +37,7 @@ If the following are unclear, **ask with AskUserQuestion** before proceeding:
37
37
 
38
38
  ### 0.3 Problem Essence Understanding
39
39
 
40
- Invoke rule-advisor using Task tool:
40
+ Invoke rule-advisor using Agent tool:
41
41
  - `subagent_type`: "rule-advisor"
42
42
  - `description`: "Identify problem essence"
43
43
  - `prompt`: "Identify the essence and required skills for this problem: [Problem reported by user]"
@@ -78,7 +78,7 @@ Register the following with TaskCreate and execute:
78
78
 
79
79
  ### Step 1: Investigation (investigator)
80
80
 
81
- Invoke investigator using Task tool:
81
+ Invoke investigator using Agent tool:
82
82
  - `subagent_type`: "investigator"
83
83
  - `description`: "Collect problem information"
84
84
  - `prompt`: "Comprehensively collect information related to the following phenomenon. Phenomenon: [Problem reported by user]"
@@ -111,7 +111,7 @@ Proceed to verifier once quality is satisfied.
111
111
 
112
112
  ### Step 3: Verification (verifier)
113
113
 
114
- Invoke verifier using Task tool:
114
+ Invoke verifier using Agent tool:
115
115
  - `subagent_type`: "verifier"
116
116
  - `description`: "Verify investigation results"
117
117
  - `prompt`: "Verify the following investigation results. Investigation results: [Investigation JSON output]"
@@ -125,7 +125,7 @@ Invoke verifier using Task tool:
125
125
 
126
126
  ### Step 4: Solution Derivation (solver)
127
127
 
128
- Invoke solver using Task tool:
128
+ Invoke solver using Agent tool:
129
129
  - `subagent_type`: "solver"
130
130
  - `description`: "Derive solutions"
131
131
  - `prompt`: "Derive solutions based on the following verified conclusion. Causes: [verifier's conclusion.causes]. Causes relationship: [causesRelationship: independent/dependent/exclusive]. Confidence: [high/medium/low]"
@@ -15,7 +15,7 @@ description: Execute frontend implementation in autonomous execution mode
15
15
  Orchestrator invokes sub-agents and passes structured JSON between them.
16
16
 
17
17
  **Execution Protocol**:
18
- 1. **Delegate all work** to sub-agentsyour role is to invoke sub-agents, pass data between them, and report results
18
+ 1. **Delegate all work through Agent tool** — invoke sub-agents, pass data between them, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools")
19
19
  2. **Follow the 4-step task cycle exactly**: task-executor-frontend → escalation check → quality-fixer-frontend → commit
20
20
  3. **Enter autonomous mode** when user provides execution instruction with existing task files — this IS the batch approval
21
21
 
@@ -57,7 +57,7 @@ Generate tasks from the work plan? (y/n):
57
57
  ```
58
58
 
59
59
  ### 2. Task Decomposition (if approved)
60
- Invoke task-decomposer using Task tool:
60
+ Invoke task-decomposer using Agent tool:
61
61
  - `subagent_type`: "task-decomposer"
62
62
  - `description`: "Decompose work plan"
63
63
  - `prompt`: "Read work plan at docs/plans/[plan-name].md and decompose into atomic tasks. Output: Individual task files in docs/plans/tasks/. Granularity: 1 task = 1 commit = independently executable"
@@ -83,7 +83,7 @@ Invoke task-decomposer using Task tool:
83
83
  **MANDATORY EXECUTION CYCLE**: `task-executor-frontend → escalation check → quality-fixer-frontend → commit`
84
84
 
85
85
  ### Sub-agent Invocation Method
86
- Use Task tool to invoke sub-agents:
86
+ Use Agent tool to invoke sub-agents:
87
87
  - `subagent_type`: Agent name
88
88
  - `description`: Brief task description (3-5 words)
89
89
  - `prompt`: Specific instructions
@@ -38,7 +38,7 @@ Considering the deep impact on design, first engage in dialogue to understand th
38
38
  - Relationship with existing systems
39
39
 
40
40
  Once requirements are moderately clarified:
41
- - Invoke **requirement-analyzer** using Task tool
41
+ - Invoke **requirement-analyzer** using Agent tool
42
42
  - `subagent_type: "requirement-analyzer"`
43
43
  - `description: "Requirement analysis"`
44
44
  - `prompt: "Requirements: [user requirements] Execute requirement analysis and scale determination"`
@@ -52,7 +52,7 @@ After requirement analysis approval, ask the user about prototype code:
52
52
  - **[STOP]**: Wait for user response about prototype code availability
53
53
 
54
54
  Then create the UI Specification:
55
- - Invoke **ui-spec-designer** using Task tool
55
+ - Invoke **ui-spec-designer** using Agent tool
56
56
  - `subagent_type: "ui-spec-designer"`
57
57
  - `description: "UI Spec creation"`
58
58
  - If PRD exists and prototype provided: `prompt: "Create UI Spec from PRD at [path]. Prototype code is at [user-provided path]. Place prototype in docs/ui-spec/assets/{feature-name}/"`
@@ -64,7 +64,7 @@ Then create the UI Specification:
64
64
 
65
65
  ### Step 3: Design Document Creation Phase
66
66
  Create appropriate design documents according to scale determination:
67
- - Invoke **technical-designer-frontend** using Task tool
67
+ - Invoke **technical-designer-frontend** using Agent tool
68
68
  - For ADR: `subagent_type: "technical-designer-frontend"`, `description: "ADR creation"`, `prompt: "Create ADR for [technical decision]"`
69
69
  - For Design Doc: `subagent_type: "technical-designer-frontend"`, `description: "Design Doc creation"`, `prompt: "Create Design Doc based on requirements. UI Spec is at [ui-spec path]. Inherit component structure and state design from UI Spec."`
70
70
  - Invoke **document-reviewer** to verify consistency
@@ -34,14 +34,14 @@ Create frontend work plan with the following process:
34
34
  - Present options if multiple exist (can be specified with $ARGUMENTS)
35
35
 
36
36
  ### Step 2: Test Skeleton Generation
37
- Invoke acceptance-test-generator using Task tool:
37
+ Invoke acceptance-test-generator using Agent tool:
38
38
  - `subagent_type`: "acceptance-test-generator"
39
39
  - `description`: "Test skeleton generation"
40
40
  - If UI Spec exists: `prompt: "Generate test skeletons from Design Doc at [path]. UI Spec at [ui-spec path]."`
41
41
  - If no UI Spec: `prompt: "Generate test skeletons from Design Doc at [path]."`
42
42
 
43
43
  ### Step 3: Work Plan Creation
44
- Invoke work-planner using Task tool:
44
+ Invoke work-planner using Agent tool:
45
45
  - `subagent_type`: "work-planner"
46
46
  - `description`: "Work plan creation"
47
47
  - `prompt`: "Create work plan from Design Doc at [path]. Integration test file: [path from step 2]. E2E test file: [path from step 2]. Integration tests are created simultaneously with each phase implementation, E2E tests are executed only in final phase."
@@ -4,7 +4,7 @@ description: Orchestrate the complete implementation lifecycle from requirements
4
4
 
5
5
  **Command Context**: Full-cycle implementation management (Requirements Analysis → Design → Planning → Implementation → Quality Assurance)
6
6
 
7
- Strictly adhere to subagents-orchestration-guide skill and operate as an orchestrator — your role is to invoke sub-agents, pass data between them, and report results.
7
+ Strictly adhere to subagents-orchestration-guide skill and operate as an orchestrator — delegate all work through Agent tool, pass data between sub-agents, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools").
8
8
 
9
9
  ## Execution Decision Flow
10
10
 
@@ -9,7 +9,7 @@ description: Create work plan from design document and obtain plan approval
9
9
  **Core Identity**: "I am not a worker. I am an orchestrator." (see subagents-orchestration-guide skill)
10
10
 
11
11
  **Execution Protocol**:
12
- 1. **Delegate all work** to sub-agentsyour role is to invoke sub-agents, pass data between them, and report results
12
+ 1. **Delegate all work through Agent tool** — invoke sub-agents, pass data between them, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools")
13
13
  2. **Follow subagents-orchestration-guide skill planning flow exactly**:
14
14
  - Execute steps defined below
15
15
  - **Stop and obtain approval** for plan content before completion
@@ -46,7 +46,7 @@ Proceed with this design? (y/n)
46
46
 
47
47
  ### Step 3: Quality Review
48
48
 
49
- Invoke skill-reviewer agent via Task tool:
49
+ Invoke skill-reviewer agent via Agent tool:
50
50
  - Pass the modified SKILL.md content
51
51
  - Review mode: `modification`
52
52
 
@@ -11,9 +11,9 @@ Target: $ARGUMENTS
11
11
  **Core Identity**: "I am not a worker. I am an orchestrator." (see subagents-orchestration-guide skill)
12
12
 
13
13
  **Execution Protocol**:
14
- 1. **Delegate all work** to sub-agentsyour role is to invoke sub-agents, pass data between them, and report results
15
- 2. **Pass structured JSON** between steps using `$STEP_N_OUTPUT` placeholder notation
16
- 3. **Never investigate code yourself** — all code reading is done by sub-agents
14
+ 1. **Delegate all work through Agent tool** — invoke sub-agents, pass deliverable paths between them, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools")
15
+ 2. **Process one step at a time**: Execute steps sequentially within each unit (2 → 3 → 4 → 5). Each step's output is the required input for the next step. Complete all steps for one unit before starting the next
16
+ 3. **Pass `$STEP_N_OUTPUT` as-is** to sub-agents the orchestrator bridges data without processing or filtering it
17
17
 
18
18
  **Task Registration**: Register phases first with TaskCreate, then steps within each phase as you enter it.
19
19
 
@@ -11,7 +11,7 @@ description: Update existing design documents (Design Doc / PRD / ADR) with revi
11
11
  **First Action**: Register Steps 1-6 with TaskCreate before any execution.
12
12
 
13
13
  **Execution Protocol**:
14
- 1. **Delegate all work** to sub-agentsyour role is to invoke sub-agents, pass data between them, and report results
14
+ 1. **Delegate all work through Agent tool** — invoke sub-agents, pass data between them, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools")
15
15
  2. **Execute update flow**:
16
16
  - Identify target → Clarify changes → Update document → Review → Consistency check
17
17
  - **Stop at every `[Stop: ...]` marker** → Wait for user approval before proceeding
@@ -42,7 +42,7 @@ ls $ARGUMENTS || ls docs/design/*.md | grep -v template | tail -1
42
42
 
43
43
  ### ステップ2: スケルトン生成
44
44
 
45
- Taskツールでacceptance-test-generatorを呼び出す:
45
+ Agentツールでacceptance-test-generatorを呼び出す:
46
46
  - `subagent_type`: "acceptance-test-generator"
47
47
  - `description`: "テストスケルトン生成"
48
48
  - `prompt`: "[ステップ1のパス]のDesign Docからテストスケルトンを生成"
@@ -86,7 +86,7 @@ type: test-implementation
86
86
 
87
87
  ### ステップ4: テスト実装
88
88
 
89
- Taskツールでtask-executorを呼び出す:
89
+ Agentツールでtask-executorを呼び出す:
90
90
  - `subagent_type`: "task-executor"
91
91
  - `description`: "統合テスト実装"
92
92
  - `prompt`: "タスクファイル: docs/plans/tasks/integration-tests-YYYYMMDD.md。タスクファイルに従ってテストを実装。"
@@ -95,7 +95,7 @@ Taskツールでtask-executorを呼び出す:
95
95
 
96
96
  ### ステップ5: テストレビュー
97
97
 
98
- Taskツールでintegration-test-reviewerを呼び出す:
98
+ Agentツールでintegration-test-reviewerを呼び出す:
99
99
  - `subagent_type`: "integration-test-reviewer"
100
100
  - `description`: "テスト品質レビュー"
101
101
  - `prompt`: "テスト品質をレビュー。テストファイル: [ステップ4のtestsAdded]。スケルトンファイル: [ステップ2のgeneratedFiles]"
@@ -108,14 +108,14 @@ Taskツールでintegration-test-reviewerを呼び出す:
108
108
  - `status: approved` → 完了としてマーク、ステップ7へ進む
109
109
  - `status: needs_revision` → requiredFixesでtask-executorを呼び出し、ステップ5に戻る
110
110
 
111
- Taskツールでtask-executorを呼び出す:
111
+ Agentツールでtask-executorを呼び出す:
112
112
  - `subagent_type`: "task-executor"
113
113
  - `description`: "レビュー指摘の修正"
114
114
  - `prompt`: "テストファイルの以下の問題を修正: [ステップ5のrequiredFixes]"
115
115
 
116
116
  ### ステップ7: 品質チェック
117
117
 
118
- Taskツールでquality-fixerを呼び出す:
118
+ Agentツールでquality-fixerを呼び出す:
119
119
  - `subagent_type`: "quality-fixer"
120
120
  - `description`: "最終品質保証"
121
121
  - `prompt`: "このワークフローで追加されたテストファイルの最終品質保証。全テストを実行しカバレッジを確認。"
@@ -7,7 +7,7 @@ description: 分解済みタスクを自律実行モードで実装
7
7
  **コアアイデンティティ**: 「私は作業者ではない。オーケストレーターである。」(subagents-orchestration-guideスキル参照)
8
8
 
9
9
  **実行プロトコル**:
10
- 1. **全作業をサブエージェントに委譲**役割はサブエージェントの呼び出し、データの受け渡し、結果の報告
10
+ 1. **全作業をAgentツールでサブエージェントに委譲**サブエージェントの呼び出し、データの受け渡し、結果の報告(許可ツール: subagents-orchestration-guideスキル「オーケストレーターの許可ツール」参照)
11
11
  2. **4ステップサイクルに厳密に従う**: task-executor → エスカレーションチェック → quality-fixer → commit
12
12
  3. **自律実行モード移行**: ユーザーの実行指示とタスクファイルの存在をもってバッチ承認とする
13
13
  4. **スコープ**: 全タスクのコミット完了またはエスカレーション発生で完了
@@ -50,7 +50,7 @@ description: 分解済みタスクを自律実行モードで実装
50
50
  ```
51
51
 
52
52
  ### 2. タスク分解実行(承認時)
53
- Taskツールでtask-decomposerを呼び出す:
53
+ Agentツールでtask-decomposerを呼び出す:
54
54
  - `subagent_type`: "task-decomposer"
55
55
  - `description`: "作業計画をタスクに分解"
56
56
  - `prompt`: "作業計画書を読み込み、1コミット粒度の独立したタスクに分解。入力: docs/plans/[計画書名].md。出力: docs/plans/tasks/配下に個別タスクファイル生成。粒度: 1タスク = 1コミット = 独立して実行可能"
@@ -42,7 +42,7 @@ AskUserQuestionで3ラウンドに分けて情報を収集する。
42
42
 
43
43
  ### Step 4: スキルコンテンツの生成
44
44
 
45
- 収集した情報を渡してskill-creatorエージェントをTask toolで起動:
45
+ 収集した情報を渡してskill-creatorエージェントをAgentツールで起動:
46
46
  - ラウンド3の生の知識
47
47
  - Step 3のスキル名
48
48
  - ラウンド2の使用場面
@@ -51,7 +51,7 @@ AskUserQuestionで3ラウンドに分けて情報を収集する。
51
51
 
52
52
  ### Step 5: 生成コンテンツのレビュー
53
53
 
54
- skill-reviewerエージェントをTask toolで起動:
54
+ skill-reviewerエージェントをAgentツールで起動:
55
55
  - skill-creatorの生成コンテンツを渡す
56
56
  - レビューモード: `creation`
57
57
 
@@ -9,7 +9,7 @@ description: 要件分析から設計書作成まで実行
9
9
  **コアアイデンティティ**: 「私は作業者ではない。オーケストレーターである。」(subagents-orchestration-guideスキル参照)
10
10
 
11
11
  **実行プロトコル**:
12
- 1. **全作業をサブエージェントに委譲**役割はサブエージェントの呼び出し、データの受け渡し、結果の報告
12
+ 1. **全作業をAgentツールでサブエージェントに委譲**サブエージェントの呼び出し、データの受け渡し、結果の報告(許可ツール: subagents-orchestration-guideスキル「オーケストレーターの許可ツール」参照)
13
13
  2. **subagents-orchestration-guideスキルの設計フローに厳密に従う**:
14
14
  - 実行: requirement-analyzer → technical-designer → document-reviewer → design-sync
15
15
  - **`[停止: ...]`マーカーで必ず停止** → 次に進む前にユーザー承認を待つ
@@ -37,7 +37,7 @@ description: 問題を調査し、検証を経て解決策を導出する
37
37
 
38
38
  ### 0.3 問題の本質理解
39
39
 
40
- Taskツールでrule-advisorを呼び出す:
40
+ Agentツールでrule-advisorを呼び出す:
41
41
  - `subagent_type`: "rule-advisor"
42
42
  - `description`: "問題の本質特定"
43
43
  - `prompt`: "以下の問題について、本質と必要なスキルを特定してください: [ユーザーが報告した問題]"
@@ -78,7 +78,7 @@ rule-advisorの出力から以下を確認:
78
78
 
79
79
  ### ステップ1: 調査(investigator)
80
80
 
81
- Taskツールでinvestigatorを呼び出す:
81
+ Agentツールでinvestigatorを呼び出す:
82
82
  - `subagent_type`: "investigator"
83
83
  - `description`: "問題情報の収集"
84
84
  - `prompt`: "以下の現象について、関連する情報を網羅的に収集してください。現象: [ユーザーが報告した問題]"
@@ -111,7 +111,7 @@ investigatorの出力で`causeCategory: design_gap`または`recurrenceRisk: hig
111
111
 
112
112
  ### ステップ3: 検証(verifier)
113
113
 
114
- Taskツールでverifierを呼び出す:
114
+ Agentツールでverifierを呼び出す:
115
115
  - `subagent_type`: "verifier"
116
116
  - `description`: "調査結果の検証"
117
117
  - `prompt`: "以下の調査結果を検証してください。調査結果: [調査のJSON出力]"
@@ -125,7 +125,7 @@ Taskツールでverifierを呼び出す:
125
125
 
126
126
  ### ステップ4: 解決策導出(solver)
127
127
 
128
- Taskツールでsolverを呼び出す:
128
+ Agentツールでsolverを呼び出す:
129
129
  - `subagent_type`: "solver"
130
130
  - `description`: "解決策の導出"
131
131
  - `prompt`: "以下の検証済み結論に基づいて、解決策を導出してください。原因: [verifierのconclusion.causes]。原因の関係性: [causesRelationship: independent/dependent/exclusive]。信頼度: [high/medium/low]"
@@ -15,7 +15,7 @@ description: フロントエンド実装を自律実行モードで実行
15
15
  オーケストレーターはサブエージェントを呼び出し、構造化JSONを渡します。
16
16
 
17
17
  **実行プロトコル**:
18
- 1. **全作業をサブエージェントに委譲**役割はサブエージェントの呼び出し、データの受け渡し、結果の報告
18
+ 1. **全作業をAgentツールでサブエージェントに委譲**サブエージェントの呼び出し、データの受け渡し、結果の報告(許可ツール: subagents-orchestration-guideスキル「オーケストレーターの許可ツール」参照)
19
19
  2. **4ステップサイクルに厳密に従う**: task-executor-frontend → エスカレーションチェック → quality-fixer-frontend → commit
20
20
  3. **自律実行モード移行**: ユーザーの実行指示とタスクファイルの存在をもってバッチ承認とする
21
21
 
@@ -57,7 +57,7 @@ description: フロントエンド実装を自律実行モードで実行
57
57
  ```
58
58
 
59
59
  ### 2. タスク分解(承認された場合)
60
- Taskツールでtask-decomposerを呼び出す:
60
+ Agentツールでtask-decomposerを呼び出す:
61
61
  - `subagent_type`: "task-decomposer"
62
62
  - `description`: "作業計画をタスクに分解"
63
63
  - `prompt`: "作業計画を読み込み、アトミックなタスクに分解。入力: docs/plans/[plan-name].md。出力: docs/plans/tasks/配下に個別タスクファイル。粒度: 1タスク = 1コミット = 独立実行可能"
@@ -83,7 +83,7 @@ Taskツールでtask-decomposerを呼び出す:
83
83
  **必須実行サイクル**: `task-executor-frontend → エスカレーションチェック → quality-fixer-frontend → commit`
84
84
 
85
85
  ### サブエージェント呼び出し方法
86
- Taskツールを使用してサブエージェントを呼び出す:
86
+ Agentツールを使用してサブエージェントを呼び出す:
87
87
  - `subagent_type`: エージェント名
88
88
  - `description`: タスクの簡潔な説明(3-5語)
89
89
  - `prompt`: 具体的な指示内容
@@ -38,7 +38,7 @@ description: 要件分析からフロントエンド設計ドキュメント作
38
38
  - 既存システムとの関係
39
39
 
40
40
  要件がある程度明確になったら:
41
- - Taskツールで**requirement-analyzer**を呼び出す
41
+ - Agentツールで**requirement-analyzer**を呼び出す
42
42
  - `subagent_type: "requirement-analyzer"`
43
43
  - `description: "要件分析"`
44
44
  - `prompt: "要件: [ユーザー要件] 要件分析と規模判定を実施してください"`
@@ -52,7 +52,7 @@ description: 要件分析からフロントエンド設計ドキュメント作
52
52
  - **[停止]**: プロトタイプコードの有無についてユーザーの回答を待つ
53
53
 
54
54
  UI Specを作成:
55
- - Taskツールで**ui-spec-designer**を呼び出す
55
+ - Agentツールで**ui-spec-designer**を呼び出す
56
56
  - `subagent_type: "ui-spec-designer"`
57
57
  - `description: "UI Spec作成"`
58
58
  - PRDあり+プロトタイプあり: `prompt: "[パス]のPRDからUI Specを作成。プロトタイプコードは[ユーザー提供パス]。プロトタイプをdocs/ui-spec/assets/{feature-name}/に配置"`
@@ -64,7 +64,7 @@ UI Specを作成:
64
64
 
65
65
  ### Step 3: 設計ドキュメント作成フェーズ
66
66
  規模判定に応じて適切な設計ドキュメントを作成:
67
- - Taskツールで**technical-designer-frontend**を呼び出す
67
+ - Agentツールで**technical-designer-frontend**を呼び出す
68
68
  - ADRの場合: `subagent_type: "technical-designer-frontend"`, `description: "ADR作成"`, `prompt: "[技術決定]のADRを作成"`
69
69
  - Design Docの場合: `subagent_type: "technical-designer-frontend"`, `description: "Design Doc作成"`, `prompt: "要件に基づいてDesign Docを作成。UI Specは[ui-specパス]。UI Specのコンポーネント構造と状態設計を継承。"`
70
70
  - **document-reviewer**で整合性検証
@@ -34,14 +34,14 @@ description: 設計ドキュメントからフロントエンド作業計画書
34
34
  - 複数ある場合は選択肢を提示($ARGUMENTSで指定可能)
35
35
 
36
36
  ### 2. テストスケルトン生成
37
- Taskツールで**acceptance-test-generator**を呼び出す:
37
+ Agentツールで**acceptance-test-generator**を呼び出す:
38
38
  - `subagent_type`: "acceptance-test-generator"
39
39
  - `description`: "テストスケルトン生成"
40
40
  - UI Specあり: `prompt: "[パス]のDesign Docからテストスケルトンを生成。UI Specは[ui-specパス]。"`
41
41
  - UI Specなし: `prompt: "[パス]のDesign Docからテストスケルトンを生成。"`
42
42
 
43
43
  ### 3. 作業計画書作成
44
- Taskツールで**work-planner**を呼び出す:
44
+ Agentツールで**work-planner**を呼び出す:
45
45
  - `subagent_type`: "work-planner"
46
46
  - `description`: "作業計画書作成"
47
47
  - `prompt`: "[パス]のDesign Docから作業計画を作成。統合テストファイル: [step 2からのパス]。E2Eテストファイル: [step 2からのパス]。統合テストは各フェーズ実装と同時に作成、E2Eテストは最終フェーズでのみ実行。"
@@ -4,7 +4,7 @@ description: オーケストレーターとして要件分析から実装まで
4
4
 
5
5
  **コマンドコンテキスト**: 実装の完全サイクル管理(要件分析→設計→計画→実装→品質保証)
6
6
 
7
- subagents-orchestration-guideスキルの指針に従い、オーケストレーターとして振る舞います — 役割はサブエージェントの呼び出し、データの受け渡し、結果の報告。
7
+ subagents-orchestration-guideスキルの指針に従い、オーケストレーターとして振る舞います — 全作業をAgentツールでサブエージェントに委譲し、データを受け渡し、結果を報告(許可ツール: subagents-orchestration-guideスキル「オーケストレーターの許可ツール」参照)。
8
8
 
9
9
  ## 実行判断フロー
10
10
 
@@ -9,7 +9,7 @@ description: 設計書から作業計画書を作成し計画承認を取得
9
9
  **コアアイデンティティ**: 「私は作業者ではない。オーケストレーターである。」(subagents-orchestration-guideスキル参照)
10
10
 
11
11
  **実行プロトコル**:
12
- 1. **全作業をサブエージェントに委譲**役割はサブエージェントの呼び出し、データの受け渡し、結果の報告
12
+ 1. **全作業をAgentツールでサブエージェントに委譲**サブエージェントの呼び出し、データの受け渡し、結果の報告(許可ツール: subagents-orchestration-guideスキル「オーケストレーターの許可ツール」参照)
13
13
  2. **subagents-orchestration-guideスキルの計画フローに厳密に従う**:
14
14
  - 以下のステップを実行
15
15
  - **完了前に計画承認を取得**
@@ -46,7 +46,7 @@ description: ユーザーのスキル変更要求を最適化パターン評価
46
46
 
47
47
  ### Step 3: 品質レビュー
48
48
 
49
- skill-reviewerエージェントをTask toolで起動:
49
+ skill-reviewerエージェントをAgentツールで起動:
50
50
  - 変更後のSKILL.md全文を渡す
51
51
  - レビューモード: `modification`
52
52
 
@@ -11,9 +11,9 @@ description: 既存コードベースからPRDとDesign Docを生成するリバ
11
11
  **コアアイデンティティ**: 「私は作業者ではない。オーケストレーターである。」(subagents-orchestration-guideスキル参照)
12
12
 
13
13
  **実行プロトコル**:
14
- 1. **全作業をサブエージェントに委譲**役割はサブエージェントの呼び出し、データの受け渡し、結果の報告
15
- 2. **ステップ間で構造化JSONを受け渡す** — `$STEP_N_OUTPUT`プレースホルダー記法を使用
16
- 3. **コード読解はすべてサブエージェントが実施**
14
+ 1. **全作業をAgentツールでサブエージェントに委譲**サブエージェントの呼び出し、成果物パスの受け渡し、結果の報告(許可ツール: subagents-orchestration-guideスキル「オーケストレーターの許可ツール」参照)
15
+ 2. **1ステップずつ順次実行**: 各ユニット内でステップを順次実行(2→3→4→5)。各ステップの出力が次ステップの必須入力。1ユニットの全ステップを完了してから次のユニットへ
16
+ 3. **`$STEP_N_OUTPUT`をそのまま渡す** — オーケストレーターはデータを加工・フィルタリングせず中継する
17
17
 
18
18
  **タスク登録**: まずフェーズをTaskCreateで登録し、各フェーズ開始時に詳細ステップを追加登録する。
19
19
 
@@ -11,7 +11,7 @@ description: 既存設計ドキュメント(Design Doc / PRD / ADR)をレビ
11
11
  **初期アクション**: 実行前にステップ1-6をTaskCreateで登録する。
12
12
 
13
13
  **実行プロトコル**:
14
- 1. **全作業をサブエージェントに委譲**役割はサブエージェントの呼び出し、データの受け渡し、結果の報告
14
+ 1. **全作業をAgentツールでサブエージェントに委譲**サブエージェントの呼び出し、データの受け渡し、結果の報告(許可ツール: subagents-orchestration-guideスキル「オーケストレーターの許可ツール」参照)
15
15
  2. **更新フローを実行**:
16
16
  - 対象特定 → 変更内容確認 → ドキュメント更新 → レビュー → 整合性チェック
17
17
  - **`[停止: ...]`マーカーで必ず停止** → 次に進む前にユーザー承認を待つ
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: documentation-criteria
3
- description: Guides PRD, ADR, Design Doc, and Work Plan creation with templates and decision matrix.
3
+ description: Guides PRD, ADR, Design Doc, and Work Plan creation. Use when creating or reviewing technical documents.
4
4
  ---
5
5
 
6
6
  # Documentation Creation Criteria
@@ -17,7 +17,8 @@ description: Designs tests with React Testing Library, MSW, and Playwright E2E.
17
17
  - **React Testing Library**: For component testing
18
18
  - **MSW (Mock Service Worker)**: For API mocking
19
19
  - Test imports: `import { describe, it, expect, beforeEach, vi } from 'vitest'`
20
- - Component test imports: `import { render, screen, fireEvent } from '@testing-library/react'`
20
+ - Component test imports: `import { render, screen } from '@testing-library/react'`
21
+ - User interaction: `import userEvent from '@testing-library/user-event'`
21
22
  - Mock creation: Use `vi.mock()`
22
23
 
23
24
  ## Basic Testing Policy
@@ -96,12 +97,12 @@ src/
96
97
 
97
98
  ### MSW (Mock Service Worker) Setup
98
99
  ```typescript
99
- // Type-safe MSW handler
100
- import { rest } from 'msw'
100
+ // Type-safe MSW handler (MSW v2)
101
+ import { http, HttpResponse } from 'msw'
101
102
 
102
103
  const handlers = [
103
- rest.get('/api/users/:id', (req, res, ctx) => {
104
- return res(ctx.json({ id: '1', name: 'John' } satisfies User))
104
+ http.get('/api/users/:id', () => {
105
+ return HttpResponse.json({ id: '1', name: 'John' } satisfies User)
105
106
  })
106
107
  ]
107
108
  ```
@@ -122,15 +123,36 @@ const mockRouter = {
122
123
 
123
124
  ```typescript
124
125
  import { describe, it, expect, vi } from 'vitest'
125
- import { render, screen, fireEvent } from '@testing-library/react'
126
+ import { render, screen } from '@testing-library/react'
127
+ import userEvent from '@testing-library/user-event'
126
128
  import { Button } from './Button'
127
129
 
128
130
  describe('Button', () => {
129
- it('should call onClick when clicked', () => {
131
+ it('should call onClick when clicked', async () => {
132
+ const user = userEvent.setup()
130
133
  const onClick = vi.fn()
131
134
  render(<Button label="Click me" onClick={onClick} />)
132
- fireEvent.click(screen.getByRole('button', { name: 'Click me' }))
135
+ await user.click(screen.getByRole('button', { name: 'Click me' }))
133
136
  expect(onClick).toHaveBeenCalledOnce()
134
137
  })
135
138
  })
136
139
  ```
140
+
141
+ ## Test Design Patterns
142
+
143
+ ```typescript
144
+ // Correct: test user-visible results
145
+ it('increments count when clicked', async () => {
146
+ const user = userEvent.setup()
147
+ render(<Counter />)
148
+ await user.click(screen.getByRole('button', { name: '+' }))
149
+ expect(screen.getByText('Count: 1')).toBeInTheDocument()
150
+ })
151
+
152
+ // Avoid: testing implementation details
153
+ it('calls setState', () => {
154
+ const setState = vi.spyOn(React, 'useState')
155
+ render(<Counter />)
156
+ // ...
157
+ })
158
+ ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: skill-optimization
3
- description: Evaluates and optimizes skill file quality against 8 content patterns and 9 editing principles. Use when creating skills, refining skill content, or auditing skill quality.
3
+ description: Evaluates and optimizes skill file quality. Use when creating skills, refining skill content, or auditing skill quality.
4
4
  ---
5
5
 
6
6
  # Skill Content Optimization
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: documentation-criteria
3
- description: PRD、ADR、Design Doc、作業計画書の作成を支援。テンプレートと作成判定マトリクスを提供。
3
+ description: PRD、ADR、Design Doc、作業計画書の作成を支援。技術ドキュメントの作成・レビュー時に使用。
4
4
  ---
5
5
 
6
6
  # ドキュメント作成基準
@@ -10,7 +10,8 @@ description: React Testing Library、MSW、Playwright E2Eでテストを設計
10
10
  - **React Testing Library**: コンポーネントテスト用
11
11
  - **MSW (Mock Service Worker)**: APIモック用
12
12
  - テストのインポート: `import { describe, it, expect, beforeEach, vi } from 'vitest'`
13
- - コンポーネントテストのインポート: `import { render, screen, fireEvent } from '@testing-library/react'`
13
+ - コンポーネントテストのインポート: `import { render, screen } from '@testing-library/react'`
14
+ - ユーザー操作: `import userEvent from '@testing-library/user-event'`
14
15
  - モックの作成: `vi.mock()` を使用
15
16
 
16
17
  ## テストの基本方針
@@ -89,12 +90,12 @@ src/
89
90
 
90
91
  ### MSW(Mock Service Worker)セットアップ
91
92
  ```typescript
92
- // 型安全なMSWハンドラー
93
- import { rest } from 'msw'
93
+ // 型安全なMSWハンドラー(MSW v2)
94
+ import { http, HttpResponse } from 'msw'
94
95
 
95
96
  const handlers = [
96
- rest.get('/api/users/:id', (req, res, ctx) => {
97
- return res(ctx.json({ id: '1', name: 'John' } satisfies User))
97
+ http.get('/api/users/:id', () => {
98
+ return HttpResponse.json({ id: '1', name: 'John' } satisfies User)
98
99
  })
99
100
  ]
100
101
  ```
@@ -115,14 +116,16 @@ const mockRouter = {
115
116
 
116
117
  ```typescript
117
118
  import { describe, it, expect, vi } from 'vitest'
118
- import { render, screen, fireEvent } from '@testing-library/react'
119
+ import { render, screen } from '@testing-library/react'
120
+ import userEvent from '@testing-library/user-event'
119
121
  import { Button } from './Button'
120
122
 
121
123
  describe('Button', () => {
122
- it('should call onClick when clicked', () => {
124
+ it('should call onClick when clicked', async () => {
125
+ const user = userEvent.setup()
123
126
  const onClick = vi.fn()
124
127
  render(<Button label="Click me" onClick={onClick} />)
125
- fireEvent.click(screen.getByRole('button', { name: 'Click me' }))
128
+ await user.click(screen.getByRole('button', { name: 'Click me' }))
126
129
  expect(onClick).toHaveBeenCalledOnce()
127
130
  })
128
131
  })
@@ -193,20 +196,21 @@ it('submits form with valid data', async () => {
193
196
  })
194
197
  ```
195
198
 
196
- ## アンチパターン
199
+ ## テスト設計パターン
197
200
 
198
201
  ```typescript
199
- // 悪い: 実装詳細のテスト
200
- it('calls setState', () => {
201
- const setState = vi.spyOn(React, 'useState')
202
+ // Correct: test user-visible results
203
+ it('increments count when clicked', async () => {
204
+ const user = userEvent.setup()
202
205
  render(<Counter />)
203
- // ...
206
+ await user.click(screen.getByRole('button', { name: '+' }))
207
+ expect(screen.getByText('Count: 1')).toBeInTheDocument()
204
208
  })
205
209
 
206
- // 良い: ユーザーが見る結果をテスト
207
- it('increments count when clicked', () => {
210
+ // Avoid: testing implementation details
211
+ it('calls setState', () => {
212
+ const setState = vi.spyOn(React, 'useState')
208
213
  render(<Counter />)
209
- fireEvent.click(screen.getByRole('button', { name: '+' }))
210
- expect(screen.getByText('Count: 1')).toBeInTheDocument()
214
+ // ...
211
215
  })
212
216
  ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: skill-optimization
3
- description: スキルファイルの品質を8つのコンテンツパターンと9つの編集原則で評価・最適化。スキル作成、内容改善、品質監査時に使用。
3
+ description: スキルファイルの品質を評価・最適化。スキル作成、内容改善、品質評価時に使用。
4
4
  ---
5
5
 
6
6
  # スキルコンテンツ最適化
package/CHANGELOG.md CHANGED
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.17.1] - 2026-03-19
9
+
10
+ ### Fixed
11
+
12
+ - Fix incorrect tool name: "Task tool" → "Agent tool" in all command files (EN/JA)
13
+ - Update deprecated MSW v1 API (`rest`/`res`/`ctx`) to v2 (`http`/`HttpResponse`) in frontend-typescript-testing skill
14
+ - Update deprecated `fireEvent` to `userEvent.setup()` pattern per RTL best practices
15
+ - Convert "Prohibited Actions" to "Output Self-Check" checklists in 6 agents for more effective LLM guidance
16
+ - Clarify orchestrator delegation protocol with explicit Agent tool reference and permitted tools whitelist
17
+ - Add sequential execution ordering and as-is data bridging rules to reverse-engineer orchestrator protocol
18
+ - Remove internal implementation details from skill descriptions (skill-optimization, documentation-criteria)
19
+ - Reorder test design pattern examples good-first to avoid LLM pattern imprinting
20
+
21
+ ### Added
22
+
23
+ - `affectedLayers` field in requirement-analyzer output for fullstack workflow support
24
+ - Test design patterns section (good/bad examples) in EN frontend-typescript-testing skill (previously JA-only)
25
+
8
26
  ## [1.17.0] - 2026-03-08
9
27
 
10
28
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-ai-project",
3
- "version": "1.17.0",
3
+ "version": "1.17.1",
4
4
  "packageManager": "npm@10.8.2",
5
5
  "description": "TypeScript boilerplate with skills and sub-agents for Claude Code. Prevents context exhaustion through role-based task splitting.",
6
6
  "keywords": [