claude-code-conductor 0.6.2__tar.gz → 0.6.4__tar.gz

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 (122) hide show
  1. claude_code_conductor-0.6.4/.claude/CLAUDE.md +57 -0
  2. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/architect.md +1 -1
  3. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/code-reviewer.md +1 -1
  4. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/doc-writer.md +1 -1
  5. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/interviewer.md +1 -1
  6. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/planner.md +1 -1
  7. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/security-reviewer.md +1 -1
  8. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/code-review/SKILL.md +1 -1
  9. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/dev-workflow/SKILL.md +3 -3
  10. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/develop/SKILL.md +1 -1
  11. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/start/SKILL.md +1 -1
  12. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/wave-execution/SKILL.md +3 -3
  13. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/CHANGELOG.md +20 -0
  14. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/PKG-INFO +9 -5
  15. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/README.md +8 -4
  16. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/__init__.py +1 -1
  17. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/parallel_orchestra/runner.py +3 -4
  18. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_review_fixes.py +12 -10
  19. claude_code_conductor-0.6.2/.claude/CLAUDE.md +0 -209
  20. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/developer.md +0 -0
  21. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/project-setup.md +0 -0
  22. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/systematic-debugger.md +0 -0
  23. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/tdd-develop.md +0 -0
  24. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/agents/tester.md +0 -0
  25. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/docs/parallel-orchestra-manifest.md +0 -0
  26. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/clear_file_history.py +0 -0
  27. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/enable_sandbox.py +0 -0
  28. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/pre_compact.py +0 -0
  29. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/pre_tool.py +0 -0
  30. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/session_utils.py +0 -0
  31. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/statusline.py +0 -0
  32. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/stop.py +0 -0
  33. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/validate_skill_change.py +0 -0
  34. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/hooks/worktree_guard.py +0 -0
  35. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/memory/.gitkeep +0 -0
  36. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/rules/code-review-checklist.md +0 -0
  37. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/rules/promoted/index.md +0 -0
  38. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/rules/security-review-checklist.md +0 -0
  39. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/settings.json +0 -0
  40. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/settings.local.json +0 -0
  41. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/doc/SKILL.md +0 -0
  42. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/extract-lib/SKILL.md +0 -0
  43. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/init-session/SKILL.md +0 -0
  44. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/mcp-config/SKILL.md +0 -0
  45. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/pattern-status/SKILL.md +0 -0
  46. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/promote-pattern/SKILL.md +0 -0
  47. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/report-timestamp/SKILL.md +0 -0
  48. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/report-timestamp/scripts/get_timestamp.py +0 -0
  49. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/setup/SKILL.md +0 -0
  50. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.claude/skills/worktree-tdd-workflow/SKILL.md +0 -0
  51. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/.gitignore +0 -0
  52. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/LICENSE +0 -0
  53. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/hatch_build.py +0 -0
  54. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/pyproject.toml +0 -0
  55. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/__main__.py +0 -0
  56. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/_excludes.py +0 -0
  57. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/cli.py +0 -0
  58. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/cli_doctor.py +0 -0
  59. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/cli_init.py +0 -0
  60. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/cli_list.py +0 -0
  61. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/cli_po.py +0 -0
  62. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/cli_update.py +0 -0
  63. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/paths.py +0 -0
  64. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/po/__init__.py +0 -0
  65. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/po/manifest.py +0 -0
  66. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/c3/po/run.py +0 -0
  67. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/parallel_orchestra/__init__.py +0 -0
  68. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/parallel_orchestra/_exceptions.py +0 -0
  69. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/parallel_orchestra/cli.py +0 -0
  70. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/parallel_orchestra/manifest.py +0 -0
  71. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/src/parallel_orchestra/report.py +0 -0
  72. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/__init__.py +0 -0
  73. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/conftest.py +0 -0
  74. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/hooks/__init__.py +0 -0
  75. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/hooks/test_clear_file_history.py +0 -0
  76. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/hooks/test_enable_sandbox.py +0 -0
  77. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/hooks/test_session_utils.py +0 -0
  78. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/hooks/test_statusline.py +0 -0
  79. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/hooks/test_statusline_template_sync.py +0 -0
  80. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/__init__.py +0 -0
  81. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/conftest.py +0 -0
  82. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_cli.py +0 -0
  83. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_manifest.py +0 -0
  84. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_report.py +0 -0
  85. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_retry_backoff.py +0 -0
  86. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_review_fixes2.py +0 -0
  87. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_review_fixes3.py +0 -0
  88. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_review_fixes4.py +0 -0
  89. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_review_fixes5.py +0 -0
  90. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_runner_t7.py +0 -0
  91. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_runner_v04_fix.py +0 -0
  92. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_runner_v04_m1.py +0 -0
  93. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/parallel_orchestra/test_runner_v04_m2.py +0 -0
  94. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_clear_file_history.py +0 -0
  95. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_cli_init.py +0 -0
  96. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_cli_list.py +0 -0
  97. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_cli_po.py +0 -0
  98. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_cli_po_tempfile.py +0 -0
  99. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_docstring_consistency.py +0 -0
  100. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_enable_sandbox.py +0 -0
  101. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_excludes.py +0 -0
  102. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_manifest_fixes.py +0 -0
  103. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_manifest_yaml_escape.py +0 -0
  104. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_paths.py +0 -0
  105. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_po_manifest.py +0 -0
  106. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_po_run.py +0 -0
  107. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_po_waves.py +0 -0
  108. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_pre_compact.py +0 -0
  109. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_pre_tool_hook.py +0 -0
  110. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_precompact_additional.py +0 -0
  111. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_precompact_toctou_fixes.py +0 -0
  112. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_session_utils_additional.py +0 -0
  113. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_statusline.py +0 -0
  114. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_stop_additional.py +0 -0
  115. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_stop_hook.py +0 -0
  116. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_stop_precompact_fixes.py +0 -0
  117. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_sync_template_clear_file_history.py +0 -0
  118. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_sync_template_stop.py +0 -0
  119. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_sync_validate_skill.py +0 -0
  120. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_template_pre_tool_hook.py +0 -0
  121. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_validate_skill_change.py +0 -0
  122. {claude_code_conductor-0.6.2 → claude_code_conductor-0.6.4}/tests/test_worktree_guard.py +0 -0
