claude-code-conductor 0.4.0__tar.gz → 0.4.3__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 (61) hide show
  1. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/planner.md +2 -2
  2. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/tester.md +3 -1
  3. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/stop.py +8 -1
  4. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/dev-workflow/SKILL.md +3 -3
  5. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/worktree-tdd-workflow/SKILL.md +1 -0
  6. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/PKG-INFO +26 -19
  7. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/README.md +25 -18
  8. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/hatch_build.py +1 -0
  9. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/__init__.py +1 -1
  10. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/_excludes.py +1 -0
  11. claude_code_conductor-0.4.0/.claude/pytest_temp.ini +0 -2
  12. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/CLAUDE.md +0 -0
  13. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/architect.md +0 -0
  14. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/code-reviewer.md +0 -0
  15. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/developer.md +0 -0
  16. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/doc-writer.md +0 -0
  17. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/interviewer.md +0 -0
  18. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/project-setup.md +0 -0
  19. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/security-reviewer.md +0 -0
  20. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/agents/tdd-develop.md +0 -0
  21. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/docs/parallel-orchestra-manifest.md +0 -0
  22. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/clear_file_history.py +0 -0
  23. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/enable_sandbox.py +0 -0
  24. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/pre_compact.py +0 -0
  25. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/pre_tool.py +0 -0
  26. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/session_utils.py +0 -0
  27. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/statusline.py +0 -0
  28. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/validate_skill_change.py +0 -0
  29. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/hooks/worktree_guard.py +0 -0
  30. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/memory/.gitkeep +0 -0
  31. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/rules/code-review-checklist.md +0 -0
  32. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/rules/promoted/index.md +0 -0
  33. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/rules/security-review-checklist.md +0 -0
  34. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/settings.json +0 -0
  35. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/settings.local.json +0 -0
  36. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/code-review/SKILL.md +0 -0
  37. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/develop/SKILL.md +0 -0
  38. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/doc/SKILL.md +0 -0
  39. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/extract-lib/SKILL.md +0 -0
  40. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/init-session/SKILL.md +0 -0
  41. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/mcp-config/SKILL.md +0 -0
  42. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/promote-pattern/SKILL.md +0 -0
  43. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/setup/SKILL.md +0 -0
  44. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/start/SKILL.md +0 -0
  45. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.claude/skills/wave-execution/SKILL.md +0 -0
  46. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/.gitignore +0 -0
  47. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/CHANGELOG.md +0 -0
  48. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/LICENSE +0 -0
  49. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/pyproject.toml +0 -0
  50. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/__main__.py +0 -0
  51. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/cli.py +0 -0
  52. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/cli_doctor.py +0 -0
  53. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/cli_init.py +0 -0
  54. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/cli_list.py +0 -0
  55. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/cli_po.py +0 -0
  56. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/cli_update.py +0 -0
  57. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/paths.py +0 -0
  58. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/po/__init__.py +0 -0
  59. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/po/detect.py +0 -0
  60. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/po/manifest.py +0 -0
  61. {claude_code_conductor-0.4.0 → claude_code_conductor-0.4.3}/src/c3/po/run.py +0 -0
@@ -69,13 +69,13 @@ plan-report の YAML フロントマターは `parallel-orchestra` (PO) で並
69
69
 
70
70
  ### writes フィールドの埋め方
71
71
 
72
- 7. **`writes` を必ず列挙** — 各タスクが書き込むファイルパスを `tasks[].writes` に書く。空のままだと PO の衝突検出が効かず、並列実行で破壊的競合が起きうる
72
+ 7. **`writes` を必ず列挙(`read_only: true` タスクは除く)** — 各タスクが書き込むファイルパスを `tasks[].writes` に書く。空のままだと PO の衝突検出が効かず、並列実行で破壊的競合が起きうる。ただし `read_only: true`(レビュー系)タスクはファイルを書かないため `writes` フィールド自体を省略すること
73
73
  8. **同一ファイルへの書き込み重複を避ける** — 複数タスクの `writes` で同じファイルが出てきたら、(a) タスクをまとめる、(b) 片方を `depends_on` で順序づけ、(c) `concurrency_group` で同時実行を 1 に制限、のいずれかで衝突を解消する
74
74
 
75
75
  ### 出力直前の自己チェックリスト
76
76
 
