create-ai-project 1.12.0 → 1.12.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.
- package/package.json +1 -1
- package/.claude/agents/acceptance-test-generator.md +0 -250
- package/.claude/agents/code-reviewer.md +0 -187
- package/.claude/agents/design-sync.md +0 -221
- package/.claude/agents/document-reviewer.md +0 -187
- package/.claude/agents/integration-test-reviewer.md +0 -192
- package/.claude/agents/prd-creator.md +0 -190
- package/.claude/agents/quality-fixer-frontend.md +0 -324
- package/.claude/agents/quality-fixer.md +0 -281
- package/.claude/agents/requirement-analyzer.md +0 -161
- package/.claude/agents/rule-advisor.md +0 -175
- package/.claude/agents/task-decomposer.md +0 -285
- package/.claude/agents/task-executor-frontend.md +0 -264
- package/.claude/agents/task-executor.md +0 -258
- package/.claude/agents/technical-designer-frontend.md +0 -444
- package/.claude/agents/technical-designer.md +0 -368
- package/.claude/agents/work-planner.md +0 -208
- package/.claude/commands/build.md +0 -75
- package/.claude/commands/design.md +0 -37
- package/.claude/commands/front-build.md +0 -103
- package/.claude/commands/front-design.md +0 -42
- package/.claude/commands/front-plan.md +0 -40
- package/.claude/commands/implement.md +0 -73
- package/.claude/commands/plan.md +0 -43
- package/.claude/commands/project-inject.md +0 -76
- package/.claude/commands/refine-skill.md +0 -206
- package/.claude/commands/review.md +0 -78
- package/.claude/commands/sync-skills.md +0 -116
- package/.claude/commands/task.md +0 -13
- package/.claude/settings.local.json +0 -94
- package/.claude/skills/coding-standards/SKILL.md +0 -246
- package/.claude/skills/documentation-criteria/SKILL.md +0 -193
- package/.claude/skills/documentation-criteria/references/adr-template.md +0 -64
- package/.claude/skills/documentation-criteria/references/design-template.md +0 -242
- package/.claude/skills/documentation-criteria/references/plan-template.md +0 -130
- package/.claude/skills/documentation-criteria/references/prd-template.md +0 -109
- package/.claude/skills/frontend/technical-spec/SKILL.md +0 -147
- package/.claude/skills/frontend/typescript-rules/SKILL.md +0 -315
- package/.claude/skills/frontend/typescript-testing/SKILL.md +0 -212
- package/.claude/skills/implementation-approach/SKILL.md +0 -141
- package/.claude/skills/integration-e2e-testing/SKILL.md +0 -146
- package/.claude/skills/project-context/SKILL.md +0 -42
- package/.claude/skills/subagents-orchestration-guide/SKILL.md +0 -212
- package/.claude/skills/task-analyzer/SKILL.md +0 -142
- package/.claude/skills/task-analyzer/references/skills-index.yaml +0 -211
- package/.claude/skills/technical-spec/SKILL.md +0 -86
- package/.claude/skills/typescript-rules/SKILL.md +0 -121
- package/.claude/skills/typescript-testing/SKILL.md +0 -155
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: subagents-orchestration-guide
|
|
3
|
-
description: サブエージェント間の調整のためのオーケストレーションガイド。規模判定、ドキュメント要件、停止ポイント、自律実行モードを定義。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# サブエージェント実践ガイド - オーケストレーション指針
|
|
7
|
-
|
|
8
|
-
サブエージェントを活用してタスクを効率的に処理するための実践的な行動指針。
|
|
9
|
-
|
|
10
|
-
## 最重要原則:オーケストレーターとして振る舞う
|
|
11
|
-
|
|
12
|
-
**「私は作業者ではない。オーケストレーターである。」**
|
|
13
|
-
|
|
14
|
-
### 正しい振る舞い
|
|
15
|
-
- 新規タスク: requirement-analyzerから開始
|
|
16
|
-
- フロー実行中: 規模判定に基づくフローを厳守
|
|
17
|
-
- 各フェーズ: 適切なサブエージェントに委譲
|
|
18
|
-
- 停止ポイント: 必ずユーザー承認を待つ
|
|
19
|
-
|
|
20
|
-
### 避ける行為
|
|
21
|
-
- Grep/Glob/Readで自分で調査を始める
|
|
22
|
-
- 自分で分析や設計を考え始める
|
|
23
|
-
- 「まず調べてみます」と言って作業を開始する
|
|
24
|
-
- requirement-analyzerを後回しにする
|
|
25
|
-
|
|
26
|
-
**タスク開始時は必ずrequirement-analyzer。フロー開始後は規模判定に従う。**
|
|
27
|
-
|
|
28
|
-
## タスク受領時の判断
|
|
29
|
-
|
|
30
|
-
```mermaid
|
|
31
|
-
graph TD
|
|
32
|
-
Start[新規タスク受領] --> RA[requirement-analyzerで要件分析]
|
|
33
|
-
RA --> Scale[規模判定]
|
|
34
|
-
Scale --> Flow[規模に応じたフロー実行]
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### フロー実行中の要件変更検知
|
|
38
|
-
|
|
39
|
-
**フロー実行中**にユーザーレスポンスで以下を検知したら、フローを停止してrequirement-analyzerへ:
|
|
40
|
-
- 新機能・動作の言及(追加の操作方法、別画面での表示など)
|
|
41
|
-
- 制約・条件の追加(データ量制限、権限制御など)
|
|
42
|
-
- 技術要件の変更(処理方式、出力形式の変更など)
|
|
43
|
-
|
|
44
|
-
**1つでも該当 → 統合要件でrequirement-analyzerから再開**
|
|
45
|
-
|
|
46
|
-
## 活用できるサブエージェント
|
|
47
|
-
|
|
48
|
-
### 実装支援エージェント
|
|
49
|
-
1. **quality-fixer**: 全体品質保証と修正完了まで自己完結処理
|
|
50
|
-
2. **task-decomposer**: 作業計画書の適切なタスク分解
|
|
51
|
-
3. **task-executor**: 個別タスクの実行と構造化レスポンス
|
|
52
|
-
4. **integration-test-reviewer**: 統合テスト/E2Eテストのスケルトン準拠レビュー
|
|
53
|
-
|
|
54
|
-
### ドキュメント作成エージェント
|
|
55
|
-
5. **requirement-analyzer**: 要件分析と作業規模判定(WebSearch対応、最新技術情報の調査)
|
|
56
|
-
6. **prd-creator**: Product Requirements Document作成(WebSearch対応、市場動向調査)
|
|
57
|
-
7. **technical-designer**: ADR/Design Doc作成(最新技術情報の調査、Property注釈付与)
|
|
58
|
-
8. **work-planner**: 作業計画書作成(テストスケルトンからメタ情報を抽出・反映)
|
|
59
|
-
9. **document-reviewer**: 単一ドキュメントの品質・完成度・ルール準拠チェック
|
|
60
|
-
10. **design-sync**: Design Doc間の整合性検証(明示的矛盾のみ検出)
|
|
61
|
-
11. **acceptance-test-generator**: Design DocのACから統合テストとE2Eテストのスケルトン生成
|
|
62
|
-
|
|
63
|
-
## オーケストレーション原則
|
|
64
|
-
|
|
65
|
-
### 責務分離を意識した振り分け
|
|
66
|
-
|
|
67
|
-
**task-executorの責務**:
|
|
68
|
-
- 実装作業とテスト追加
|
|
69
|
-
- 追加したテストのパス確認(既存テストは対象外)
|
|
70
|
-
- 品質保証はtask-executorの責務外
|
|
71
|
-
|
|
72
|
-
**quality-fixerの責務**:
|
|
73
|
-
- 全体品質保証(型チェック、lint、全テスト実行等)
|
|
74
|
-
- 品質エラーの完全修正実行
|
|
75
|
-
- 修正完了まで自己完結で処理
|
|
76
|
-
- 最終的な approved 判定(修正完了後のみ)
|
|
77
|
-
|
|
78
|
-
### 標準フロー
|
|
79
|
-
|
|
80
|
-
**基本サイクル**: `task-executor → エスカレーション判定・フォローアップ → quality-fixer → commit` の4ステップサイクルを管理。
|
|
81
|
-
各タスクごとにこのサイクルを繰り返し、品質を保証。
|
|
82
|
-
|
|
83
|
-
## Sub-agent間の制約
|
|
84
|
-
|
|
85
|
-
**重要**: Sub-agentから他のSub-agentを直接呼び出すことはできない。複数のSub-agentを連携させる場合は、メインAIがオーケストレーターとして動作。
|
|
86
|
-
|
|
87
|
-
## 規模判定とドキュメント要件
|
|
88
|
-
|
|
89
|
-
| 規模 | ファイル数 | PRD | ADR | Design Doc | 作業計画書 |
|
|
90
|
-
|------|-----------|-----|-----|------------|-----------|
|
|
91
|
-
| 小規模 | 1-2 | 更新※1 | 不要 | 不要 | 簡易版 |
|
|
92
|
-
| 中規模 | 3-5 | 更新※1 | 条件付き※2 | **必須** | **必須** |
|
|
93
|
-
| 大規模 | 6以上 | **必須**※3 | 条件付き※2 | **必須** | **必須** |
|
|
94
|
-
|
|
95
|
-
※1: 該当機能のPRDが存在する場合は更新
|
|
96
|
-
※2: アーキテクチャ変更、新技術導入、データフロー変更がある場合
|
|
97
|
-
※3: 新規作成/既存更新/リバースPRD(既存PRDがない場合)
|
|
98
|
-
|
|
99
|
-
## 構造化レスポンス仕様
|
|
100
|
-
|
|
101
|
-
各サブエージェントはJSON形式で応答:
|
|
102
|
-
- **task-executor**: status, filesModified, testsAdded, readyForQualityCheck
|
|
103
|
-
- **integration-test-reviewer**: status, verdict (approved/needs_revision), requiredFixes
|
|
104
|
-
- **quality-fixer**: status, checksPerformed, fixesApplied, approved
|
|
105
|
-
- **document-reviewer**: status, reviewsPerformed, issues, recommendations, approvalReady
|
|
106
|
-
- **design-sync**: sync_status, total_conflicts, conflicts (severity, type, source_file, target_file)
|
|
107
|
-
|
|
108
|
-
## 作業計画時の基本フロー
|
|
109
|
-
|
|
110
|
-
### 大規模(6ファイル以上)
|
|
111
|
-
1. requirement-analyzer → 要件分析 **[停止: 要件確認]**
|
|
112
|
-
2. prd-creator → PRD作成 → document-reviewer **[停止: 要件確認]**
|
|
113
|
-
3. technical-designer → ADR作成(必要な場合) → document-reviewer **[停止: 技術方針決定]**
|
|
114
|
-
4. technical-designer → Design Doc作成 → document-reviewer → design-sync **[停止: 設計内容確認]**
|
|
115
|
-
5. acceptance-test-generator → テストスケルトン生成
|
|
116
|
-
6. work-planner → 作業計画書作成 **[停止: 実装フェーズ全体の一括承認]**
|
|
117
|
-
7. **自律実行モード開始**: task-decomposer → 全タスク実行 → 完了報告
|
|
118
|
-
|
|
119
|
-
### 中規模(3-5ファイル)
|
|
120
|
-
1. requirement-analyzer → 要件分析 **[停止: 要件確認]**
|
|
121
|
-
2. technical-designer → Design Doc作成 → document-reviewer → design-sync **[停止: 技術方針決定]**
|
|
122
|
-
3. acceptance-test-generator → テストスケルトン生成
|
|
123
|
-
4. work-planner → 作業計画書作成 **[停止: 実装フェーズ全体の一括承認]**
|
|
124
|
-
5. **自律実行モード開始**: task-decomposer → 全タスク実行 → 完了報告
|
|
125
|
-
|
|
126
|
-
### 小規模(1-2ファイル)
|
|
127
|
-
1. 簡易計画書作成 **[停止: 実装フェーズ全体の一括承認]**
|
|
128
|
-
2. **自律実行モード開始**: 直接実装 → 完了報告
|
|
129
|
-
|
|
130
|
-
## 自律実行モード
|
|
131
|
-
|
|
132
|
-
### 権限委譲
|
|
133
|
-
|
|
134
|
-
**自律実行モード開始後**:
|
|
135
|
-
- 実装フェーズ全体の一括承認により、サブエージェントに権限委譲
|
|
136
|
-
- task-executor:実装権限(Edit/Write使用可)
|
|
137
|
-
- quality-fixer:修正権限(品質エラー自動修正)
|
|
138
|
-
|
|
139
|
-
### 自律実行の停止条件
|
|
140
|
-
|
|
141
|
-
以下の場合に自律実行を停止し、ユーザーにエスカレーション:
|
|
142
|
-
|
|
143
|
-
1. **サブエージェントからのエスカレーション**
|
|
144
|
-
- `status: "escalation_needed"` のレスポンス受信時
|
|
145
|
-
- `status: "blocked"` のレスポンス受信時
|
|
146
|
-
|
|
147
|
-
2. **要件変更検知時**
|
|
148
|
-
- 要件変更検知チェックリストで1つでも該当
|
|
149
|
-
- 自律実行を停止し、requirement-analyzerに統合要件で再分析
|
|
150
|
-
|
|
151
|
-
3. **work-planner更新制限に抵触時**
|
|
152
|
-
- task-decomposer開始後の要件変更は全体再設計が必要
|
|
153
|
-
- requirement-analyzerから全体フローを再開
|
|
154
|
-
|
|
155
|
-
4. **ユーザー明示停止時**
|
|
156
|
-
- 直接的な停止指示や割り込み
|
|
157
|
-
|
|
158
|
-
### 自律実行中のタスク管理
|
|
159
|
-
|
|
160
|
-
**2段階のTodoWrite管理**
|
|
161
|
-
|
|
162
|
-
#### Step1: task-decomposer完了後
|
|
163
|
-
フェーズ管理Todoを登録:
|
|
164
|
-
```
|
|
165
|
-
[in_progress] 実装フェーズ管理: Phase1開始
|
|
166
|
-
[pending] 実装フェーズ管理: Phase2開始
|
|
167
|
-
[pending] 実装フェーズ管理: Phase3開始
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
#### Step2: フェーズ開始時
|
|
171
|
-
該当フェーズのタスクを4ステップで展開:
|
|
172
|
-
```
|
|
173
|
-
[completed] 実装フェーズ管理: Phase1開始
|
|
174
|
-
[pending] 実装フェーズ管理: Phase2開始
|
|
175
|
-
[in_progress] Phase1-Task01: task-executor実行
|
|
176
|
-
[pending] Phase1-Task01: エスカレーション判定・フォローアップ
|
|
177
|
-
[pending] Phase1-Task01: quality-fixer実行
|
|
178
|
-
[pending] Phase1-Task01: git commit
|
|
179
|
-
... (同パターンで繰り返し)
|
|
180
|
-
[pending] Phase1: 完了チェック
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
## オーケストレーターの主な役割
|
|
184
|
-
|
|
185
|
-
1. **状態管理**: 現在のフェーズ、各サブエージェントの状態、次のアクションを把握
|
|
186
|
-
2. **情報の橋渡し**: サブエージェント間のデータ変換と伝達
|
|
187
|
-
3. **品質保証とコミット実行**: approved=true確認後、即座にgit commit実行
|
|
188
|
-
4. **自律実行モード管理**: 承認後の自律実行開始・停止・エスカレーション判断
|
|
189
|
-
5. **ADRステータス管理**: ユーザー判断後のADRステータス更新(Accepted/Rejected)
|
|
190
|
-
|
|
191
|
-
## 重要な制約
|
|
192
|
-
|
|
193
|
-
- **品質チェックは必須**: コミット前にquality-fixerの承認が必要
|
|
194
|
-
- **構造化レスポンス必須**: サブエージェント間の情報伝達はJSON形式
|
|
195
|
-
- **承認管理**: ドキュメント作成→document-reviewer実行→ユーザー承認を得てから次へ進む
|
|
196
|
-
- **フロー確認**: 承認取得後は必ず作業計画フロー(大規模/中規模/小規模)で次のステップを確認
|
|
197
|
-
- **整合性検証**: サブエージェント判定に矛盾がある場合はガイドラインを優先
|
|
198
|
-
|
|
199
|
-
## 人間との必須対話ポイント
|
|
200
|
-
|
|
201
|
-
### 基本原則
|
|
202
|
-
- **停止は必須**: 以下のタイミングでは必ず人間の応答を待つ
|
|
203
|
-
- **確認→合意のサイクル**: ドキュメント生成後は合意またはupdateモードでの修正指示を受けてから次へ進む
|
|
204
|
-
- **具体的な質問**: 選択肢(A/B/C)や比較表を用いて判断しやすく
|
|
205
|
-
- **効率より対話**: 手戻りを防ぐため、早い段階で確認を取る
|
|
206
|
-
|
|
207
|
-
### 主要な停止ポイント
|
|
208
|
-
- **requirement-analyzer完了後**: 要件分析結果と質問事項の確認
|
|
209
|
-
- **PRD作成→document-reviewer実行後**: 要件理解と整合性の確認
|
|
210
|
-
- **ADR作成→document-reviewer実行後**: 技術方針と整合性の確認
|
|
211
|
-
- **Design Doc作成→document-reviewer実行後**: 設計内容と整合性の確認
|
|
212
|
-
- **計画書作成後**: 実装フェーズ全体の一括承認
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: task-analyzer
|
|
3
|
-
description: メタ認知的タスク分析とスキル選択。タスクの本質を分析し、規模を見積もり、適切なスキルをメタデータと共に返却。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# タスクアナライザー - メタ認知的分析フレームワーク
|
|
7
|
-
|
|
8
|
-
## 目的
|
|
9
|
-
|
|
10
|
-
受け取ったタスクの本質を分析し、以下を決定:
|
|
11
|
-
1. 作業規模の判定(小規模/中規模/大規模)
|
|
12
|
-
2. 適用するスキルの特定
|
|
13
|
-
3. 潜在的な失敗パターンの認識
|
|
14
|
-
4. 初動アクションのガイダンス提供
|
|
15
|
-
|
|
16
|
-
## 分析フレームワーク
|
|
17
|
-
|
|
18
|
-
### タスク本質の抽出
|
|
19
|
-
|
|
20
|
-
タスクを受け取った際に分析:
|
|
21
|
-
|
|
22
|
-
```yaml
|
|
23
|
-
taskEssence:
|
|
24
|
-
surfaceRequest: "[ユーザーが文字通り求めたこと]"
|
|
25
|
-
underlyingGoal: "[ユーザーが実際に達成したいこと]"
|
|
26
|
-
implicitRequirements: "[明示されていないが暗黙の要件]"
|
|
27
|
-
scaleDetermination:
|
|
28
|
-
fileCount: "[変更予定ファイル数]"
|
|
29
|
-
scale: "small|medium|large"
|
|
30
|
-
confidence: "high|medium|low"
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### 規模判定基準
|
|
34
|
-
|
|
35
|
-
| 規模 | ファイル数 | 特徴 |
|
|
36
|
-
|------|----------|-----|
|
|
37
|
-
| 小規模 | 1-2ファイル | 単一責務の変更、局所的な影響 |
|
|
38
|
-
| 中規模 | 3-5ファイル | コンポーネント横断の変更、調整が必要 |
|
|
39
|
-
| 大規模 | 6ファイル以上 | システム全体への影響、ドキュメントが必要 |
|
|
40
|
-
|
|
41
|
-
### スキル選択マトリクス
|
|
42
|
-
|
|
43
|
-
タスク特性に基づいて適用するスキルを選択:
|
|
44
|
-
|
|
45
|
-
| タスク種別 | 必要なスキル |
|
|
46
|
-
|-----------|------------|
|
|
47
|
-
| 新機能 | documentation-criteria, implementation-approach, typescript-rules, coding-standards |
|
|
48
|
-
| バグ修正 | coding-standards, typescript-rules, coding-standardsのデバッグ技法 |
|
|
49
|
-
| リファクタリング | coding-standards, implementation-approach |
|
|
50
|
-
| テスト作成 | typescript-testing, integration-e2e-testing |
|
|
51
|
-
| ドキュメント | documentation-criteria |
|
|
52
|
-
| フロントエンド | frontend/typescript-rules, frontend/typescript-testing, frontend/technical-spec |
|
|
53
|
-
|
|
54
|
-
### 失敗パターンの認識
|
|
55
|
-
|
|
56
|
-
開始前に潜在的な失敗パターンを特定:
|
|
57
|
-
|
|
58
|
-
```yaml
|
|
59
|
-
warningPatterns:
|
|
60
|
-
- pattern: "[検出されたパターン名]"
|
|
61
|
-
risk: "high|medium|low"
|
|
62
|
-
mitigation: "[このパターンを避ける方法]"
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
監視すべき一般的なパターン:
|
|
66
|
-
1. **エラー修正連鎖** - 根本原因分析なしの表面的な修正
|
|
67
|
-
2. **型安全性の放棄** - any/asの過剰使用
|
|
68
|
-
3. **不十分なテスト** - Red-Green-Refactorのスキップ
|
|
69
|
-
4. **技術的不確実性** - スパイクなしでの未知技術の採用
|
|
70
|
-
5. **調査不足** - 既存コードを確認せずに開始
|
|
71
|
-
|
|
72
|
-
### 初動アクションガイダンス
|
|
73
|
-
|
|
74
|
-
分析に基づいて具体的な最初のステップを提供:
|
|
75
|
-
|
|
76
|
-
```yaml
|
|
77
|
-
firstActionGuidance:
|
|
78
|
-
action: "[使用すべき具体的なツールまたはアクション]"
|
|
79
|
-
rationale: "[なぜこれが最初のステップであるべきか]"
|
|
80
|
-
expectedOutcome: "[このアクションで何が明らかになるか]"
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## 出力形式
|
|
84
|
-
|
|
85
|
-
タスクを分析する際、構造化されたJSONを返却:
|
|
86
|
-
|
|
87
|
-
```json
|
|
88
|
-
{
|
|
89
|
-
"taskEssence": {
|
|
90
|
-
"surfaceRequest": "...",
|
|
91
|
-
"underlyingGoal": "...",
|
|
92
|
-
"implicitRequirements": ["..."],
|
|
93
|
-
"scaleDetermination": {
|
|
94
|
-
"fileCount": "...",
|
|
95
|
-
"scale": "...",
|
|
96
|
-
"confidence": "..."
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
"applicableSkills": [
|
|
100
|
-
{
|
|
101
|
-
"name": "...",
|
|
102
|
-
"relevance": "primary|secondary",
|
|
103
|
-
"sections": ["..."]
|
|
104
|
-
}
|
|
105
|
-
],
|
|
106
|
-
"warningPatterns": [
|
|
107
|
-
{
|
|
108
|
-
"pattern": "...",
|
|
109
|
-
"risk": "...",
|
|
110
|
-
"mitigation": "..."
|
|
111
|
-
}
|
|
112
|
-
],
|
|
113
|
-
"firstActionGuidance": {
|
|
114
|
-
"action": "...",
|
|
115
|
-
"rationale": "...",
|
|
116
|
-
"expectedOutcome": "..."
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## TodoWriteとの統合
|
|
122
|
-
|
|
123
|
-
task-analyzer完了後:
|
|
124
|
-
|
|
125
|
-
1. **TodoWriteを更新**: taskEssenceに基づいてタスク説明を精緻化
|
|
126
|
-
2. **スキル制約を追加**: 最初のtodoとして「スキル制約の確認」
|
|
127
|
-
3. **検証を追加**: 最終todoとして「スキル忠実度の検証」
|
|
128
|
-
4. **警告を反映**: 失敗パターンを避けるためタスク分解に反映
|
|
129
|
-
|
|
130
|
-
## 使用パターン
|
|
131
|
-
|
|
132
|
-
1. ユーザーから新規タスクを受け取る
|
|
133
|
-
2. task-analyzerを実行して本質を理解
|
|
134
|
-
3. 適用するスキルを読み込む
|
|
135
|
-
4. 精緻化した理解でTodoWriteを更新
|
|
136
|
-
5. スキルガイドラインに従って実装開始
|
|
137
|
-
6. 完了時にスキル忠実度を検証
|
|
138
|
-
|
|
139
|
-
## リファレンス
|
|
140
|
-
|
|
141
|
-
スキルのメタデータと選択:
|
|
142
|
-
- [スキルインデックス](references/skills-index.yaml) - 利用可能なすべてのスキルのメタデータ(タグ、典型的な使用法、主要な参照先を含む)
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
# スキルメタデータインデックス
|
|
2
|
-
# rule-advisorがタスク分析に基づいて適切なスキルを選択するために使用
|
|
3
|
-
|
|
4
|
-
skills:
|
|
5
|
-
coding-standards:
|
|
6
|
-
skill: "coding-standards"
|
|
7
|
-
tags: [anti-patterns, technical-judgment, debugging, rule-of-three, implementation, type-safety, refactoring, code-reading, best-practices, impact-analysis, unused-code, code-deletion, testing, tdd]
|
|
8
|
-
typical-use: "全ドメイン共通の技術的判断基準、アンチパターン検出、デバッグ手法、実装時のベストプラクティス、影響範囲調査、未使用コード削除、テスト設計原則"
|
|
9
|
-
size: large
|
|
10
|
-
key-references:
|
|
11
|
-
- "Rule of Three - Martin Fowler"
|
|
12
|
-
- "5 Whys - トヨタ生産方式"
|
|
13
|
-
- "DRY原則 - The Pragmatic Programmer"
|
|
14
|
-
- "単一責任原則(SRP) - Clean Code"
|
|
15
|
-
- "YAGNI原則 - Extreme Programming"
|
|
16
|
-
- "Avoiding fallback in distributed systems - AWS Builders' Library"
|
|
17
|
-
- "Test-Driven Development - Kent Beck"
|
|
18
|
-
- "Red-Green-Refactor - Kent Beck"
|
|
19
|
-
- "AAAパターン - Arrange-Act-Assert"
|
|
20
|
-
sections:
|
|
21
|
-
- "技術的アンチパターン(赤信号パターン)"
|
|
22
|
-
- "基本原則"
|
|
23
|
-
- "コメント記述ルール"
|
|
24
|
-
- "エラーハンドリングの基本原則"
|
|
25
|
-
- "Rule of Three - コード重複の判断基準"
|
|
26
|
-
- "よくある失敗パターンと回避方法"
|
|
27
|
-
- "デバッグ手法"
|
|
28
|
-
- "型安全性の基礎"
|
|
29
|
-
- "リファクタリング手法"
|
|
30
|
-
- "技術的判断が必要な場面"
|
|
31
|
-
- "継続的改善のマインドセット"
|
|
32
|
-
- "実装作業の完全性担保"
|
|
33
|
-
- "Red-Green-Refactorプロセス(テストファースト開発)"
|
|
34
|
-
- "テスト設計原則"
|
|
35
|
-
- "テストヘルパーの活用ルール"
|
|
36
|
-
- "テストの粒度原則"
|
|
37
|
-
- "継続性テストの範囲"
|
|
38
|
-
|
|
39
|
-
typescript-rules:
|
|
40
|
-
skill: "typescript-rules"
|
|
41
|
-
tags: [implementation, type-safety, async, coding-style, functional-programming, dependency-injection, backend]
|
|
42
|
-
typical-use: "バックエンドTypeScriptコードの作成・修正、クラス使用判断、DI実装"
|
|
43
|
-
size: small
|
|
44
|
-
key-references:
|
|
45
|
-
- "Dependency Injection - Martin Fowler"
|
|
46
|
-
sections:
|
|
47
|
-
- "Backend実装における型安全性"
|
|
48
|
-
- "コーディング規約"
|
|
49
|
-
- "エラーハンドリング"
|
|
50
|
-
- "パフォーマンス最適化"
|
|
51
|
-
|
|
52
|
-
typescript-testing:
|
|
53
|
-
skill: "typescript-testing"
|
|
54
|
-
tags: [quality, testing, coverage, vitest, backend, implementation]
|
|
55
|
-
typical-use: "バックエンドテスト作成、Vitest設定、70%カバレッジ要件、テスト品質基準"
|
|
56
|
-
size: small
|
|
57
|
-
key-references:
|
|
58
|
-
- "Vitest公式ドキュメント"
|
|
59
|
-
sections:
|
|
60
|
-
- "テストフレームワーク"
|
|
61
|
-
- "テストの基本方針"
|
|
62
|
-
- "テストの実装規約"
|
|
63
|
-
- "テスト品質基準"
|
|
64
|
-
- "モックの型安全性"
|
|
65
|
-
- "Vitestの基本例"
|
|
66
|
-
|
|
67
|
-
technical-spec:
|
|
68
|
-
skill: "technical-spec"
|
|
69
|
-
tags: [architecture, design, documentation, environment, data-flow, implementation, quality-commands, testing, build]
|
|
70
|
-
typical-use: "技術設計、環境設定、ドキュメント作成プロセス、実装方針決定、品質チェックコマンド、ビルドとテスト実行"
|
|
71
|
-
size: medium
|
|
72
|
-
key-references:
|
|
73
|
-
- "ADRフォーマット - Michael Nygard"
|
|
74
|
-
- "単一データソース原則 - Single Source of Truth"
|
|
75
|
-
sections:
|
|
76
|
-
- "技術スタックの基本方針"
|
|
77
|
-
- "環境変数管理とセキュリティ"
|
|
78
|
-
- "アーキテクチャ設計"
|
|
79
|
-
- "パターン適用の一貫性"
|
|
80
|
-
- "データフロー統一原則"
|
|
81
|
-
- "ビルドとテスト"
|
|
82
|
-
|
|
83
|
-
project-context:
|
|
84
|
-
skill: "project-context"
|
|
85
|
-
tags: [context, project-specific, implementation]
|
|
86
|
-
typical-use: "プロジェクト固有情報、実装原則の理解"
|
|
87
|
-
size: small
|
|
88
|
-
key-references:
|
|
89
|
-
- "プロジェクト固有(経験則)"
|
|
90
|
-
sections:
|
|
91
|
-
- "基本設定"
|
|
92
|
-
- "実装原則"
|
|
93
|
-
- "カスタマイズガイド"
|
|
94
|
-
|
|
95
|
-
documentation-criteria:
|
|
96
|
-
skill: "documentation-criteria"
|
|
97
|
-
tags: [documentation, decision-making, adr, prd, design-doc, planning, process]
|
|
98
|
-
typical-use: "実装開始時の規模判定、ドキュメント作成判定、ADR/PRD/Design Doc/作業計画書の作成基準"
|
|
99
|
-
size: medium
|
|
100
|
-
key-references:
|
|
101
|
-
- "ADR手法 - Michael Nygard"
|
|
102
|
-
- "Design Doc文化 - Google Engineering Practices"
|
|
103
|
-
- "Single Source of Truth"
|
|
104
|
-
sections:
|
|
105
|
-
- "作成判定マトリクス"
|
|
106
|
-
- "ADR作成条件(いずれか該当で必須)"
|
|
107
|
-
- "各ドキュメントの詳細定義"
|
|
108
|
-
- "作成プロセス"
|
|
109
|
-
- "保存場所"
|
|
110
|
-
- "ADRステータス"
|
|
111
|
-
- "AI自動化ルール"
|
|
112
|
-
- "図表作成要件"
|
|
113
|
-
- "共通ADRとの関係性"
|
|
114
|
-
|
|
115
|
-
implementation-approach:
|
|
116
|
-
skill: "implementation-approach"
|
|
117
|
-
tags: [architecture, implementation, task-decomposition, strategy-patterns, strangler-pattern, facade-pattern, design, planning, confirmation-levels]
|
|
118
|
-
typical-use: "実装戦略の選択、タスク分解、設計判断、大規模変更の計画"
|
|
119
|
-
size: medium
|
|
120
|
-
key-references:
|
|
121
|
-
- "Strangler Fig Pattern - Martin Fowler"
|
|
122
|
-
- "Feature Slicing - Martin Fowler"
|
|
123
|
-
- "Walking Skeleton - Alistair Cockburn"
|
|
124
|
-
- "Facade Pattern - Gang of Four"
|
|
125
|
-
sections:
|
|
126
|
-
- "メタ認知的戦略選択プロセス"
|
|
127
|
-
- "確認レベル定義"
|
|
128
|
-
- "統合ポイントの定義"
|
|
129
|
-
- "アンチパターン"
|
|
130
|
-
- "メタ認知的実行のための指針"
|
|
131
|
-
|
|
132
|
-
integration-e2e-testing:
|
|
133
|
-
skill: "integration-e2e-testing"
|
|
134
|
-
tags: [testing, integration-test, e2e-test, property-based-testing, fast-check, test-skeleton, test-review, quality]
|
|
135
|
-
typical-use: "統合テスト・E2Eテストのスケルトン生成、テスト実装、テストレビュー、Property-Based Test実装"
|
|
136
|
-
size: small
|
|
137
|
-
key-references:
|
|
138
|
-
- "fast-check - Property-based testing for TypeScript"
|
|
139
|
-
- "Node.js Testing Best Practices - Yoni Goldberg"
|
|
140
|
-
- "Property-Based Testing - 2025 Practices"
|
|
141
|
-
sections:
|
|
142
|
-
- "テスト種別と上限"
|
|
143
|
-
- "振る舞い優先の原則"
|
|
144
|
-
- "スケルトン仕様"
|
|
145
|
-
- "実装ルール"
|
|
146
|
-
- "レビュー基準"
|
|
147
|
-
|
|
148
|
-
subagents-orchestration-guide:
|
|
149
|
-
skill: "subagents-orchestration-guide"
|
|
150
|
-
tags: [orchestration, subagents, workflow, scale-determination, document-requirements, autonomous-execution]
|
|
151
|
-
typical-use: "サブエージェントのワークフロー調整、規模判定、ドキュメント要件"
|
|
152
|
-
size: medium
|
|
153
|
-
key-references:
|
|
154
|
-
- "ワークフロー調整パターン"
|
|
155
|
-
- "エージェント連携パターン"
|
|
156
|
-
sections:
|
|
157
|
-
- "規模判定"
|
|
158
|
-
- "ドキュメント要件"
|
|
159
|
-
- "停止ポイント"
|
|
160
|
-
- "自律実行モード"
|
|
161
|
-
|
|
162
|
-
# フロントエンド固有スキル
|
|
163
|
-
frontend/typescript-rules:
|
|
164
|
-
skill: "frontend/typescript-rules"
|
|
165
|
-
tags: [frontend, react, implementation, type-safety, props-driven, hooks, component-design, vite, error-boundary]
|
|
166
|
-
typical-use: "React/Viteでのフロントエンド開発、コンポーネント設計、Props設計、環境変数管理"
|
|
167
|
-
size: small
|
|
168
|
-
key-references:
|
|
169
|
-
- "React公式ドキュメント - Function Components"
|
|
170
|
-
- "Props-driven開発 - React Patterns"
|
|
171
|
-
sections:
|
|
172
|
-
- "フロントエンド固有のアンチパターン"
|
|
173
|
-
- "Frontend実装における型安全性"
|
|
174
|
-
- "コーディング規約"
|
|
175
|
-
- "エラーハンドリング"
|
|
176
|
-
- "パフォーマンス最適化"
|
|
177
|
-
|
|
178
|
-
frontend/typescript-testing:
|
|
179
|
-
skill: "frontend/typescript-testing"
|
|
180
|
-
tags: [frontend, react, quality, testing, coverage, vitest, react-testing-library, msw, component-testing, implementation]
|
|
181
|
-
typical-use: "Reactコンポーネントのテスト作成、React Testing Library、MSW、60%カバレッジ要件、Co-location"
|
|
182
|
-
size: small
|
|
183
|
-
key-references:
|
|
184
|
-
- "React Testing Library - Kent C. Dodds"
|
|
185
|
-
- "MSW (Mock Service Worker) - API Mocking"
|
|
186
|
-
- "ADR-0002 Co-location原則"
|
|
187
|
-
sections:
|
|
188
|
-
- "テストフレームワーク"
|
|
189
|
-
- "テストの基本方針"
|
|
190
|
-
- "テストの実装規約"
|
|
191
|
-
- "モックの型安全性の徹底"
|
|
192
|
-
- "React Testing Libraryの基本例"
|
|
193
|
-
|
|
194
|
-
frontend/technical-spec:
|
|
195
|
-
skill: "frontend/technical-spec"
|
|
196
|
-
tags: [frontend, react, architecture, design, documentation, environment, data-flow, implementation, vite, security, client-side, state-management, context-api, hooks, lighthouse, bundle-size, non-functional-requirements]
|
|
197
|
-
typical-use: "フロントエンド技術設計、環境変数管理(Vite)、セキュリティ制約、アーキテクチャ設計、状態管理パターン、実装方針決定、非機能要件の確認"
|
|
198
|
-
size: medium
|
|
199
|
-
key-references:
|
|
200
|
-
- "Vite公式ドキュメント - Environment Variables"
|
|
201
|
-
- "React公式ドキュメント - State Management"
|
|
202
|
-
- "Single Source of Truth - データフロー原則"
|
|
203
|
-
- "Immutable Update Patterns - React"
|
|
204
|
-
- "Lighthouse - Google Web Performance"
|
|
205
|
-
- "Web.dev - Performance Best Practices"
|
|
206
|
-
sections:
|
|
207
|
-
- "技術スタックの基本方針"
|
|
208
|
-
- "環境変数管理とセキュリティ"
|
|
209
|
-
- "アーキテクチャ設計"
|
|
210
|
-
- "データフロー統一原則"
|
|
211
|
-
- "ビルドとテスト"
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: technical-spec
|
|
3
|
-
description: 環境変数管理、アーキテクチャ設計、ビルド・テストコマンドを含む技術設計ルール。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# 技術設計ルール
|
|
7
|
-
|
|
8
|
-
## 技術スタックの基本方針
|
|
9
|
-
TypeScriptをベースとしたアプリケーション実装。アーキテクチャパターンはプロジェクトの要件と規模に応じて選択すること。
|
|
10
|
-
|
|
11
|
-
## 環境変数管理とセキュリティ
|
|
12
|
-
|
|
13
|
-
### 環境変数管理
|
|
14
|
-
- 環境変数は一元管理し、型安全性を確保する仕組みを構築すること
|
|
15
|
-
- `process.env` の直接参照は避け、設定管理層を通じて取得すること
|
|
16
|
-
- デフォルト値の設定や必須チェックを適切に実装すること
|
|
17
|
-
|
|
18
|
-
### セキュリティ
|
|
19
|
-
- `.env`ファイルはGitに含めない
|
|
20
|
-
- APIキーやシークレットは必ず環境変数として管理
|
|
21
|
-
- 機密情報のログ出力は禁止
|
|
22
|
-
- エラーメッセージに機密情報を含めない
|
|
23
|
-
|
|
24
|
-
## アーキテクチャ設計
|
|
25
|
-
|
|
26
|
-
### アーキテクチャ設計の原則
|
|
27
|
-
プロジェクトごとに適切なアーキテクチャを選択し、明確に定義すること:
|
|
28
|
-
|
|
29
|
-
- **責務の分離**: 各層やモジュールの責務を明確に定義し、境界を守ること
|
|
30
|
-
|
|
31
|
-
## データフロー統一原則
|
|
32
|
-
|
|
33
|
-
#### 基本原則
|
|
34
|
-
1. **単一データソース**: 同じ情報は1箇所にのみ保存する
|
|
35
|
-
2. **構造化データ優先**: JSON文字列ではなくパース済みオブジェクトを使用
|
|
36
|
-
3. **明確な責務分離**: 各層の責務を明確に定義
|
|
37
|
-
|
|
38
|
-
#### データフローのベストプラクティス
|
|
39
|
-
- **入力時点での検証**: データは入力層で検証し、型安全な形で内部に渡す
|
|
40
|
-
- **変換の一元化**: データ変換ロジックは専用のユーティリティに集約
|
|
41
|
-
- **ログの構造化**: データフローの各段階で構造化ログを出力
|
|
42
|
-
|
|
43
|
-
## ビルドとテスト
|
|
44
|
-
package.jsonの`packageManager`フィールドに応じた実行コマンドを使用すること。
|
|
45
|
-
|
|
46
|
-
### ビルドコマンド
|
|
47
|
-
- `build` - TypeScriptビルド
|
|
48
|
-
- `type-check` - 型チェック(emit なし)
|
|
49
|
-
|
|
50
|
-
### テストコマンド
|
|
51
|
-
- `test` - テスト実行
|
|
52
|
-
- `test:coverage` - カバレッジ測定
|
|
53
|
-
- `test:coverage:fresh` - カバレッジ測定(キャッシュクリア)
|
|
54
|
-
- `test:safe` - 安全なテスト実行(自動クリーンアップ付き)
|
|
55
|
-
- `cleanup:processes` - Vitestプロセスのクリーンアップ
|
|
56
|
-
|
|
57
|
-
### 品質チェック要件
|
|
58
|
-
|
|
59
|
-
品質チェックは実装完了時に必須:
|
|
60
|
-
|
|
61
|
-
**Phase 1-3: コード品質チェック**
|
|
62
|
-
- `check` - Biome(lint + format)
|
|
63
|
-
- `check:unused` - 未使用エクスポートの検出
|
|
64
|
-
- `check:deps` - 循環依存の検出
|
|
65
|
-
- `build` - TypeScriptビルド
|
|
66
|
-
|
|
67
|
-
**Phase 4: テスト**
|
|
68
|
-
- `test` - テスト実行
|
|
69
|
-
|
|
70
|
-
**Phase 5: コード品質再検証**
|
|
71
|
-
- `check:code` - コード品質の再検証(Phase 4でのテスト修正による副作用を清掃)
|
|
72
|
-
|
|
73
|
-
### 補助コマンド
|
|
74
|
-
- `check:all` - 全体統合チェック(check:code + test)※手動一括確認用
|
|
75
|
-
- `open coverage/index.html` - カバレッジレポート確認
|
|
76
|
-
- `format` - フォーマット修正
|
|
77
|
-
- `lint:fix` - Lint修正
|
|
78
|
-
|
|
79
|
-
### トラブルシューティング
|
|
80
|
-
- **ポート使用中エラー**: `cleanup:processes` スクリプトを実行
|
|
81
|
-
- **キャッシュ問題**: `test:coverage:fresh` スクリプトを実行
|
|
82
|
-
- **依存関係エラー**: 依存関係のクリーンインストールを実行
|
|
83
|
-
|
|
84
|
-
### カバレッジ要件
|
|
85
|
-
- **必須**: ユニットテストカバレッジは70%以上
|
|
86
|
-
- **メトリクス**: Statements、Branches、Functions、Lines
|