@@ -0,0 +1,57 @@
1
+ # Claude Code Conductor (C3)
2
+
3
+ 複数エージェントのオーケストレーションを中心に据えた Claude Code フレームワーク。
4
+
5
+ ## Language
6
+
7
+ ユーザーとの応答は日本語で行うこと。コード・コマンド・ファイルパスは除く。
8
+
9
+ ## Communication Style
10
+
11
+ - 冒頭の褒め言葉・社交辞令は入れない
12
+ - 推測で話さない。事実・根拠のある内容のみ答える
13
+ - 不確かな場合は「確認が必要です」と明示する
14
+ - ルールを変更・省略する方が合理的だと判断した場合は、実行前にユーザーに確認する
15
+
16
+ ## User Interaction Rules
17
+
18
+ - 長い出力・実装・設計を始める前に、1〜3行で計画を提示してユーザーの確認を取る
19
+ - 質問は1回に1つ。複数の質問を一度に投げない
20
+ - 選択肢を提示してユーザーが選びやすい形にする(AskUserQuestion を使う)
21
+ - 推測で進めない。不明点は確認してから動く
22
+ - 各エージェントの出力後は Approval Flow に従って承認を求める。承認なしに次フェーズへ進まない
23
+
24
+ ## Approval Flow
25
+
26
+ エージェントの出力後は AskUserQuestion で以下の3択を提示する:
27
+ - 承認 → 次のフェーズへ進む
28
+ - 否認・修正を依頼する → フィードバックを追加入力させてエージェントを再起動する
29
+ - 否認・自分で修正する → ユーザーの合図を待ってから再開する
30
+
31
+ コンテキストに応じて選択肢を追加してよい。
32
+
33
+ ## Compact Instructions
34
+
35
+ ### KEEP(保持する)
36
+ - 設計判断・トレードオフの記録
37
+ - 確定した仕様・命名規則などの決定事項
38
+ - 修正に苦労したバグの原因と恒久的な対策
39
+ - 現在のタスクと次のステップ
40
+
41
+ ### DISCARD(捨てる)
42
+ - 雑談・社交辞令
43
+ - 解決済みのエラーログ・デバッグ出力
44
+ - git 管理済みのコードの重複コピー
45
+ - 完了済みの古いタスク記録
46
+
47
+ ## Directory Structure
48
+
49
+ `.claude/docs/` は人間向けリファレンスのためエージェントは読まなくてよい。
50
+ 詳細は `.claude/docs/taxonomy.md` を参照。
51
+
52
+ ---
53
+
54
+ ## C3 Managed
55
+ <!-- このセクションは C3 のコマンドが自動で更新する。手動で編集しないこと。 -->
56
+
57
+ @rules/promoted/index.md
@@ -41,7 +41,7 @@ requirements-report を受け取り、システム設計・技術選定・依存
41
41
  - 不明点はユーザーに確認する
42
42
 
43
43
  **After:**
44
- - `.claude/reports/architecture-report-YYYYMMDD-HHMMSS.md` に Write して出力する
44
+ - Skill ツールで `report-timestamp` を呼び出してタイムスタンプを取得し、Write ツールで `.claude/reports/architecture-report-{timestamp}.md` に出力する
45
45
 
46
46
  ## Tools & Constraints
47
47
  制限: ソースファイルの編集・書き込みは行わない
@@ -40,7 +40,7 @@ tools:
40
40
  - 修正必須と推奨の2段階で提示する
41
41
 
42
42
  **After:**
43
- - `.claude/reports/code-review-report-YYYYMMDD-HHMMSS.md` に Write して出力する
43
+ - Skill ツールで `report-timestamp` を呼び出してタイムスタンプを取得し、Write ツールで `.claude/reports/code-review-report-{timestamp}.md` に出力する
44
44
 
45
45
  ## Tools & Constraints
46
46
  制限: ソースファイルの編集・書き込みは行わない
@@ -52,7 +52,7 @@ tools:
52
52
 
53
53
  **After:**
54
54
  - 指定された出力先にドキュメントを Write する:
55
- - レポート: `.claude/reports/doc-{名前}-YYYYMMDD-HHMMSS.md`
55
+ - レポート: Skill ツールで `report-timestamp` を呼び出してタイムスタンプを取得し、Write ツールで `.claude/reports/doc-{名前}-{timestamp}.md` に出力する
56
56
  - 指定パス: 指定されたパスに直接 Write(ディレクトリが存在しない場合は Bash で作成)
57
57
  - 表示のみ: Write せずにコンテキストに出力する
58
58
 
@@ -38,7 +38,7 @@ tools:
38
38
  - 「なぜそれが必要か」まで確認する
39
39
 
40
40
  **After:**
41
- - `.claude/reports/requirements-report-YYYYMMDD-HHMMSS.md` に Write して出力する
41
+ - Skill ツールで `report-timestamp` を呼び出してタイムスタンプを取得し、Write ツールで `.claude/reports/requirements-report-{timestamp}.md` に出力する
42
42
 
43
43
  ## Tools & Constraints
44
44
  制限: ソースファイルの編集・書き込みは行わない
@@ -40,7 +40,7 @@ requirements-report・architecture-report・各種レビューレポートを統
40
40
  - タスクは「1タスク = 1コミット」の粒度を意識して分解する
41
41
 
42
42
  **After:**
43
- - `.claude/reports/plan-report-YYYYMMDD-HHMMSS.md` に Write して出力する
43
+ - Skill ツールで `report-timestamp` を呼び出してタイムスタンプを取得し、Write ツールで `.claude/reports/plan-report-{timestamp}.md` に出力する
44
44
  - plan-report の**先頭に YAML フロントマターを必ず付与する**。フォーマットは `.claude/docs/parallel-orchestra-manifest.md` の仕様に従う。最低限以下を出力すること:
45
45
  - `po_plan_version: "0.1"`
46
46
  - `name`(プランの表示名・文字列)
@@ -41,7 +41,7 @@ SQLインジェクション・XSS・認証認可・秘密情報漏洩などの
41
41
  - 修正方法の例を提示する
42
42
 
43
43
  **After:**
44
- - `.claude/reports/security-review-report-YYYYMMDD-HHMMSS.md` に Write して出力する
44
+ - Skill ツールで `report-timestamp` を呼び出してタイムスタンプを取得し、Write ツールで `.claude/reports/security-review-report-{timestamp}.md` に出力する
45
45
 
46
46
  ## Tools & Constraints
47
47
  制限: ソースファイルの編集・書き込みは行わない
@@ -10,4 +10,4 @@ description: 実装済みコードの code-reviewer・security-reviewer によ
10
10
 
11
11
  1. **最初に必ず** `.claude/skills/dev-workflow/SKILL.md` を Read する。記憶・推測で進めない
12
12
  2. **フェーズ E(レビュー)** から実行する
13
- 3. dev-workflow/SKILL.md の AskUserQuestion・Edit・セッションファイル更新の手順を省略しない
13
+ 3. `.claude/skills/dev-workflow/SKILL.md` の AskUserQuestion・Edit・セッションファイル更新の手順を省略しない
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: ヒアリング→設計→計画→実装→レビューの全フェーズワークフロー。/start・/develop・/code-review コマンドが内部参照する。
2
+ description: ヒアリング→設計→計画→実装→レビューの全フェーズワークフロー。/start・/develop・/code-review・wave-execution スキルが内部参照する。
3
3
  disable-model-invocation: false
4
4
  user-invocable: false
5
5
  ---
@@ -7,7 +7,7 @@ user-invocable: false
7
7
  # Dev Workflow
8
8
 
9
9
  要件定義から実装・レビューまでを複数エージェントで連携させるフルワークフロー。
10
- `commands/` の各コマンドからこのファイルを Read して指定フェーズから実行する。
10
+ `.claude/skills/` の各スキルからこのファイルを Read して指定フェーズから実行する。
11
11
  フェーズ間の遷移はこのファイル内で完結する(外部コマンド呼び出し不要)。
12
12
 
13
13
  ---