77
77
  - [ ] `depends_on` チェーンの最大長 ≦ タスク数 / 2 か(直列化していないか)
78
- - [ ] `writes` が空のタスクが残っていないか
78
+ - [ ] `writes` が空のタスクが残っていないか(`read_only: true` タスクは `writes` 自体を省略していること)
79
79
  - [ ] 同じファイルを書く複数タスクで衝突対策が取られているか
80
80
  - [ ] レビュータスク(read_only:true)が全 dev タスクに depends_on を持っているか
81
81
  - [ ] `tasks[].id` が一意で、`depends_on` の参照先が全て存在するか
@@ -38,10 +38,12 @@ tools:
38
38
  - テスト結果は合格・不合格・スキップの件数を記録する
39
39
 
40
40
  **After:**
41
- - `.claude/reports/test-report-YYYYMMDD-HHMMSS.md` に Write して出力する
41
+ - **必ず** `.claude/reports/test-report-YYYYMMDD-HHMMSS.md` に Write して出力する
42
+ - test-report を Write せずにターンを終了することは禁止
42
43
 
43
44
  ## Tools & Constraints
44
45
  制限: プロダクションコードのソースファイルを編集・書き込みしない
46
+ 必須: 毎回必ず test-report を `.claude/reports/test-report-YYYYMMDD-HHMMSS.md` に Write すること(出力なしでの終了は不可)
45
47
 
46
48
  ## Related Agents
47
49
  - 上流: planner(plan-report を受け取る)
@@ -10,6 +10,7 @@ import os
10
10
  import re
11
11
  from datetime import date, datetime, timezone
12
12
 
13
+ sys.stdin.reconfigure(encoding='utf-8')
13
14
  sys.stdout.reconfigure(encoding='utf-8')
14
15
  sys.stderr.reconfigure(encoding='utf-8')
15
16
 
@@ -40,7 +41,13 @@ def ensure_session_file(date_str: str) -> None:
40
41
  f.write(create_session_template(date_str))
41
42
  print(f'[Stop] セッションファイルを作成しました: {path}', file=sys.stderr)
42
43
  except FileExistsError:
43
- _update_facts_timestamp(path)
44
+ # /exit による中断等でファイルが空の場合はテンプレートを書き直す
45
+ if os.path.getsize(path) == 0:
46
+ with open(path, 'w', encoding='utf-8') as f:
47
+ f.write(create_session_template(date_str))
48
+ print(f'[Stop] 空セッションファイルを再初期化しました: {path}', file=sys.stderr)
49
+ else:
50
+ _update_facts_timestamp(path)
44
51
 
45
52
 
46
53
  def _append_last_message(path: str, message: str) -> None:
@@ -249,7 +249,7 @@ D-1 へ進む。
249
249
 
250
250
  ### D-1: tester(Red フェーズ)
251
251
 
252
- Agent ツールで `tester` エージェントを起動する。→ 失敗するテストを先に作成する。
252
+ Agent ツールで `tester` エージェントを起動する。→ 失敗するテストを先に作成する。**必ず `.claude/reports/test-report-YYYYMMDD-HHMMSS.md` を Write してから終了すること。**
253
253
 
254
254
  完了後 → セッションファイルの `- [ ] tester: Red フェーズ` を `- [x]` に Edit する。
255
255
 
@@ -278,7 +278,7 @@ AskUserQuestion で確認する:
278
278
 
279
279
  ### D-3: tester(確認)
280
280
 
281
- Agent ツールで `tester` エージェントを起動する。→ 全テストの合否を確認する。
281
+ Agent ツールで `tester` エージェントを起動する。→ 全テストの合否を確認する。**必ず `.claude/reports/test-report-YYYYMMDD-HHMMSS.md` を Write してから終了すること。**
282
282
 
283
283
  AskUserQuestion で確認する:
284
284
  ```json
@@ -304,7 +304,7 @@ Agent ツールで `developer` エージェントを起動する。→ テスト
304
304
 
305
305
  ### D-5: tester(最終確認)
306
306
 
307
- Agent ツールで `tester` エージェントを起動する。
307
+ Agent ツールで `tester` エージェントを起動する。**必ず `.claude/reports/test-report-YYYYMMDD-HHMMSS.md` を Write してから終了すること。**
308
308
 
309
309
  AskUserQuestion で確認する:
310
310
  ```json
