Multi-agent orchestration framework for Claude Code (C3)
Project description
Claude Code Conductor (C3)
複数エージェントのオーケストレーションを中心に据えた Claude Code フレームワーク。
コンセプト
Claude Code Conductor(C3)は「親 Claude が複数の専門エージェントを指揮する」という設計思想で作られています。
ユーザー
↓ /start, /develop, /review, /doc, /mcp, /extract-lib ...
親 Claude(オーケストレーター)
├─ interviewer ← ヒアリング
├─ architect ← 設計
├─ planner ← タスク計画
├─ developer ← 実装
├─ tester ← テスト
├─ code-reviewer ← コードレビュー
├─ security-reviewer ← セキュリティレビュー
└─ doc-writer ← ドキュメント生成
各エージェントは明確なスコープを持ち、担当外の作業は行いません。 フェーズ間の遷移・承認フロー・知識の蓄積はすべてフレームワークが管理します。
なぜ CLAUDE.md だけでは足りないのか
Claude Code には標準で CLAUDE.md にプロジェクト指示を書く仕組みがあります。小規模・単発の作業ならそれで十分です。しかし業務開発でこう感じたことはないでしょうか。
CLAUDE.md 一枚運用の限界:
| 問題 | 何が起きるか |
|---|---|
| 指示が1ファイルに集中する | 長くなるほど Claude が全体を把握できなくなり、指示が無視されやすくなる |
| 「誰が何をするか」が分離されていない | ヒアリング・設計・実装・レビューを1つの Claude が兼任するため、コンテキストが汚染されて品質が下がる |
| ワークフローが定義されていない | 「いつ次のフェーズへ進むか」を Claude が自己判断する。承認なしに実装が始まることがある |
| セッションをまたいだ記憶がない | 前回うまくいったアプローチ・失敗した理由・プロジェクト固有のパターンが毎回リセットされる |
C3 が解決すること:
CLAUDE.md 一枚 C3
─────────────────────────────────────────────────────
全指示が1ファイル → 役割ごとにファイルを分離
Claude がすべてを兼任 → 専門エージェントが分業
フェーズ遷移は Claude が判断 → ユーザーが承認して進む
知識はセッションごとにリセット → patterns.json に蓄積・昇格
業務開発で「繰り返し使う」「チームで使う」「品質を担保する」を実現するには、この構造が必要です。
ファイル構成と意味
C3 では「どのファイルをどこに置くべきか」の定義が設計の核心です。
.claude/
├── agents/ エージェント定義(役割・スコープ・連携先)
├── commands/ ユーザーが呼ぶエントリーポイント(/start 等)
├── skills/ 複数エージェントをまたぐオーケストレーション手順
├── rules/ エージェントに注入される背景知識・制約
├── hooks/ イベントドリブンで自動実行される Python スクリプト
├── docs/ 人間向けリファレンス(エージェントは読まない)
└── memory/ セッション間の記憶(patterns.json・session ファイル)
配置の判断基準
| 書きたい内容 | 置き場所 |
|---|---|
| 複数エージェントをまたぐ手順・フロー | skills/ |
| 単一エージェントの役割・作業手順 | agents/ |
ユーザーが /xxx で呼び出す入口 |
commands/ |
| 知識・制約(「これを知っておけ」) | rules/ |
| 自動実行スクリプト | hooks/ |
| 人間向けドキュメント | docs/ |
skills/ が C3 の核心。「Skill = 複数エージェントをまたぐオーケストレーション手順」という定義がすべての配置判断の起点になります。
ワークフロー
開発は skills/dev-workflow.md で定義された5フェーズで進みます。
フェーズ A: ヒアリング requirements-report を生成
↓ 承認
フェーズ B: 設計 architecture-report を生成
↓ 承認
フェーズ C: 計画 plan-report を生成
↓ 承認(自動遷移)
フェーズ D: TDD tester → developer → tester のサイクル
↓ 承認(自動遷移)
フェーズ E: レビュー code-reviewer → security-reviewer
↓ 指摘あり
フェーズ C へ戻る(内部遷移・Step 0 なし)
各フェーズの移行時にユーザーが承認・否認・修正を選択します。 フェーズ D・E への遷移は承認後に自動で行われます。
コマンド一覧
Claude Code 内で使うスラッシュコマンド
開発ワークフロー
| コマンド | 役割 |
|---|---|
/init-session |
セッション初期化・前回状態の復元 |
/setup |
コーディング規約の設定(coding-standards・project-conventions 生成) |
/start |
開発ワークフローの入口(ヒアリング/設計/計画/実装 から選択) |
/develop |
TDD フェーズから直接開始 |
/review |
レビューフェーズから直接開始 |
/promote-pattern |
蓄積されたパターンを rules/ または skills/ に昇格 |
ユーティリティ
| コマンド | 役割 |
|---|---|
/doc |
ドキュメントをヒアリングして生成(mermaid 図・README・API 仕様書など) |
/mcp |
MCP サーバーの追加・一覧・削除(プロジェクトスコープ) |
/extract-lib |
複数プロジェクトのコードを横断解析し、共通処理をライブラリとして設計・生成 |
ターミナルで使う c3 CLI(PyPI インストール時)
| コマンド | 役割 |
|---|---|
c3 init |
利用先プロジェクトに .claude/ を展開する |
c3 update |
.claude/ をパッケージ最新版へ更新する(個人ファイルはスキップ) |
c3 list-agents / list-skills / list-commands |
設置済みアセットを一覧表示 |
c3 doctor |
環境診断(.claude/・settings.json・claude バイナリ・parallel-orchestra) |
c3 po dry-run <plan-report> |
plan-report をマニフェストとして検証(PO 必要) |
c3 po run <plan-report> |
plan-report を parallel-orchestra で並列実行(PO 必要) |
基本的な使い方
/init-session # セッション開始時に必ず実行
/setup # 初回のみ:プロジェクト規約を設定
/start # 開発開始
/start 実行後は、各フェーズの承認を進めるだけで最後まで自動的に流れます。
エージェント一覧
| エージェント | model | 主な出力 | 起動方式 |
|---|---|---|---|
| interviewer | sonnet | requirements-report | 親 Claude がペルソナ採用 |
| architect | opus | architecture-report | 親 Claude がペルソナ採用 |
| planner | opus | plan-report | 親 Claude がペルソナ採用 |
| developer | sonnet | 実装コード | Agent ツールで起動 |
| tester | sonnet | テスト・test-report | Agent ツールで起動 |
| code-reviewer | sonnet | code-review-report | Agent ツールで起動 |
| security-reviewer | sonnet | security-review-report | Agent ツールで起動 |
| doc-writer | sonnet | ドキュメント各種 | Agent ツールで起動 |
インタラクティブな対話が必要なエージェント(interviewer・architect・planner)は親 Claude がペルソナを採用して動作します。実装・検証系エージェントはサブエージェントとして起動されます。
既存プロジェクトへの導入
C3 の .claude/ はプロジェクトコードに一切触れません。既存のコードベースにそのまま追加できます。
前提条件
- Claude Code がインストール済みでログインしていること
- Python 3.10 以上がインストール済みであること
手順(推奨: PyPI から)
1. C3 をインストールする
pip install claude-code-conductor
2. プロジェクトに .claude/ を展開する
cd /path/to/your-project
c3 init
c3 init がパッケージに同梱された .claude/ テンプレートをカレントディレクトリへコピーします。後日テンプレート側を更新したい場合は c3 update で差分のみ反映できます(reports/ や memory/sessions/ 等の個人ファイルは保持されます)。
3. プロジェクトを Claude Code で開き、初期設定を行う
/init-session # セッション初期化
/setup # プロジェクトの技術スタック・規約を設定(初回のみ)
/setup を実行すると、使用言語・フレームワーク・命名規則などをヒアリングして .claude/rules/ に規約ファイルが生成されます。これ以降は /start で開発を始められます。
手順(PyPI を使わない場合)
git clone https://github.com/satoh-y-0323/claude-code-conductor.git
cp -r claude-code-conductor/.claude /path/to/your-project/
Windows(PowerShell):
Copy-Item -Recurse claude-code-conductor\.claude your-project\
既存コードへの影響
| 変更される場所 | 内容 |
|---|---|
.claude/ ディレクトリ(追加) |
C3 のフレームワーク一式 |
.gitignore(追記推奨) |
reports/・memory/sessions/ 等の個人作業ファイルを除外 |
プロジェクトの src/ や既存コードには一切触れません。
カスタマイズ方法
コーディング規約を追加する
/setup
を実行すると技術スタック・規約をヒアリングし、以下を自動生成します:
.claude/rules/coding-standards.md.claude/rules/project-conventions.md
プロジェクト固有の指示を追加する
| 内容 | 置き場所 |
|---|---|
| プロジェクトの概要・アーキテクチャ背景 | プロジェクトルートの CLAUDE.md |
| コーディング規約・命名規則 | /setup → .claude/rules/ |
| C3 フレームワーク設定 | .claude/CLAUDE.md(変更しない) |
エージェントを追加・カスタマイズする
.claude/agents/ に新しいエージェント定義ファイルを追加します。
フォーマットは既存エージェントファイルの構成(Core Mandate / Key Scope / Workflow / Related Agents)に合わせてください。
パターン昇格システム
開発中に発見した「うまくいったアプローチ」や「再発防止ルール」は session ファイルの patterns に記録されます。
- セッションをまたいで観測されるたびに 信用度(trust_score) が上がります
- 登録から3日以上・信用度 0.8 以上で 昇格候補 になります
/promote-patternを実行するとrules/promoted/またはskills/promoted/にルールとして昇格します- 昇格したルールは以降の全セッションで自動的にエージェントへ注入されます
レポートの管理
各フェーズが生成するレポートは .claude/reports/ に保存されます。
.claude/reports/
requirements-report-YYYYMMDD-HHMMSS.md
architecture-report-YYYYMMDD-HHMMSS.md
plan-report-YYYYMMDD-HHMMSS.md
code-review-report-YYYYMMDD-HHMMSS.md
security-review-report-YYYYMMDD-HHMMSS.md
archive/ ← /start 実行時に古いレポートをここに移動
/start の冒頭で既存レポートのアーカイブ確認が入ります(全移動・フェーズ選択・引き継ぎ)。
オプション: 並列実行 (parallel-orchestra)
計画フェーズで生成した plan-report を YAML フロントマター付きマニフェストとして parallel-orchestra (PO) に渡し、独立タスクを git worktree で並列実行できます。
インストール:
pip install parallel-orchestra
要件: Python ≥ 3.10、PATH に claude バイナリが必要です。
使い方:
/startで要件→設計→計画フェーズを完走させる(planner が plan-report の先頭に PO 用 YAML フロントマターを自動付与します)/developを起動 → D-0 で「PO 並列実行」を選ぶ- C3 が
c3 doctorで PO 利用可否を確認、c3 po dry-runでマニフェスト妥当性を検証、ユーザー承認を取ってからparallel-orchestra runを呼びます
未インストール時: /develop の D-0 で「PO 並列実行」を選んだ際にガイダンスメッセージが表示されます(エラーにはなりません)。逐次実行(D-0 の選択肢「TDD 逐次実行」)に切り替えるか、上記コマンドで PO を導入してください。
疎結合保証:
- C3 の
pyproject.tomlのdependencies/optional-dependenciesのいずれにも parallel-orchestra は含まれません - C3 → PO の通信は subprocess CLI のみ。Python 内部 API への依存はありません
- 並列実行が不要な利用者は PO を導入する必要はありません
セッション管理
C3 はセッションをまたいで作業状態を記憶します。
- 毎回のセッション開始時:
/init-sessionを実行する - タスク完了のたびに: session ファイルが自動更新される(まとめて最後に書かない)
- セッション終了時:
stop.pyフックが自動的に session ファイルとパターン信用度を更新する
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_code_conductor-0.3.4.tar.gz.
File metadata
- Download URL: claude_code_conductor-0.3.4.tar.gz
- Upload date:
- Size: 73.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65426430904780380d0e5d84c2e58dba67b97c05b7b850c6736f55a7af82c501
|
|
| MD5 |
8cb1e4355d6fcd2df82b7434ef48d9cd
|
|
| BLAKE2b-256 |
7599f05505578c83e5e86eef29037774fc0e556fbe8e9fe163e7c55272a336e6
|
Provenance
The following attestation bundles were made for claude_code_conductor-0.3.4.tar.gz:
Publisher:
publish.yml on satoh-y-0323/claude-code-conductor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_code_conductor-0.3.4.tar.gz -
Subject digest:
65426430904780380d0e5d84c2e58dba67b97c05b7b850c6736f55a7af82c501 - Sigstore transparency entry: 1427414494
- Sigstore integration time:
-
Permalink:
satoh-y-0323/claude-code-conductor@c0b203955859b65ed87e1360ae947b4ccba6e9bf -
Branch / Tag:
refs/tags/v0.3.4 - Owner: https://github.com/satoh-y-0323
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c0b203955859b65ed87e1360ae947b4ccba6e9bf -
Trigger Event:
push
-
Statement type:
File details
Details for the file claude_code_conductor-0.3.4-py3-none-any.whl.
File metadata
- Download URL: claude_code_conductor-0.3.4-py3-none-any.whl
- Upload date:
- Size: 94.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
364afa81faf127331e315e9579d99a48894906e0804b9a366a28d7683db9abe2
|
|
| MD5 |
fc09eb30c74a3fb36ba27ac3a41bf046
|
|
| BLAKE2b-256 |
5324597ba30b941f7c290ca88ab34dabd68debce7cae011540b90a1b2c581b3f
|
Provenance
The following attestation bundles were made for claude_code_conductor-0.3.4-py3-none-any.whl:
Publisher:
publish.yml on satoh-y-0323/claude-code-conductor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
claude_code_conductor-0.3.4-py3-none-any.whl -
Subject digest:
364afa81faf127331e315e9579d99a48894906e0804b9a366a28d7683db9abe2 - Sigstore transparency entry: 1427414582
- Sigstore integration time:
-
Permalink:
satoh-y-0323/claude-code-conductor@c0b203955859b65ed87e1360ae947b4ccba6e9bf -
Branch / Tag:
refs/tags/v0.3.4 - Owner: https://github.com/satoh-y-0323
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c0b203955859b65ed87e1360ae947b4ccba6e9bf -
Trigger Event:
push
-
Statement type: