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.
Files changed (48) hide show
  1. package/package.json +1 -1
  2. package/.claude/agents/acceptance-test-generator.md +0 -250
  3. package/.claude/agents/code-reviewer.md +0 -187
  4. package/.claude/agents/design-sync.md +0 -221
  5. package/.claude/agents/document-reviewer.md +0 -187
  6. package/.claude/agents/integration-test-reviewer.md +0 -192
  7. package/.claude/agents/prd-creator.md +0 -190
  8. package/.claude/agents/quality-fixer-frontend.md +0 -324
  9. package/.claude/agents/quality-fixer.md +0 -281
  10. package/.claude/agents/requirement-analyzer.md +0 -161
  11. package/.claude/agents/rule-advisor.md +0 -175
  12. package/.claude/agents/task-decomposer.md +0 -285
  13. package/.claude/agents/task-executor-frontend.md +0 -264
  14. package/.claude/agents/task-executor.md +0 -258
  15. package/.claude/agents/technical-designer-frontend.md +0 -444
  16. package/.claude/agents/technical-designer.md +0 -368
  17. package/.claude/agents/work-planner.md +0 -208
  18. package/.claude/commands/build.md +0 -75
  19. package/.claude/commands/design.md +0 -37
  20. package/.claude/commands/front-build.md +0 -103
  21. package/.claude/commands/front-design.md +0 -42
  22. package/.claude/commands/front-plan.md +0 -40
  23. package/.claude/commands/implement.md +0 -73
  24. package/.claude/commands/plan.md +0 -43
  25. package/.claude/commands/project-inject.md +0 -76
  26. package/.claude/commands/refine-skill.md +0 -206
  27. package/.claude/commands/review.md +0 -78
  28. package/.claude/commands/sync-skills.md +0 -116
  29. package/.claude/commands/task.md +0 -13
  30. package/.claude/settings.local.json +0 -94
  31. package/.claude/skills/coding-standards/SKILL.md +0 -246
  32. package/.claude/skills/documentation-criteria/SKILL.md +0 -193
  33. package/.claude/skills/documentation-criteria/references/adr-template.md +0 -64
  34. package/.claude/skills/documentation-criteria/references/design-template.md +0 -242
  35. package/.claude/skills/documentation-criteria/references/plan-template.md +0 -130
  36. package/.claude/skills/documentation-criteria/references/prd-template.md +0 -109
  37. package/.claude/skills/frontend/technical-spec/SKILL.md +0 -147
  38. package/.claude/skills/frontend/typescript-rules/SKILL.md +0 -315
  39. package/.claude/skills/frontend/typescript-testing/SKILL.md +0 -212
  40. package/.claude/skills/implementation-approach/SKILL.md +0 -141
  41. package/.claude/skills/integration-e2e-testing/SKILL.md +0 -146
  42. package/.claude/skills/project-context/SKILL.md +0 -42
  43. package/.claude/skills/subagents-orchestration-guide/SKILL.md +0 -212
  44. package/.claude/skills/task-analyzer/SKILL.md +0 -142
  45. package/.claude/skills/task-analyzer/references/skills-index.yaml +0 -211
  46. package/.claude/skills/technical-spec/SKILL.md +0 -86
  47. package/.claude/skills/typescript-rules/SKILL.md +0 -121
  48. package/.claude/skills/typescript-testing/SKILL.md +0 -155