@@ -56,6 +56,7 @@ user-invocable: false
56
56
  - plan-report の内容
57
57
  - test-report の内容(不合格テストの詳細)
58
58
  - 「test-report の不合格テストをすべて通過させるよう実装すること。テストコードは編集しないこと」
59
+ - 「**git commit は絶対に実行しないこと**。コミットは PO が行う」
59
60
 
60
61
  ---
61
62
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-conductor
3
- Version: 0.4.0
3
+ Version: 0.4.3
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
@@ -51,7 +51,7 @@ Claude Code Conductor(C3)は「親 Claude が複数の専門エージェン
51
51
 
52
52
  ```
53
53
  ユーザー
54
- ↓ /start, /develop, /review, /doc, /mcp, /extract-lib ...
54
+ ↓ /start, /develop, /code-review, /doc, /mcp-config, /extract-lib ...
55
55
  親 Claude(オーケストレーター)
56
56
  ├─ interviewer ← ヒアリング
57
57
  ├─ architect ← 設計
@@ -103,32 +103,32 @@ C3 では「どのファイルをどこに置くべきか」の定義が設計
103
103
  ```
104
104
  .claude/
105
105
  ├── agents/ エージェント定義(役割・スコープ・連携先)
106
- ├── commands/ ユーザーが呼ぶエントリーポイント(/start 等)
107
- ├── skills/ 複数エージェントをまたぐオーケストレーション手順
106
+ ├── skills/ スキル定義(/xxx コマンドの実体・オーケストレーション手順)
108
107
  ├── rules/ エージェントに注入される背景知識・制約
109
108
  ├── hooks/ イベントドリブンで自動実行される Python スクリプト
110
109
  ├── docs/ 人間向けリファレンス(エージェントは読まない)
111
110
  └── memory/ セッション間の記憶(patterns.json・session ファイル)
112
111
  ```
113
112
 
113
+ 各スキルは `skills/{name}/SKILL.md` の形式で配置されます(Claude Code 2026 skills 標準)。
114
+
114
115
  ### 配置の判断基準
115
116
 
116
117
  | 書きたい内容 | 置き場所 |
117
118
  |---|---|
118
- | 複数エージェントをまたぐ手順・フロー | `skills/` |
119
+ | ユーザーが `/xxx` で呼び出す手順・フロー | `skills/` |
119
120
  | 単一エージェントの役割・作業手順 | `agents/` |
120
- | ユーザーが `/xxx` で呼び出す入口 | `commands/` |
121
121
  | 知識・制約(「これを知っておけ」) | `rules/` |
122
122
  | 自動実行スクリプト | `hooks/` |
123
123
  | 人間向けドキュメント | `docs/` |
124
124
 
125
- > **skills/ が C3 の核心**。「Skill = 複数エージェントをまたぐオーケストレーション手順」という定義がすべての配置判断の起点になります。
125
+ > **skills/ が C3 の核心**。Claude Code のスラッシュコマンドはすべてスキルとして実装されており、`skills/{name}/SKILL.md` に YAML フロントマター付きで定義されています。
126
126
 
127
127
  ---
128
128
 
129
129
  ## ワークフロー
130
130
 
131
- 開発は `skills/dev-workflow.md` で定義された5フェーズで進みます。
131
+ 開発は `skills/dev-workflow/SKILL.md` で定義された5フェーズで進みます。
132
132
 
133
133
  ```
134
134
  フェーズ A: ヒアリング requirements-report を生成
@@ -149,27 +149,27 @@ C3 では「どのファイルをどこに置くべきか」の定義が設計
149
149
 
150
150
  ---
151
151
 
152
- ## コマンド一覧
152
+ ## スキル一覧
153
153
 
154
- ### Claude Code 内で使うスラッシュコマンド
154
+ C3 のスラッシュコマンドはすべてスキル(`skills/{name}/SKILL.md`)として実装されています。
155
155
 
156
- #### 開発ワークフロー
156
+ ### 開発ワークフロー
157
157
 
158
- | コマンド | 役割 |
158
+ | スキル | 役割 |
159
159
  |---|---|
160
160
  | `/init-session` | セッション初期化・前回状態の復元 |
161
161
  | `/setup` | コーディング規約の設定(coding-standards・project-conventions 生成) |