@@ -249,7 +249,7 @@ plan-report の冒頭を Read し、YAML フロントマター(`---` で始ま
249
249
 
250
250
  **フロントマターありの場合:**
251
251
  1. **最初に必ず** `.claude/skills/wave-execution/SKILL.md` を Read する(記憶・推測で進めない)
252
- 2. `wave-execution/SKILL.md` の手順に完全に従って wave 単位で実装を進める
252
+ 2. `.claude/skills/wave-execution/SKILL.md` の手順に完全に従って wave 単位で実装を進める
253
253
  3. 全 wave 完了後はフェーズ E(レビュー)へ進む(wave に reviewer タスクが含まれていれば E をスキップ可能と案内する)
254
254
 
255
255
  **フロントマターなしの場合(legacy フォールバック):**
@@ -10,6 +10,6 @@ plan-report に基づいて実装フェーズを実行する。
10
10
 
11
11
  1. **最初に必ず** `.claude/skills/dev-workflow/SKILL.md` を Read する。記憶・推測で進めない
12
12
  2. **フェーズ D(実装)** から実行する
13
- 3. dev-workflow/SKILL.md の AskUserQuestion・Edit・セッションファイル更新の手順を省略しない
13
+ 3. `.claude/skills/dev-workflow/SKILL.md` の AskUserQuestion・Edit・セッションファイル更新の手順を省略しない
14
14
  4. D-0 で plan-report に YAML フロントマター(`po_plan_version`)が検出された場合は、続けて **必ず** `.claude/skills/wave-execution/SKILL.md` を Read してその手順に従う(C3 メイン + PO スポット並列モード)
15
15
  5. フロントマターが無い場合は legacy の D-1〜D-5 ceremony(tester→developer→tester の TDD 逐次実行)にフォールバックする
@@ -82,7 +82,7 @@ AskUserQuestion ツールで以下を提示する:
82
82
 
83
83
  ## Step 2: dev-workflow/SKILL.md を Read してフェーズを実行する
84
84
 
85
- **最初に必ず** `.claude/skills/dev-workflow/SKILL.md` を Read する。記憶・推測で進めず、dev-workflow/SKILL.md の AskUserQuestion・Edit・セッションファイル更新の手順を省略しないこと。
85
+ **最初に必ず** `.claude/skills/dev-workflow/SKILL.md` を Read する。記憶・推測で進めず、`.claude/skills/dev-workflow/SKILL.md` の AskUserQuestion・Edit・セッションファイル更新の手順を省略しないこと。
86
86
 
87
87
  選択した開始地点に対応するフェーズから実行する:
88
88
 
@@ -18,7 +18,7 @@ C3 の親 Claude が plan-report の DAG を **wave 単位**で歩く。
18
18
  ## 前提条件
19
19
 
20
20
  - `claude-code-conductor` がインストール済みで `c3` コマンドが PATH 上にあること
21
- - plan-report が `.claude/reports/plan-report-*.md` の形式で配置され、YAML フロントマターを持つこと(フロントマターが無ければ `dev-workflow/SKILL.md` の D-1〜D-5 ceremony へフォールバック)
21
+ - plan-report が `.claude/reports/plan-report-*.md` の形式で配置され、YAML フロントマターを持つこと(フロントマターが無ければ `.claude/skills/dev-workflow/SKILL.md` の D-1〜D-5 ceremony へフォールバック)
22
22
 
23
23
  ---
24
24
 
@@ -69,7 +69,7 @@ PO は worktree からの auto-merge で main に成果物を取り込む仕様
69
69
 
70
70
  - 終了コード `0` = マニフェスト妥当 → Step 1 へ
71
71
  - 終了コード `2` = マニフェストエラー(フィールド欠損・agent 不在等)→ stderr のメッセージを整形してユーザーに提示し、`/start` のフェーズ C(計画)を再実行するか手動で plan-report を編集するよう案内してこのスキルを終了する
72
- - 終了コード `3` = ランナーエラー(claude バイナリ不在等)→ stderr のメッセージをそのまま提示してこのスキルを終了する。親 Claude は逐次実行(`dev-workflow/SKILL.md` の D-1〜D-5)に切り替えるか、環境を整備して `/develop` を再実行するかをユーザーに選んでもらう
72
+ - 終了コード `3` = ランナーエラー(claude バイナリ不在等)→ stderr のメッセージをそのまま提示してこのスキルを終了する。親 Claude は逐次実行(`.claude/skills/dev-workflow/SKILL.md` の D-1〜D-5)に切り替えるか、環境を整備して `/develop` を再実行するかをユーザーに選んでもらう
73
73
 
74
74
  PO は `c3` パッケージに同梱されているため、別途 `pip install` は不要。
75
75
 
@@ -196,7 +196,7 @@ c3 po run-wave <plan-report-path> --wave-index {N} --report .claude/reports/po-r
196
196
  | exit code | 意味 | 次のアクション |
197
197
  |---|---|---|
198
198
  | `0` | wave 内全タスク成功 | 2-D へ |
199
- | `1` | 1件以上のタスクが失敗 | 2-D へ(失敗一覧を含めて提示)。**注:** PO は 1 タスクあたり 15 分(`_INTERNAL_TIMEOUT_SEC = 900`、ハードコード上書き不可)でタイムアウトする。15 分超で failure 扱いになっていれば planner の粒度を見直す |
199
+ | `1` | 1件以上のタスクが失敗 | 2-D へ(失敗一覧を含めて提示)。**注:** PO は 1 タスクあたり 20 分(`_INTERNAL_TIMEOUT_SEC = 1200`)でタイムアウトする。20 分超で failure 扱いになっていれば planner の粒度を見直す |
200
200
  | `2` | マニフェストエラー(Step 0 をすり抜けた)| エラー内容を提示しスキル終了 |
201
201
  | `3` | auto-merge 衝突(worktree → main の取り込みに失敗)| 下記「auto-merge が衝突した場合」のリカバリ手順へ |
202
202
 
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.4] - 2026-05-07
4
+
5
+ ### Changed
6
+ - `CLAUDE.md`: 不要・重複・抽象的なセクションを削除・整理(Startup Protocol / Session Update Rules / Pattern Recording / Rule Compliance を削除、Communication Style・User Interaction Rules・Approval Flow・Compact Instructions・Available Commands・Directory Structure を整理・圧縮)
7
+ - `agents/`: `report-timestamp` スキル呼び出しとファイル出力の記述を全エージェントで統一(architect・code-reviewer・doc-writer・interviewer・planner・security-reviewer)
8
+ - `skills/`: `.claude/skills/` プレフィックスなしのパス参照を修正(code-review・dev-workflow・develop・start・wave-execution)
9
+ - `skills/dev-workflow/SKILL.md`: `commands/` の記述を `skills/` に更新、description に wave-execution を参照元として追記
10
+ - `README.md`: パターン昇格パス・c3 po コマンド一覧・PO 並列実行の説明・エージェント一覧(tdd-develop・systematic-debugger 追加)を現状に合わせて修正
11
+
12
+ ## [0.6.3] - 2026-05-07
13
+
14
+ ### Fixed
15
+ - `read_only=true` tasks (e.g. `code-reviewer`, `security-reviewer`) were
16
+ launched with `--read-only`, a flag that does not exist in Claude Code CLI,
17
+ causing immediate failure. All tasks now use `--dangerously-skip-permissions`
18
+ regardless of `read_only`. `read_only` controls worktree creation only and
19
+ is never passed to the `claude` binary.
20
+ - `wave-execution/SKILL.md`: update timeout note from 900 s (15 min) to
21
+ 1200 s (20 min) to reflect the v0.6.1 change.
22
+
3
23
  ## [0.6.2] - 2026-05-07
4
24
 
5
25
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-conductor
3
- Version: 0.6.2
3
+ Version: 0.6.4
4
4
  Summary: Multi-agent orchestration framework for Claude Code (C3)