@@ -1,37 +0,0 @@
1
- ---
2
- description: 要件分析から設計書作成まで実行
3
- ---
4
-
5
- **コマンドコンテキスト**: このコマンドは設計フェーズ専用です。
6
-
7
- subagents-orchestration-guideスキルの設計フローに従い、**requirement-analyzer から設計書作成・承認まで**を実行します。
8
-
9
- 要件: $ARGUMENTS
10
-
11
- **Think harder** 設計への影響を深く考慮し、まず要件の背景と目的を理解するため対話を行い:
12
- - どのような問題を解決したいか
13
- - 期待される成果と成功基準
14
- - 既存システムとの関係性
15
-
16
- 適度に要件が明確になったら、requirement-analyzerで分析し、規模に応じた適切な設計書を作成します。
17
-
18
- 設計の代替案とトレードオフを明確に提示します。
19
-
20
- **スコープ**: 設計書(ADR/Design Doc)承認+Design Doc間整合性確認まで。作業計画以降は本コマンドの責務外。
21
-
22
- ## 実行フロー
23
-
24
- 1. requirement-analyzer → 要件分析
25
- 2. technical-designer → Design Doc作成
26
- 3. document-reviewer → 単一ドキュメント品質チェック
27
- 4. ユーザー承認
28
- 5. design-sync → Design Doc間整合性検証
29
- - 矛盾あり → ユーザーに報告 → 修正指示待ち → technical-designer(update)で修正
30
- - 矛盾なし → 終了
31
-
32
- ## 出力例
33
- 設計フェーズが完了しました。
34
- - 設計書: docs/design/[ドキュメント名].md
35
- - 整合性: 他Design Docと矛盾なし(または修正完了)
36
-
37
- **重要**: 本コマンドは設計承認+整合性確認で終了。次フェーズへの移行提案は行わない。
@@ -1,103 +0,0 @@
1
- ---
2
- description: フロントエンド実装を自律実行モードで実行
3
- ---
4
-
5
- **コマンドコンテキスト**: オーケストレーターとして、フロントエンド実装の自律実行モードの完遂を自己完結します。
6
-
7
- 作業計画: $ARGUMENTS
8
-
9
- ## 📋 実行前提条件
10
-
11
- ### タスクファイル存在チェック
12
- ```bash
13
- # 作業計画書を確認
14
- ! ls -la docs/plans/*.md | grep -v template | tail -5
15
-
16
- # タスクファイルを確認
17
- ! ls docs/plans/tasks/*.md 2>/dev/null || echo "⚠️ タスクファイルが見つかりません"
18
- ```
19
-
20
- ### タスク生成判定フロー
21
-
22
- **THINK DEEPLY AND SYSTEMATICALLY**: タスクファイルの存在状態を分析し、必要な正確なアクションを決定:
23
-
24
- | 状態 | 基準 | 次のアクション |
25
- |------|------|--------------|
26
- | タスク存在 | tasks/ディレクトリに.mdファイルあり | 自律実行へ進む |
27
- | タスクなし+計画あり | 計画書は存在するがタスクファイルなし | ユーザー確認 → task-decomposer実行 |
28
- | どちらもなし | 計画書もタスクファイルもなし | エラー: 前提条件未達成 |
29
-
30
- ## 🔄 タスク分解フェーズ(条件付き)
31
-
32
- タスクファイルが存在しない場合:
33
-
34
- ### 1. ユーザー確認
35
- ```
36
- タスクファイルが見つかりません。
37
- 作業計画: docs/plans/[plan-name].md
38
-
39
- 作業計画からタスクを生成しますか? (y/n):
40
- ```
41
-
42
- ### 2. タスク分解(承認された場合)
43
- ```
44
- @task-decomposer 作業計画を読み込み、アトミックなタスクに分解:
45
- - 入力: docs/plans/[plan-name].md
46
- - 出力: docs/plans/tasks/ 配下の個別タスクファイル
47
- - 粒度: 1タスク = 1コミット = 独立実行可能
48
- ```
49
-
50
- ### 3. 生成確認
51
- ```bash
52
- # 生成されたタスクファイルを確認
53
- ! ls -la docs/plans/tasks/*.md | head -10
54
- ```
55
-
56
- ✅ **必須**: タスク生成後、自動的に自律実行へ進む
57
- ❌ **禁止**: タスク生成なしで実装開始
58
-
59
- ## 🧠 各タスクのメタ認知 - フロントエンド特化
60
-
61
- **必須実行サイクル**: `task-executor-frontend → quality-fixer-frontend → commit`
62
-
63
- ### サブエージェント呼び出し方法
64
- Taskツールを使用してサブエージェントを呼び出す:
65
- - `subagent_type`: エージェント名
66
- - `description`: タスクの簡潔な説明(3-5語)
67
- - `prompt`: 具体的な指示内容
68
-
69
- ### 構造化レスポンス仕様
70
- 各サブエージェントはJSON形式で応答:
71
- - **task-executor-frontend**: status, filesModified, testsAdded, readyForQualityCheck
72
- - **quality-fixer-frontend**: status, checksPerformed, fixesApplied, approved
73
-
74
- ### 各タスクの実行フロー
75
-
76
- 各タスクで実行:
77
-
78
- 1. **task-executor-frontend使用**: フロントエンド実装を実行
79
- - 呼び出し例: `subagent_type: "task-executor-frontend"`, `description: "タスク実行"`, `prompt: "タスクファイル: docs/plans/tasks/[ファイル名].md 実装を実行"`
80
- 2. **構造化レスポンス処理**: `readyForQualityCheck: true` 検出時 → 即座にquality-fixer-frontend実行
81
- 3. **quality-fixer-frontend使用**: 全品質チェック実行(Biome、TypeScriptビルド、テスト)
82
- - 呼び出し例: `subagent_type: "quality-fixer-frontend"`, `description: "品質チェック"`, `prompt: "全てのフロントエンド品質チェックと修正を実行"`
83
- 4. **コミット実行**: `approved: true`確認後、即座にgit commitを実行
84
-
85
- ### 自律実行中の品質保証(詳細)
86
- - task-executor-frontend実行 → quality-fixer-frontend実行 → **私(メインAI)がコミット実行**(Bashツール使用)
87
- - quality-fixer-frontendの`approved: true`確認後、即座にgit commitを実行
88
- - changeSummaryをコミットメッセージに使用
89
-
90
- **THINK DEEPLY**: 例外なく全ての構造化レスポンスを監視し、全ての品質ゲートが通過することを確保。
91
-
92
- ! ls -la docs/plans/*.md | head -10
93
-
94
- 承認ステータスを確認してから進む。確認後、自律実行モードを開始。要件変更を検出したら即座に停止。
95
-
96
- ## 出力例
97
- フロントエンド実装フェーズ完了。
98
- - タスク分解: docs/plans/tasks/ 配下に生成
99
- - 実装タスク: [件数] タスク
100
- - 品質チェック: 全てパス(Biome、TypeScriptビルド、テスト)
101
- - コミット: [件数] コミット作成
102
-
103
- **重要**: このコマンドは、タスク分解から完了までのフロントエンド実装全体の自律実行フローを管理します。フロントエンド特化エージェント(task-executor-frontend、quality-fixer-frontend)を自動使用します。
@@ -1,42 +0,0 @@
1
- ---
2
- description: 要件分析からフロントエンド設計ドキュメント作成まで実行
3
- ---
4
-
5
- **コマンドコンテキスト**: このコマンドはフロントエンド設計フェーズ専用です。
6
-
7
- **要件分析からフロントエンド設計ドキュメント作成・承認まで**を実行します。
8
-
9
- 要件: $ARGUMENTS
10
-
11
- ## 実行フロー
12
-
13
- ### 1. 要件分析フェーズ
14
- **Think harder**: 設計への影響が深いことを考慮し、まず対話により要件の背景と目的を理解:
15
- - 何の問題を解決したいか
16
- - 期待する成果と成功基準
17
- - 既存システムとの関係
18
-
19
- 要件がある程度明確になったら:
20
- - Taskツールで **requirement-analyzer** を呼び出し
21
- - `subagent_type: "requirement-analyzer"`
22
- - `description: "要件分析"`
23
- - `prompt: "要件: [ユーザー要件] 要件分析と規模判定を実施してください"`
24
- - **[停止]**: 要件分析結果を確認し、質問事項に対応
25
-
26
- ### 2. 設計ドキュメント作成フェーズ
27
- 規模判定に応じて適切な設計ドキュメントを作成:
28
- - Taskツールで **technical-designer-frontend** を呼び出し
29
- - ADRの場合: `subagent_type: "technical-designer-frontend"`, `description: "ADR作成"`, `prompt: "[技術決定]のADRを作成"`
30
- - Design Docの場合: `subagent_type: "technical-designer-frontend"`, `description: "Design Doc作成"`, `prompt: "要件に基づいてDesign Docを作成"`
31
- - Taskツールで **document-reviewer** を呼び出して整合性検証
32
- - `subagent_type: "document-reviewer"`, `description: "ドキュメントレビュー"`, `prompt: "[ドキュメントパス]の整合性と完成度をレビュー"`
33
- - **[停止]**: 設計の選択肢とトレードオフを提示し、ユーザー承認を取得
34
-
35
- **スコープ**: フロントエンド設計ドキュメント(ADR/Design Doc)の承認まで。作業計画以降はこのコマンドの範囲外。
36
-
37
- ## 出力例
38
- フロントエンド設計フェーズ完了。
39
- - 設計ドキュメント: docs/design/[ドキュメント名].md または docs/adr/[ドキュメント名].md
40
- - 承認ステータス: ユーザー承認済み
41
-
42
- **重要**: このコマンドは設計承認で終了。次フェーズへの移行は提案しません。
@@ -1,40 +0,0 @@
1
- ---
2
- description: 設計ドキュメントからフロントエンド作業計画書を作成し計画承認を取得
3
- ---
4
-
5
- **コマンドコンテキスト**: このコマンドはフロントエンド計画フェーズ専用です。
6
-
7
- 以下のプロセスでフロントエンド作業計画書を作成:
8
-
9
- ## 実行プロセス
10
-
11
- ### 1. 設計ドキュメント選択
12
- ! ls -la docs/design/*.md | head -10
13
- - 設計ドキュメントの存在を確認、なければユーザーに通知
14
- - 複数ある場合は選択肢を提示($ARGUMENTSで指定可能)
15
-
16
- ### 2. 作業計画書作成
17
- Taskツールで **work-planner** を呼び出し:
18
- - `subagent_type: "work-planner"`
19
- - `description: "作業計画書作成"`
20
- - `prompt: "[パス]のDesign Docから作業計画を作成"`
21
- - ユーザーと対話して計画を完成させ、計画内容の承認を得る
22
-
23
- **深く考える** 選択された設計ドキュメントから作業計画を作成し、具体的な実装ステップとリスクを明確化。
24
-
25
- **スコープ**: 作業計画書作成と計画内容の承認取得まで。
26
-
27
- ## 完了時のレスポンス
28
- ✅ **推奨**: 計画内容承認後、以下の標準レスポンスで終了
29
- ```
30
- フロントエンド計画フェーズ完了。
31
- - 作業計画: docs/plans/[計画名].md
32
- - ステータス: 承認済み
33
-
34
- 実装は別途指示してください。
35
- ```
36
-
37
- ❌ **回避**: 計画承認後の追加処理(タスク分解、実装開始等)
38
- - 理由: 計画フェーズの範囲を超える
39
-
40
- **責任範囲**: このコマンドはフロントエンド計画フェーズを担当し、計画内容承認で責任完了。実装フェーズは責任範囲外のため品質保証できず、自動移行しません。
@@ -1,73 +0,0 @@
1
- ---
2
- description: オーケストレーターとして要件分析から実装まで完全サイクルを管理
3
- ---
4
-
5
- **コマンドコンテキスト**: 実装の完全サイクル管理(要件分析→設計→計画→実装→品質保証)
6
-
7
- subagents-orchestration-guideスキルの指針に従い、オーケストレーターとして振る舞います。
8
-
9
- ## 実行判断フロー
10
-
11
- ### 1. 現在状況の判定
12
- 指示内容: $ARGUMENTS
13
-
14
- **Think deeply** 現在の状況を判定:
15
-
16
- | 状況パターン | 判定基準 | 次のアクション |
17
- |------------|---------|-------------|
18
- | 新規要件 | 既存作業なし、新しい機能/修正依頼 | requirement-analyzerから開始 |
19
- | フロー継続 | 既存ドキュメント/タスクあり、継続指示 | subagents-orchestration-guideスキルのフローで次のステップを特定 |
20
- | 品質エラー | エラー検出、テスト失敗、ビルドエラー | quality-fixer実行 |
21
- | 不明瞭 | 意図が曖昧、複数の解釈が可能 | ユーザーに確認 |
22
-
23
- ### 2. 継続時の進捗確認
24
- フロー継続の場合、以下を確認:
25
- - 最新の成果物(PRD/ADR/Design Doc/作業計画書/タスク)
26
- - 現在のフェーズ位置(要件/設計/計画/実装/品質保証)
27
- - subagents-orchestration-guideスキルの該当フローで次のステップを特定
28
-
29
- ### 3. 規模判定後:TodoWriteにフロー全ステップを登録(必須)
30
-
31
- 規模判定完了後、**subagents-orchestration-guideスキルの該当フロー全ステップをTodoWriteに登録**。最初に「スキル制約の確認」、最後に「スキル忠実度の検証」を必ず含める。登録後、TodoWriteを参照してフローを進める。
32
-
33
- ### 4. 次のアクション実行
34
-
35
- **TodoWriteの次のpendingタスクを実行**。
36
-
37
- ## 📋 subagents-orchestration-guideスキル準拠の実行
38
-
39
- **実行前チェック(必須)**:
40
- - [ ] subagents-orchestration-guideスキルの該当フローを確認した
41
- - [ ] 現在の進捗位置を特定した
42
- - [ ] 次のステップを明確にした
43
- - [ ] 停止ポイントを認識した
44
- - [ ] タスク実行後の4ステップサイクル(task-executor → エスカレーション判定・フォローアップ → quality-fixer → commit)を理解した
45
-
46
- **フロー厳守**: subagents-orchestration-guideスキルの「自律実行中のタスク管理」に従い、TodoWriteで4ステップを管理する
47
-
48
- ## 🚨 サブエージェント呼び出し時の制約
49
-
50
- サブエージェントからrule-advisorを呼び出すとシステムクラッシュが発生するため、プロンプト末尾に以下を含める:
51
- ```
52
- 【制約】rule-advisorはメインAIのみが使用可能です
53
- ```
54
-
55
- ## 🎯 オーケストレーターとしての必須責務
56
-
57
- ### タスク実行フロー
58
- subagents-orchestration-guideスキルの「自律実行中のタスク管理」に従い、TodoWriteで以下の4ステップを管理:
59
- 1. task-executor実行
60
- 2. エスカレーション判定・フォローアップ
61
- 3. quality-fixer実行
62
- 4. git commit
63
-
64
- ### テスト情報の伝達
65
- acceptance-test-generator実行後、work-planner呼び出し時には以下を伝達:
66
- - 生成された統合テストファイルパス
67
- - 生成されたE2Eテストファイルパス
68
- - 統合テストは実装と同時、E2Eは全実装後に実行する旨の明示
69
-
70
- ## 責務境界
71
-
72
- **本コマンドの責務**: オーケストレーターとしてサブエージェントを適切に振り分け、完全サイクルを管理
73
- **責務外**: 自身での実装作業、調査作業(Grep/Glob/Read等)
@@ -1,43 +0,0 @@
1
- ---
2
- description: 設計書から作業計画書を作成し計画承認を取得
3
- ---
4
-
5
- **コマンドコンテキスト**: このコマンドは計画フェーズ専用です。
6
-
7
- subagents-orchestration-guideスキルの指針に従い、以下のプロセスで作業計画書を作成します:
8
-
9
- ## 実行プロセス
10
-
11
- 1. **設計書の選択**
12
- ! ls -la docs/design/*.md | head -10
13
- - 設計書の存在を確認し、ない場合はその旨をユーザーに通知
14
- - 複数ある場合は選択肢を提示($ARGUMENTS で指定可能)
15
-
16
- 2. **E2Eテストスケルトンの生成確認**
17
- - E2Eテストスケルトンを先に生成するかユーザーに確認
18
- - 生成を希望する場合: acceptance-test-generator でテストスケルトンを生成
19
- - 生成結果を subagents-orchestration-guideスキル の連携仕様に従って次工程に引き継ぐ
20
-
21
- 3. **作業計画書の作成**
22
- - work-planner で作業計画書を作成
23
- - 前工程の成果物を subagents-orchestration-guideスキル の連携仕様に従って活用
24
- - ユーザーと対話して計画を完成させ、計画内容の承認を得る
25
-
26
- **Think deeply** 選択された設計書から作業計画書を作成し、実装の具体的なステップとリスクを明確にします。
27
-
28
- **スコープ**: 作業計画書作成と計画内容の承認取得まで。
29
-
30
- ## 終了時の応答
31
- ✅ **推奨**: 計画内容の承認後は以下の定型応答で終了
32
- ```
33
- 計画フェーズが完了しました。
34
- - 作業計画書: docs/plans/[計画書名].md
35
- - 状態: 承認済み
36
-
37
- 実装は別途ご指示ください。
38
- ```
39
-
40
- ❌ **避ける**: 計画承認後の追加処理(タスク分解、実装開始等)
41
- - 理由: 計画フェーズの責務を超えるため
42
-
43
- **責務境界**: 本コマンドは計画フェーズに責任を持ち、計画内容の承認で責務完了。実装フェーズは責務範囲外のため、計画承認後はユーザーからの指示を待機する。
@@ -1,76 +0,0 @@
1
- ---
2
- description: プロジェクト固有のコンテキストをproject-context.mdに注入
3
- ---
4
-
5
- **コマンドコンテキスト**: ボイラープレート利用時にプロジェクト固有のコンテキストを収集し、project-context.mdを更新します。
6
-
7
- ## 実行プロセス
8
-
9
- ### 1. 現状確認
10
- ! ls -la .claude/skills/project-context/SKILL.md
11
- ! cat package.json | grep -E '"name":|"description":'
12
-
13
- ### 2. プロジェクトコンテキストの収集
14
-
15
- ユーザーと対話し、以下の情報を収集:
16
-
17
- ```
18
- 【プロジェクトの本質】
19
- 1. プロジェクトが解決する問題は何ですか?
20
- 例: "社内の勤怠管理が煩雑" "在庫管理が属人化している"
21
-
22
- 2. 誰のためのシステムですか?
23
- 例: "社内営業チーム50名" "ECサイト運営者"
24
-
25
- 3. どのような状況で使用されますか?
26
- 例: "外出先から日報入力" "月末の集計作業時"
27
-
28
- 【開発体制】
29
- - 個人開発 / チーム開発(人数)
30
- - 開発フェーズ(プロトタイプ / 本番開発 / 運用中)
31
-
32
- 【ビジネス上の重要な制約】(最大3つ)
33
- 例: "監査ログ7年保存" "承認フロー必須" "リアルタイム反映"
34
- ```
35
-
36
- **Think deeply** 収集した情報から、プロジェクトの本質を理解し、単一責務に集中したコンテキストを構築します。
37
-
38
- ### 3. project-context.md生成
39
-
40
- ## AI実行精度最大化の基準
41
-
42
- 生成するproject-context.mdは以下の基準に従う:
43
-
44
- ### 記述の原則
45
- 1. **最小で最大効率**: 本質的な情報のみ、冗長性を排除
46
- 2. **AI判断可能**: 測定・検証可能な基準のみ使用(「迅速に」→「5秒以内」)
47
- 3. **曖昧さの排除**: 具体的な数値・条件・例示を含める
48
- 4. **推奨形式**: 「〜しない」より「〜する」の形で記述
49
-
50
- ### 責務の境界
51
- project-context.mdの単一責務は「プロジェクト固有の文脈情報」のみ:
52
- - ✅ 含める: プロジェクトの目的、ターゲット、ビジネス制約
53
- - ❌ 含めない: 技術スタック(→technical-specスキル)、実装原則(→typescript-rulesスキル)、アーキテクチャ(→technical-specスキル)
54
-
55
- ### 構造化
56
- ```markdown
57
- # プロジェクトコンテキスト
58
-
59
- ## プロジェクト概要
60
- - **解決する問題**: [具体的な課題]
61
- - **ターゲットユーザー**: [人数・属性を含む]
62
- - **利用シーン**: [具体的な状況]
63
-
64
- ## 開発体制
65
- - **チーム構成**: [人数と役割]
66
- - **開発フェーズ**: [現在の段階]
67
-
68
- ## ビジネス制約
69
- 1. [測定可能な制約]
70
- 2. [検証可能な要件]
71
- ```
72
-
73
- ### 4. skills-index.yaml更新
74
- project-contextセクションのtypical-useをプロジェクトに合わせて更新。
75
-
76
- **スコープ**: project-contextスキルの更新のみ。技術選択は他のスキルの責務。
@@ -1,206 +0,0 @@
1
- ---
2
- description: ユーザーのスキル変更要求を精度最大化して実装
3
- ---
4
-
5
- 変更要求: $ARGUMENTS
6
-
7
- **Think deeply** ユーザーの変更意図を汲み取り、LLMが迷わない形で実装:
8
-
9
- ## 適用する9つの観点
10
- 1. コンテキスト圧迫 vs 実行精度 - 最小記述で最大精度
11
- 2. 重複排除 - スキルファイル内・スキルファイル間の一貫性
12
- 3. 責務の適切な集約 - 関連内容は1ファイルにまとめる(読み込み回数最小化)
13
- 4. 判断基準明確化 - 測定可能な基準
14
- 5. NG→推奨変換 - 推奨形式(背景:NG例を含む)
15
- 6. 表記統一 - 一貫した表現
16
- 7. 前提条件の明示化 - 暗黙前提を言語化
17
- 8. 記述順序最適化 - 冒頭:最重要、末尾:例外
18
- 9. スコープ境界明示 - 扱う/扱わない範囲
19
-
20
- ## 実行フロー
21
-
22
- ### 1. 変更要求の理解
23
-
24
- 未指定時の質問テンプレート:
25
- ```
26
- 1. どのスキルを変更しますか?
27
- 例: typescript-rules / coding-standards / documentation-criteria
28
-
29
- 2. 変更種別を選択:
30
- a) 新基準追加(新しい基準を追加)
31
- b) 既存基準修正(曖昧な記述を明確化)
32
- c) 基準削除(不要になった基準を削除)
33
-
34
- 3. 具体的な変更内容:
35
- 例:「any型の使用を禁止する基準を追加」
36
- 例:「エラーハンドリングの基準を明確化」
37
- [ユーザー入力]
38
- ```
39
-
40
- ### 2. 変更設計案の作成
41
-
42
- 対象ファイル特定と現状確認:
43
-
44
- ```
45
- # ツール選択基準(測定可能な判断)
46
- if スキル名が明示されている:
47
- Read: .claude/skills/{スキル名}/SKILL.md を直接読み込み
48
- else if スキル名の一部のみ判明:
49
- Glob: .claude/skills/*{キーワード}*/SKILL.md で探索
50
- Read: 特定したファイルの現状確認
51
- else:
52
- Glob: .claude/skills/*/SKILL.md で全件確認
53
- ユーザーに対象スキル選択を確認
54
- ```
55
-
56
- 変更設計テンプレート:
57
- ```
58
- 【現状】
59
- 「エラーは適切に処理する」(曖昧:「適切」の基準不明)
60
-
61
- 【ユーザー要求の理解】
62
- 「エラーハンドリングを厳格化したい」→ 測定可能な基準を設定
63
-
64
- 【変更案】
65
- 「エラーハンドリング実装基準:
66
- 1. try-catch必須条件:
67
- - 外部API呼び出し(fetch, axios等)
68
- - ファイルI/O操作(fs.readFile等)
69
- - JSON.parse、parseInt等の変換処理
70
- 2. エラーログ必須項目:
71
- - error.name(エラー種別)
72
- - error.stack(発生箇所)
73
- - タイムスタンプ(ISO 8601形式)
74
- 3. ユーザー通知基準:
75
- - 技術詳細を含まない(NG例:スタックトレース表示)
76
- - 対処法を明示(推奨:「再度お試しください」)」
77
-
78
- この設計で進めますか? (y/n)
79
- ```
80
-
81
- ### 3. 3回見直しプロセス
82
-
83
- #### 第1回: 実行精度最大化の観点で追記【追記専用モード】
84
- 開始宣言: 「第1回:追記モードで実行。削除は一切行わない」
85
- - 曖昧表現→測定可能基準に変換
86
- 例:「大きい」→「100行以上」「5ファイル以上」
87
- - 暗黙前提→明示的条件として記載
88
- 例:「TypeScript環境で」「async関数内で」
89
- - 例外ケース・エッジケースの定義
90
- 例:「null/undefinedの場合」「空配列の場合」
91
- 報告: 追記項目数をカウント(最低5項目)
92
-
93
- #### 第2回: 批判的修正で冗長性を削減【実修正モード】
94
- 開始宣言: 「第2回:批判的修正モードで実行。冗長と判断した箇所を実際に削除・統合」
95
-
96
- 修正作業:
97
- 1. 第1回の追記内容を批判的に検証
98
- 2. 以下の観点で実際に修正を実施:
99
- - 同一概念の重複 → 統合
100
- - 過度に詳細な説明 → 簡潔化
101
- - 他スキルとの重複 → 参照に置換
102
- 3. 修正前後の差分を記録(削除理由も明記)
103
-
104
- 報告フォーマット:
105
- ```
106
- 修正箇所数: X件
107
- 削除・統合した内容:
108
- - [削除前]: 「詳細な記述」
109
- [削除後]: 「簡潔な記述」
110
- [理由]: 冗長性の排除
111
- ```
112
-
113
- #### 第3回: 差分評価による精度確保【復元判定モード】
114
- 開始宣言: 「第3回:差分評価モードで実行。第2回の修正を検証し、必要なら復元」
115
-
116
- 検証作業:
117
- 1. 第2回の各修正について評価:
118
- - この削除で実装時に迷う可能性があるか?
119
- - エッジケースの考慮が漏れていないか?
120
- 2. 精度低下リスクがある削除 → 復元
121
- 3. 妥当な削除 → 維持
122
-
123
- 最終確認質問(必須回答):
124
- 「ユーザーの変更要求を正確に実装するための必要十分条件が揃っているか?」
125
-
126
- 報告: 復元項目数と最終的な削減率
127
-
128
- ### 4. 承認取得
129
-
130
- 変更前後の比較を提示し、ユーザー承認を取得。
131
-
132
- ### 5. 実装
133
-
134
- 1. 適切なツールで変更適用(ユーザー承認後)
135
- 2. git diffで変更内容を最終確認
136
- 3. `/sync-skills` 実行提案
137
-
138
- ## 判断基準チェックリスト
139
- - [ ] 「if-then」形式で表現可能(「~の場合は~する」)
140
- - [ ] 数値・個数・状態で判定可能(主観的判断を排除)
141
- - [ ] 関連内容は1ファイルに集約(読み込み回数最小化)
142
- - [ ] 他スキルとの関係明記(依存・参照・委譲)
143
- - [ ] NG例を背景情報として含む
144
- - [ ] 前提条件が全て明示されている
145
-
146
- ## 削減パターン例
147
- | パターン | 変換前 | 変換後 |
148
- |---------|--------|--------|
149
- | 感情的表現 | 「必ずすべき」 | 「以下の場合に実行(背景:実行しないとビルドエラー)」 |
150
- | 時間表現 | 「すぐに実行」 | 「エラー検出後、最初に実行」 |
151
- | 暗黙前提 | 「エラーハンドリングを実装」 | 「TypeScript環境でasync関数のエラーハンドリング実装」 |
152
- | 順序不明確 | 「以下を考慮:A、B、C」 | 「優先順:1.A(必須)、2.B(推奨)、3.C(任意)」 |
153
- | 冗長説明 | 「型安全性を確保するため、型を定義し、型チェックを行い、型エラーを防ぐ」 | 「型安全性の確保(定義・チェック・エラー防止)」 |
154
- | スコープ曖昧 | 「テストを書く」 | 「単体テストを書く(E2Eテストはtypescript-testingスキル参照)」 |
155
-
156
- ## 出力例
157
-
158
- ```
159
- === 変更実装完了 ===
160
-
161
- 【ユーザー要求】
162
- 「TypeScriptのエラーハンドリング基準を厳格化したい」
163
-
164
- 【変更内容】
165
- 対象: .claude/skills/typescript-rules/SKILL.md
166
- セクション: ## エラーハンドリング
167
-
168
- 変更前:
169
- 「エラーは適切に処理する」
170
-
171
- 変更後(3回見直しプロセス完了):
172
- 「エラーハンドリング実装基準:
173
- 1. try-catchブロック必須条件:
174
- - 外部API呼び出し(fetch, axios等)
175
- - ファイルI/O操作(fs.readFile, fs.writeFile等)
176
- - JSON.parse、parseInt等の例外発生可能な処理
177
- 2. エラーログ必須項目:
178
- - error.name(エラー種別)
179
- - error.stack(発生箇所)
180
- - new Date().toISOString()(タイムスタンプ)
181
- 3. ユーザー向けメッセージ:
182
- - 技術詳細を含まない(NG例:スタックトレース表示)
183
- - 具体的な対処法を明示(推奨:「再度お試しください」)」
184
-
185
- 【改善指標】
186
- - 判断基準明確度: 0% → 100%(全て測定可能)
187
- - 曖昧表現: 1箇所 → 0箇所
188
- - NG例を背景情報として含む
189
-
190
- メタデータ同期のため /sync-skills を実行してください。
191
- ```
192
-
193
- ## 実行順序
194
- 1. ユーザー要求理解
195
- 2. 現状分析
196
- 3. 9観点を適用した変更設計
197
- 4. 3回見直しプロセス
198
- 5. ユーザー承認
199
- 6. 変更適用
200
- 7. sync-skills提案
201
-
202
- **スコープ**: ユーザー変更要求の理解と精度最大化実装
203
-
204
- ## エラーハンドリング
205
- - **スキル未発見**: 利用可能なスキル一覧を表示
206
- - **大規模変更検出**: 変更量50%以上の場合、段階的実施を提案