162
162
  | `/start` | 開発ワークフローの入口(ヒアリング/設計/計画/実装 から選択) |
163
163
  | `/develop` | TDD フェーズから直接開始 |
164
- | `/review` | レビューフェーズから直接開始 |
164
+ | `/code-review` | レビューフェーズから直接開始(code-reviewer + security-reviewer) |
165
165
  | `/promote-pattern` | 蓄積されたパターンを rules/ または skills/ に昇格 |
166
166
 
167
- #### ユーティリティ
167
+ ### ユーティリティ
168
168
 
169
- | コマンド | 役割 |
169
+ | スキル | 役割 |
170
170
  |---|---|
171
171
  | `/doc` | ドキュメントをヒアリングして生成(mermaid 図・README・API 仕様書など) |
172
- | `/mcp` | MCP サーバーの追加・一覧・削除(プロジェクトスコープ) |
172
+ | `/mcp-config` | MCP サーバーの追加・一覧・削除(プロジェクトスコープ) |
173
173
  | `/extract-lib` | 複数プロジェクトのコードを横断解析し、共通処理をライブラリとして設計・生成 |
174
174
 
175
175
  ### ターミナルで使う `c3` CLI(PyPI インストール時)
@@ -178,7 +178,7 @@ C3 では「どのファイルをどこに置くべきか」の定義が設計
178
178
  |---|---|
179
179
  | `c3 init` | 利用先プロジェクトに `.claude/` を展開する |
180
180
  | `c3 update` | `.claude/` をパッケージ最新版へ更新する(個人ファイルはスキップ) |
181
- | `c3 list-agents` / `list-skills` / `list-commands` | 設置済みアセットを一覧表示 |
181
+ | `c3 list-agents` / `list-skills` | 設置済みアセットを一覧表示 |
182
182
  | `c3 doctor` | 環境診断(`.claude/`・settings.json・claude バイナリ・parallel-orchestra) |
183
183
  | `c3 po dry-run <plan-report>` | plan-report をマニフェストとして検証(PO 必要) |
184
184
  | `c3 po run <plan-report>` | plan-report を parallel-orchestra で並列実行(PO 必要) |
@@ -193,6 +193,8 @@ C3 では「どのファイルをどこに置くべきか」の定義が設計
193
193
 
194
194
  `/start` 実行後は、各フェーズの承認を進めるだけで最後まで自動的に流れます。
195
195
 
196
+ > **公式コマンドとの名前衝突について:** C3 のスキル名は Claude Code 公式コマンドと重複しないよう設計されています。`/code-review`(≠ 公式 `/review`)、`/mcp-config`(≠ 公式 `/mcp`)はこの方針に基づく命名です。
197
+
196
198
  ---
197
199
 
198
200
  ## エージェント一覧
@@ -306,6 +308,8 @@ Copy-Item -Recurse claude-code-conductor\.claude your-project\
306
308
  - `/promote-pattern` を実行すると `rules/promoted/` または `skills/promoted/` にルールとして昇格します
307
309
  - 昇格したルールは以降の全セッションで自動的にエージェントへ注入されます
308
310
 
311
+ 昇格スキルは `skills/promoted-YYYYMMDD-{id}/SKILL.md` の形式で配置され、Claude Code が自動的に検出します。
312
+
309
313
  ---
310
314
 
311
315
  ## レポートの管理
@@ -358,5 +362,8 @@ pip install parallel-orchestra
358
362
  C3 はセッションをまたいで作業状態を記憶します。
359
363
 
360
364
  - **毎回のセッション開始時:** `/init-session` を実行する
361
- - **タスク完了のたびに:** session ファイルが自動更新される(まとめて最後に書かない)
362
- - **セッション終了時:** `stop.py` フックが自動的に session ファイルとパターン信用度を更新する
365
+ - **タスク完了のたびに:** session ファイルの残タスクを更新する(まとめて最後に書かない)
366
+ - **セッション終了時:** `stop.py` フックが自動的に以下を実行する
367
+ - session ファイルの記録時刻を更新
368
+ - Claude の最終応答(`last_assistant_message`)を事実ログに自動記録(次セッションで「前回何をしたか」が分かる)
369
+ - パターン信用度を再計算
@@ -10,7 +10,7 @@ Claude Code Conductor(C3)は「親 Claude が複数の専門エージェン
10
10
 