5
5
  Project-URL: Homepage, https://github.com/satoh-y-0323/claude-code-conductor
6
6
  Project-URL: Repository, https://github.com/satoh-y-0323/claude-code-conductor
@@ -182,7 +182,9 @@ C3 のスラッシュコマンドはすべてスキル(`skills/{name}/SKILL.md
182
182
  | `c3 list-agents` / `list-skills` | 設置済みアセットを一覧表示 |
183
183
  | `c3 doctor` | 環境診断(`.claude/`・settings.json・claude バイナリ・parallel-orchestra) |
184
184
  | `c3 po dry-run <plan-report>` | plan-report をマニフェストとして検証 |
185
- | `c3 po run <plan-report>` | plan-report parallel-orchestra で並列実行 |
185
+ | `c3 po waves <plan-report>` | plan-report wave 分解結果を JSON で出力 |
186
+ | `c3 po run <plan-report>` | plan-report を parallel-orchestra で全 wave 並列実行 |
187
+ | `c3 po run-wave <plan-report> --wave-index N` | 指定 wave のみ実行 |
186
188
 
187
189
  ### 基本的な使い方
188
190
 
@@ -207,9 +209,11 @@ C3 のスラッシュコマンドはすべてスキル(`skills/{name}/SKILL.md
207
209
  | planner | opus | plan-report | 親 Claude がペルソナ採用 |
208
210
  | developer | sonnet | 実装コード | Agent ツールで起動 |
209
211
  | tester | sonnet | テスト・test-report | Agent ツールで起動 |
212
+ | tdd-develop | sonnet | - | Agent ツールで起動(PO 並列時のみ)|
210
213
  | code-reviewer | sonnet | code-review-report | Agent ツールで起動 |
211
214
  | security-reviewer | sonnet | security-review-report | Agent ツールで起動 |
212
215
  | doc-writer | sonnet | ドキュメント各種 | Agent ツールで起動 |
216
+ | systematic-debugger | sonnet | debug-analysis-report | Agent ツールで起動(行き詰まり時)|
213
217
 
214
218
  インタラクティブな対話が必要なエージェント(interviewer・architect・planner)は親 Claude がペルソナを採用して動作します。実装・検証系エージェントはサブエージェントとして起動されます。
215
219
 
@@ -306,7 +310,7 @@ Copy-Item -Recurse claude-code-conductor\.claude your-project\
306
310
 
307
311
  - セッションをまたいで観測されるたびに **信用度(trust_score)** が上がります
308
312
  - 登録から3日以上・信用度 0.8 以上で **昇格候補** になります
309
- - `/promote-pattern` を実行すると `rules/promoted/` または `skills/promoted/` にルールとして昇格します
313
+ - `/promote-pattern` を実行すると `rules/promoted/` または `skills/promoted-YYYYMMDD-{id}/` にルールとして昇格します
310
314
  - 昇格したルールは以降の全セッションで自動的にエージェントへ注入されます
311
315
 
312
316
  昇格スキルは `skills/promoted-YYYYMMDD-{id}/SKILL.md` の形式で配置され、Claude Code が自動的に検出します。
@@ -340,8 +344,8 @@ PO は C3 に同梱されているため、`pip install claude-code-conductor`
340
344
  **使い方:**
341
345
 
342
346
  1. `/start` で要件→設計→計画フェーズを完走させる(planner が plan-report の先頭に PO 用 YAML フロントマターを自動付与します)
343
- 2. `/develop` を起動 → **D-0** で「PO 並列実行」を選ぶ
344
- 3. C3 が `c3 po dry-run` でマニフェスト妥当性を検証、ユーザー承認を取ってから `c3 po run` で並列実行します
347
+ 2. `/develop` を起動 → **D-0** で plan-report のフロントマターを自動検出し PO 並列モードへ切り替わる
348
+ 3. C3 が `c3 po dry-run` でマニフェスト妥当性を検証、wave ごとにユーザー承認を取りながら `c3 po run-wave` で実行します
345
349
 
346
350
  マニフェスト仕様の詳細は `.claude/docs/parallel-orchestra-manifest.md` を参照してください。
347
351
 
@@ -140,7 +140,9 @@ C3 のスラッシュコマンドはすべてスキル(`skills/{name}/SKILL.md
140
140
  | `c3 list-agents` / `list-skills` | 設置済みアセットを一覧表示 |
141
141
  | `c3 doctor` | 環境診断(`.claude/`・settings.json・claude バイナリ・parallel-orchestra) |
142
142
  | `c3 po dry-run <plan-report>` | plan-report をマニフェストとして検証 |
143
- | `c3 po run <plan-report>` | plan-report parallel-orchestra で並列実行 |
143
+ | `c3 po waves <plan-report>` | plan-report wave 分解結果を JSON で出力 |
144
+ | `c3 po run <plan-report>` | plan-report を parallel-orchestra で全 wave 並列実行 |
145
+ | `c3 po run-wave <plan-report> --wave-index N` | 指定 wave のみ実行 |
144
146
 
145
147
  ### 基本的な使い方
146
148
 
@@ -165,9 +167,11 @@ C3 のスラッシュコマンドはすべてスキル(`skills/{name}/SKILL.md
165
167
  | planner | opus | plan-report | 親 Claude がペルソナ採用 |
166
168
  | developer | sonnet | 実装コード | Agent ツールで起動 |
167
169
  | tester | sonnet | テスト・test-report | Agent ツールで起動 |
170
+ | tdd-develop | sonnet | - | Agent ツールで起動(PO 並列時のみ)|
168
171
  | code-reviewer | sonnet | code-review-report | Agent ツールで起動 |
169
172
  | security-reviewer | sonnet | security-review-report | Agent ツールで起動 |
170
173
  | doc-writer | sonnet | ドキュメント各種 | Agent ツールで起動 |
174
+ | systematic-debugger | sonnet | debug-analysis-report | Agent ツールで起動(行き詰まり時)|
171
175
 
172
176
  インタラクティブな対話が必要なエージェント(interviewer・architect・planner)は親 Claude がペルソナを採用して動作します。実装・検証系エージェントはサブエージェントとして起動されます。
173
177
 
@@ -264,7 +268,7 @@ Copy-Item -Recurse claude-code-conductor\.claude your-project\
264
268
 
265
269
  - セッションをまたいで観測されるたびに **信用度(trust_score)** が上がります
266
270
  - 登録から3日以上・信用度 0.8 以上で **昇格候補** になります
267
- - `/promote-pattern` を実行すると `rules/promoted/` または `skills/promoted/` にルールとして昇格します
271
+ - `/promote-pattern` を実行すると `rules/promoted/` または `skills/promoted-YYYYMMDD-{id}/` にルールとして昇格します
268
272
  - 昇格したルールは以降の全セッションで自動的にエージェントへ注入されます
269
273
 
270
274
  昇格スキルは `skills/promoted-YYYYMMDD-{id}/SKILL.md` の形式で配置され、Claude Code が自動的に検出します。
@@ -298,8 +302,8 @@ PO は C3 に同梱されているため、`pip install claude-code-conductor`
298
302
  **使い方:**
299
303
 
300
304
  1. `/start` で要件→設計→計画フェーズを完走させる(planner が plan-report の先頭に PO 用 YAML フロントマターを自動付与します)
301
- 2. `/develop` を起動 → **D-0** で「PO 並列実行」を選ぶ
302
- 3. C3 が `c3 po dry-run` でマニフェスト妥当性を検証、ユーザー承認を取ってから `c3 po run` で並列実行します
305
+ 2. `/develop` を起動 → **D-0** で plan-report のフロントマターを自動検出し PO 並列モードへ切り替わる
306
+ 3. C3 が `c3 po dry-run` でマニフェスト妥当性を検証、wave ごとにユーザー承認を取りながら `c3 po run-wave` で実行します
303
307
 
304
308
  マニフェスト仕様の詳細は `.claude/docs/parallel-orchestra-manifest.md` を参照してください。
305
309
 
@@ -1,3 +1,3 @@
1
1
  """Claude Code Conductor (C3) - multi-agent orchestration framework for Claude Code."""
2
2
 
3
- __version__ = "0.6.2"
3
+ __version__ = "0.6.4"
@@ -1129,10 +1129,9 @@ def _execute_task(
1129
1129
  PO_WORKTREE_GUARD=1 is set in the environment automatically.
1130
1130
  For read_only=True tasks, effective_cwd (passed by the caller) is used.
1131
1131
  """
1132
- if task.read_only:
1133
- cmd = [claude_exe, "--read-only"]
1134
- else:
1135
- cmd = [claude_exe, "--dangerously-skip-permissions"]
1132
+ # read_only controls worktree creation only — never passed to claude as a flag.
1133
+ # Both task types need --dangerously-skip-permissions for headless execution.
1134
+ cmd = [claude_exe, "--dangerously-skip-permissions"]
1136
1135
  if task.agent:
1137
1136
  cmd.extend(["--agent", task.agent])
1138
1137
  cmd.extend([_CLAUDE_PROMPT_FLAG, task.prompt])
@@ -164,16 +164,19 @@ def test_log_masks_api_key(tmp_path, monkeypatch):
164
164
 
165
165
 
166
166
  # ---------------------------------------------------------------------------
167
- # Task 16 / S-1 — read_only tasks use --read-only, not --dangerously-skip-permissions
167
+ # Task 16 / S-1 — read_only tasks use --dangerously-skip-permissions (not --read-only)
168
+ # read_only controls worktree creation only; it must never be passed to claude as a flag.
168
169
  # ---------------------------------------------------------------------------
169
170
 
170
171
 
171
- def test_readonly_task_gets_read_only_flag(tmp_path, monkeypatch):
172
- """A task with read_only=true must use --read-only flag, not --dangerously-skip-permissions."""
172
+ def test_readonly_task_uses_dangerously_skip_permissions(tmp_path, monkeypatch):
173
+ """A task with read_only=true must use --dangerously-skip-permissions, not --read-only.
174
+
175
+ read_only is an internal PO control field (worktree vs no-worktree).
176
+ Claude Code CLI has no --read-only flag, so passing it would break execution.
177
+ """
173
178
  from parallel_orchestra import load_manifest, run_manifest
174
179
 
175
- # Set up a git repo in tmp_path so run_manifest can resolve git_root for write tasks.
176
- # We only have a read_only task, so git_root is not required.
177
180
  manifest_text = (
178
181
  "---\n"
179
182
  "po_plan_version: \"0.1\"\n"
@@ -206,7 +209,6 @@ def test_readonly_task_gets_read_only_flag(tmp_path, monkeypatch):
206
209
 
207
210
  monkeypatch.setattr(subprocess, "Popen", FakePopen)
208
211
 
209
- # Disable the dashboard to avoid TTY issues in CI
210
212
  fake_stderr = io.StringIO()
211
213
  fake_stderr.isatty = lambda: False # type: ignore[attr-defined]
212
214
  monkeypatch.setattr(sys, "stderr", fake_stderr)
@@ -217,11 +219,11 @@ def test_readonly_task_gets_read_only_flag(tmp_path, monkeypatch):
217
219
  assert captured_commands, "No subprocess.Popen calls were recorded"
218
220
 
219
221
  task_cmd = captured_commands[0]
220
- assert "--read-only" in task_cmd, (
221
- f"--read-only was not found in command: {task_cmd}"
222
+ assert "--dangerously-skip-permissions" in task_cmd, (
223
+ f"--dangerously-skip-permissions was not found in read_only=true command: {task_cmd}"
222
224
  )
223
- assert "--dangerously-skip-permissions" not in task_cmd, (
224
- f"--dangerously-skip-permissions was found in read_only=true command: {task_cmd}"
225
+ assert "--read-only" not in task_cmd, (
226
+ f"--read-only (non-existent Claude flag) was found in command: {task_cmd}"
225
227
  )
226
228
 
227
229
 
@@ -1,209 +0,0 @@
1
- # Claude Code Conductor (C3)
2
-
3
- 複数エージェントのオーケストレーションを中心に据えた Claude Code フレームワーク。
4
-
5
- ## Startup Protocol
6
-
7
- セッション開始時に必ず `/init-session` を実行する。
8
-
9
- ## Language
10
-
11
- ユーザーとの応答は日本語で行うこと。コード・コマンド・ファイルパスは除く。
12
-
13
- ## Communication Style
14
-
15
- - まじめベースで応答する。ユーザーを無駄に持ち上げる言葉は不要
16
- - ユーザーとの関係・信頼を大事にする。忖度しない
17
- - 推測・憶測ではなく事実ベース・根拠のある内容で話す
18
- - 不確かな場合は「確認が必要です」と明示する
19
-
20
- ## Rule Compliance
21
-
22
- - ルール厳守。ルール違反はユーザーの信頼を損なう行為となることを認識し、ルールをどうしても変更したり省略したり守らない方が合理的と思った場合はユーザーに必ず確認する。
23
-
24
- ## Session Update Rules
25
-
26
- session ファイルはタスク完了のたびに更新する。まとめて最後に書かない。
27
-
28
- | タイミング | 更新内容 |
29
- |---|---|
30
- | タスク完了時 | 残タスクの該当行を `[x]` にする |
31
- | 良いアプローチを発見したとき | `## うまくいったアプローチ` に追記 |
32
- | 失敗・ハマったとき | `## 試みたが失敗したアプローチ` に追記 |
33
- | パターンを発見したとき | JSON ブロックの `patterns` 配列に追記 |
34
- | 新しいタスクが発生したとき | `## 残タスク` に追記 |
35
-
36
- ## Pattern Recording
37
-
38
- session ファイルの JSON ブロックにパターンを記録する:
39
-
40
- ```json
41
- "patterns": [
42
- {
43
- "id": "一意なID(英数字・アンダースコア)",
44
- "description": "どんな状況でどう対処するかを1文で"
45
- }
46
- ]
47
- ```
48
-
49
- `stop.py` がセッション終了時に `patterns.json` を自動更新する。
50
- 信用度が 0.8 以上・登録から3日以上経過したパターンは `/promote-pattern` で昇格できる。
51
-
52
- ## User Interaction Rules
53
-
54
- ユーザーと対話するコマンド(`/agent-interviewer`・`/agent-architect`・`/agent-planner` 等)を実行する際に守ること。
55
-
56
- ### 書く前に考える
57
-
58
- 長い出力・実装・設計を始める前に、1〜3行で計画を提示してユーザーの確認を取る。
59
- 確認なしに一気に書き始めない。
60
-
61
- ### 質問の仕方
62
-
63
- **OK(推奨):**
64
- - 1回に1つの質問に絞る
65
- - 選択肢を提示してユーザーが選びやすい形にする
66
- ```
67
- ○○について教えてください:
68
- [A] ...
69
- [B] ...
70
- [C] その他(自由記述)
71
- ```
72
- - 表面的な要望の背景まで掘り下げる(「なぜそれが必要か」)
73
-
74
- **NG(禁止):**
75
- - 複数の質問を一度に投げる
76
- ```
77
- ❌ 「目的・制約・スケジュールを教えてください」
78
- ✅ 「まず目的を教えてください」→ 回答後に次の質問へ
79
- ```
80
- - 推測で進めて後から修正する
81
- ```
82
- ❌ 「おそらく○○だと思うので進めます」
83
- ✅ 「○○という理解で合っていますか?」
84
- ```
85
-
86
- ### 承認を求めるタイミング
87
-
88
- 各エージェントの出力後は必ずユーザーに内容を提示し、Approval Flow(下記)に従って承認を求める。
89
- 承認なしに次フェーズへ進まない。
90
-
91
- ## Approval Flow
92
-
93
- エージェントの出力をユーザーが確認する際の標準フロー。
94
- 親 Claude が AskUserQuestion ツールで構造化された選択肢を提示する。
95
-
96
- ### 標準承認フロー
97
-
98
- ```json
99
- {
100
- "questions": [{
101
- "question": "{確認対象の概要} の内容を確認してください。どうしますか?",
102
- "options": [
103
- { "label": "承認", "description": "このまま次のフェーズへ進む" },
104
- { "label": "否認・修正を依頼する", "description": "フィードバックを入力してエージェントに再実行させる" },
105
- { "label": "否認・自分で修正する", "description": "自分でファイルを編集してから続ける" }
106
- ]
107
- }]
108
- }
109
- ```
110
-
111
- ### 選択後の処理
112
-
113
- **「承認」の場合:**
114
- 次のフェーズへ進む。
115
-
116
- **「否認・修正を依頼する」の場合:**
117
- 追加の AskUserQuestion でフィードバックを自由入力させる:
118
- ```json
119
- {
120
- "questions": [{
121
- "question": "どのように修正してほしいですか?"
122
- }]
123
- }
124
- ```
125
- 入力内容をプロンプトに含めてエージェントを再起動する。
126
-
127
- **「否認・自分で修正する」の場合:**
128
- ```
129
- 修正が完了したら声をかけてください。続きから再開します。
130
- ```
131
- ユーザーの合図を待ってから次のステップへ進む。
132
-
133
- ### コンテキスト別のカスタム選択肢
134
-
135
- 標準の3択に加え、コンテキストに応じて選択肢を追加してよい:
136
-
137
- | コンテキスト | 追加しうる選択肢 |
138
- |---|---|
139
- | developer の実装確認 | 「否認・自分でコードを修正する」 |
140
- | tester の test-report 確認 | 「このまま次の tester フェーズへ」 |
141
- | reviewer の report 確認 | 「Low 指摘のみ・このまま完了する」 |
142
-
143
- ## Compact Instructions
144
-
145
- ### KEEP(保持する)
146
- - **設計判断(Architectural Decisions)** — なぜその技術を選んだか、トレードオフの記録
147
- - **決定事項(Key Conclusions)** — 議論の末に確定した仕様、ディレクトリ構造、命名規則
148
- - **解決済みのハマりどころ(Caveats)** — 修正に苦労したバグの原因と恒久的な対策
149
- - **進行中のステータス(TODO/Status)** — 現在取り組んでいるタスクと次のステップ、残タスク
150
-
151
- ### DISCARD(捨てる)
152
- - **雑談・挨拶(Chit-chat)** — 「ありがとうございます」「お疲れ様です」等の社交辞令
153
- - **解決済みのエラーログ(Logs)** — 一時的なエラーログ・デバッグ出力(原因と対策は Caveats で保持)
154
- - **冗長なコード断片(Snippets)** — git 管理されているソースコード本体の重複コピー
155
- - **期限切れのタスク(Old Tasks)** — 既に完了し、今後の開発に影響を与えない古い作業記録
156
-
157
- ### いつ /compact を使うか
158
-
159
- マイルストーン(フェーズ完了・wave 完了・大きなタスク区切り)に到達したら、以下の判断フローで `/compact` か **セッション再起動** を選ぶ。
160
-
161
- | 状況 | 推奨 |
162
- |---|---|
163
- | 同じタスクを継続中で、直前の判断・議論を圧縮しつつ残したい | `/compact`(KEEP/DISCARD ルールに従い圧縮) |
164
- | 別タスクに切り替える・長時間中断する・コンテキストを完全リセットしたい | セッションを終了し、次回 `/init-session` で再開 |
165
- | 残タスクが session ファイルに記録されており、Claude の記憶を保持する必要がない | セッション再起動が推奨(情報損失なし) |
166
- | Claude に直前の試行錯誤の経緯を覚えていてほしい | `/compact` |
167
-
168
- **注意:**
169
- - `/compact` 実行時は `pre_compact.py` フックが session ファイルにチェックポイントを自動記録する
170
- - セッション再起動時は `/init-session` が前回 session ファイルを読み込んで残タスクを復元する
171
- - どちらを選んでも session ファイルへの記録があれば情報は失われない
172
-
173
- ## Available Commands
174
-
175
- | コマンド | 目的 |
176
- |---|---|
177
- | `/init-session` | セッション初期化・前回状態の復元 |
178
- | `/pattern-status` | patterns.json の現状(信用度・昇格候補・期限残・既昇格)を可視化 |
179
- | `/promote-pattern` | 昇格候補パターンを rules/ または skills/ に昇格 |
180
- | `/setup` | コーディング規約の設定(標準規約 + 独自規約) |
181
- | `/start` | 開発ワークフローの入口(ヒアリング→設計→計画)|
182
- | `/develop` | 実装フェーズ(TDD: tester→developer→tester) |
183
- | `/code-review` | レビューフェーズ(code-reviewer→security-reviewer) |
184
- | `/doc` | ドキュメント生成(doc-writer エージェント) |
185
- | `/mcp-config` | MCP サーバーの追加・一覧・削除 |
186
- | `/extract-lib` | 複数プロジェクトの共通コードを抽出してライブラリ設計・生成 |
187
-
188
- ## Directory Structure
189
-
190
- ```
191
- .claude/
192
- ├── agents/ # エージェント定義(誰か・何ができるか・何ができないか)
193
- ├── docs/ # 人間向けリファレンス(エージェントは読まなくてよい)
194
- ├── hooks/ # イベントドリブンで自動実行される Python スクリプト
195
- ├── rules/ # エージェントに注入される背景知識・制約
196
- │ └── promoted/ # /promote-pattern で昇格したルール
197
- ├── skills/ # 複数エージェントをまたぐオーケストレーション手順
198
- │ └── promoted-YYYYMMDD-{id}/ # /promote-pattern で昇格したスキル
199
- └── memory/ # セッション記憶・パターン信用度データ
200
- ```
201
-
202
- 詳細は `.claude/docs/taxonomy.md` を参照。
203
-
204
- ---
205
-
206
- ## C3 Managed
207
- <!-- このセクションは C3 のコマンドが自動で更新する。手動で編集しないこと。 -->
208
-
209
- @rules/promoted/index.md