11
11
  ```
12
12
  ユーザー
13
- ↓ /start, /develop, /review, /doc, /mcp, /extract-lib ...
13
+ ↓ /start, /develop, /code-review, /doc, /mcp-config, /extract-lib ...
14
14
  親 Claude(オーケストレーター)
15
15
  ├─ interviewer ← ヒアリング
16
16
  ├─ architect ← 設計
@@ -62,32 +62,32 @@ C3 では「どのファイルをどこに置くべきか」の定義が設計
62
62
  ```
63
63
  .claude/
64
64
  ├── agents/ エージェント定義(役割・スコープ・連携先)
65
- ├── commands/ ユーザーが呼ぶエントリーポイント(/start 等)
66
- ├── skills/ 複数エージェントをまたぐオーケストレーション手順
65
+ ├── skills/ スキル定義(/xxx コマンドの実体・オーケストレーション手順)
67
66
  ├── rules/ エージェントに注入される背景知識・制約
68
67
  ├── hooks/ イベントドリブンで自動実行される Python スクリプト
69
68
  ├── docs/ 人間向けリファレンス(エージェントは読まない)
70
69
  └── memory/ セッション間の記憶(patterns.json・session ファイル)
71
70
  ```
72
71
 
72
+ 各スキルは `skills/{name}/SKILL.md` の形式で配置されます(Claude Code 2026 skills 標準)。
73
+
73
74
  ### 配置の判断基準
74
75
 
75
76
  | 書きたい内容 | 置き場所 |
76
77
  |---|---|
77
- | 複数エージェントをまたぐ手順・フロー | `skills/` |
78
+ | ユーザーが `/xxx` で呼び出す手順・フロー | `skills/` |
78
79
  | 単一エージェントの役割・作業手順 | `agents/` |
79
- | ユーザーが `/xxx` で呼び出す入口 | `commands/` |
80
80
  | 知識・制約(「これを知っておけ」) | `rules/` |
81
81
  | 自動実行スクリプト | `hooks/` |
82
82
  | 人間向けドキュメント | `docs/` |
83
83
 
84
- > **skills/ が C3 の核心**。「Skill = 複数エージェントをまたぐオーケストレーション手順」という定義がすべての配置判断の起点になります。
84
+ > **skills/ が C3 の核心**。Claude Code のスラッシュコマンドはすべてスキルとして実装されており、`skills/{name}/SKILL.md` に YAML フロントマター付きで定義されています。
85
85
 
86
86
  ---
87
87
 
88
88
  ## ワークフロー
89
89
 
90
- 開発は `skills/dev-workflow.md` で定義された5フェーズで進みます。
90
+ 開発は `skills/dev-workflow/SKILL.md` で定義された5フェーズで進みます。
91
91
 
92
92
  ```
93
93
  フェーズ A: ヒアリング requirements-report を生成
@@ -108,27 +108,27 @@ C3 では「どのファイルをどこに置くべきか」の定義が設計
108
108
 
109
109
  ---
110
110
 
111
- ## コマンド一覧
111
+ ## スキル一覧
112
112
 
113
- ### Claude Code 内で使うスラッシュコマンド
113
+ C3 のスラッシュコマンドはすべてスキル(`skills/{name}/SKILL.md`)として実装されています。
114
114
 
115
- #### 開発ワークフロー
115
+ ### 開発ワークフロー
116
116
 
117
- | コマンド | 役割 |
117
+ | スキル | 役割 |
118
118
  |---|---|
119
119
  | `/init-session` | セッション初期化・前回状態の復元 |
120
120
  | `/setup` | コーディング規約の設定(coding-standards・project-conventions 生成) |
121
121
  | `/start` | 開発ワークフローの入口(ヒアリング/設計/計画/実装 から選択) |
122
122
  | `/develop` | TDD フェーズから直接開始 |
123
- | `/review` | レビューフェーズから直接開始 |
123
+ | `/code-review` | レビューフェーズから直接開始(code-reviewer + security-reviewer) |
124
124
  | `/promote-pattern` | 蓄積されたパターンを rules/ または skills/ に昇格 |
125
125
 
126
- #### ユーティリティ
126
+ ### ユーティリティ
127
127
 
128
- | コマンド | 役割 |
128
+ | スキル | 役割 |
129
129
  |---|---|
130
130
  | `/doc` | ドキュメントをヒアリングして生成(mermaid 図・README・API 仕様書など) |
131
- | `/mcp` | MCP サーバーの追加・一覧・削除(プロジェクトスコープ) |
131
+ | `/mcp-config` | MCP サーバーの追加・一覧・削除(プロジェクトスコープ) |
132
132
  | `/extract-lib` | 複数プロジェクトのコードを横断解析し、共通処理をライブラリとして設計・生成 |
133
133
 
134
134
  ### ターミナルで使う `c3` CLI(PyPI インストール時)
@@ -137,7 +137,7 @@ C3 では「どのファイルをどこに置くべきか」の定義が設計
137
137
  |---|---|
138
138
  | `c3 init` | 利用先プロジェクトに `.claude/` を展開する |
139
139
  | `c3 update` | `.claude/` をパッケージ最新版へ更新する(個人ファイルはスキップ) |
140
- | `c3 list-agents` / `list-skills` / `list-commands` | 設置済みアセットを一覧表示 |
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 をマニフェストとして検証(PO 必要) |
143
143
  | `c3 po run <plan-report>` | plan-report を parallel-orchestra で並列実行(PO 必要) |
@@ -152,6 +152,8 @@ C3 では「どのファイルをどこに置くべきか」の定義が設計
152
152
 
153
153
  `/start` 実行後は、各フェーズの承認を進めるだけで最後まで自動的に流れます。
154
154
 
155
+ > **公式コマンドとの名前衝突について:** C3 のスキル名は Claude Code 公式コマンドと重複しないよう設計されています。`/code-review`(≠ 公式 `/review`)、`/mcp-config`(≠ 公式 `/mcp`)はこの方針に基づく命名です。
156
+
155
157
  ---
156
158
 
157
159
  ## エージェント一覧
@@ -265,6 +267,8 @@ Copy-Item -Recurse claude-code-conductor\.claude your-project\
265
267
  - `/promote-pattern` を実行すると `rules/promoted/` または `skills/promoted/` にルールとして昇格します
266
268
  - 昇格したルールは以降の全セッションで自動的にエージェントへ注入されます
267
269
 
270
+ 昇格スキルは `skills/promoted-YYYYMMDD-{id}/SKILL.md` の形式で配置され、Claude Code が自動的に検出します。
271
+
268
272
  ---
269
273
 
270
274
  ## レポートの管理
@@ -317,5 +321,8 @@ pip install parallel-orchestra
317
321
  C3 はセッションをまたいで作業状態を記憶します。
318
322
 
319
323
  - **毎回のセッション開始時:** `/init-session` を実行する
320
- - **タスク完了のたびに:** session ファイルが自動更新される(まとめて最後に書かない)
321
- - **セッション終了時:** `stop.py` フックが自動的に session ファイルとパターン信用度を更新する
324
+ - **タスク完了のたびに:** session ファイルの残タスクを更新する(まとめて最後に書かない)
325
+ - **セッション終了時:** `stop.py` フックが自動的に以下を実行する
326
+ - session ファイルの記録時刻を更新
327
+ - Claude の最終応答(`last_assistant_message`)を事実ログに自動記録(次セッションで「前回何をしたか」が分かる)
328
+ - パターン信用度を再計算
@@ -30,6 +30,7 @@ EXCLUDE_PATTERNS: tuple[str, ...] = (
30
30
  "docs/taxonomy.md",
31
31
  "docs/game-studios-research.md",
32
32
  "settings.local.json",
33
+ "pytest_temp.ini",
33
34
  )
34
35
 
35
36
  KEEP_PATTERNS: tuple[str, ...] = (
@@ -1,3 +1,3 @@
1
1
  """Claude Code Conductor (C3) - multi-agent orchestration framework for Claude Code."""
2
2
 
3
- __version__ = "0.4.0"
3
+ __version__ = "0.4.3"
@@ -27,6 +27,7 @@ EXCLUDE_PATTERNS: tuple[str, ...] = (
27
27
  "docs/taxonomy.md",
28
28
  "docs/game-studios-research.md",
29
29
  "settings.local.json",
30
+ "pytest_temp.ini",
30
31
  )
31
32
 
32
33
  KEEP_PATTERNS: tuple[str, ...] = (
@@ -1,2 +0,0 @@
1
- [pytest]
2
- pythonpath = src