mcpField
C
cross-agent-delegation

cross-agent-delegation

github.com/alinaqiエージェントワークフロー711114 回インストール2 週間前に更新
リポジトリ

cross-agent-delegation について

cross-agent-delegationは、Claude CodeからKimiやCodexへコーディングタスクを振り分けるスキルです。複雑さとリスクに基づいて委譲先を決め、テスト合格後のCodexレビューを自動実行します。

主な機能

  1. 01複雑さとリスクに基づくタスク振り分け
  2. 02Claude CodeからKimiへの委譲
  3. 03テスト合格後のCodex自動レビュー
  4. 04コード変更前後のiCPGチェック
  5. 05Mnemosチェックポイントによるコンテキスト転送

活用シーン

  1. 01範囲の明確なコーディングタスクのKimiへの委譲
  2. 02完了した変更のCodexレビュー
  3. 03コーディングエージェント間のタスクコンテキスト共有

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alinaqi/maggy --skill cross-agent-delegation

インストール後、Claude Code で/cross-agent-delegationを入力して読み込まれたか確認します。

詳細

エージェント間の委任

Claude Code は、Kimi と Codex へのタスクの振り分けを調整します。ユーザーは Claude とのみやり取りし、委任はバックグラウンドで行われます。


ツールの検出

セッション開始時に、利用可能なツールを検出します。

command -v kimi &>/dev/null && HAS_KIMI=true || HAS_KIMI=false
command -v codex &>/dev/null && HAS_CODEX=true || HAS_CODEX=false

Codex による自動レビュー(Stop フック — 自動)

Codex がインストールされている場合、テストの成功後に Stop フックがコードをレビューします。

  1. TDD ループチェックでテストを実行します
  2. codex-auto-review.sh が差分に対して Codex を実行します
  3. 重大または高リスクの指摘が Claude にフィードバックされます(exit 2)
  4. 問題のないレビューはそのまま通過します(exit 0)

すべて自動で行われます。 ユーザーや Claude による操作は不要です。


Kimi への委任(Claude が調整)

Kimi がインストールされていて、タスクの複雑さに上限を見込める場合、Claude が直接委任するため、ユーザーが何かを実行する必要はありません。

ステップ 1:ファイル数ではなく複雑さを評価する

ファイル数は、委任のリスクを測る指標として適切ではありません。認証パスの 1 ファイルの変更は、12 ファイルの名前変更より難しい場合があります。iCPG のシグナルと Claude の意味的推論に基づき、次の 5 つの観点をそれぞれ 0~2 で評価します。

観点0(低)1(中)2(高)情報源
循環的複雑度/表層の深さ10 LOC 未満、分岐なし10~50 LOC、分岐 3 個以下50+ LOC またはネストされた制御フロー関数本体に対する iCPG query_graph
ファンアウト(利用側への影響範囲)呼び出し元 0~2 個呼び出し元 3~10 個呼び出し元 11 個以上iCPG trace_path(<symbol>, mode=callers)
セキュリティ境界をまたぐか(SEC-006、認証、PII、RLS、組織スコープ、課金、決済)なし間接的直接の読み取りまたは書き込みiCPG SEC-*/R-063 タグと、org_id、user_id、auth、pii の grep
並行処理/トランザクション純粋/同期非同期のみロック、トランザクション、アトミックな取得、FOR UPDATE、asyncio.Lock、session.beginiCPG の並行処理フラグと grep
必要なドメイン不変条件なし/インラインで十分に文書化されている暗黙的なものがいくつかある(1~2 ファイルの確認が必要)多い(複数ドキュメント、ADR、RFC に依存)Claude の推論と iCPG の ADR リンク
# Auto-collect signals
icpg query blast <scope> --format json    # fan-out, async flags, sec tags
grep -rE "org_id|user_id|auth|pii"  <file>  # cheap sec heuristic if iCPG flags absent
grep -rE "asyncio.Lock|FOR UPDATE|session.begin" <file>  # concurrency heuristic
ステップ 2:合計 → 振り分け
合計スコア振り分け先理由
0-3Kimi 単独対象範囲が限定され、セキュリティ/並行処理/複数ドキュメントに関する懸念がない
4-6Kimi → Codex による自動レビュー(ユーザーへの確認なし)実際のリスクはあるものの、Claude の完全なコンテキストが必要なほどではありません。Codex が Kimi の見落としを検出します
7-10Claude が直接対応横断的/セキュリティ上重要/並行処理が多いタスクのため、完全なコンテキストが必要です
ステップ 3:下限 — ごく単純なケースのショートカット

本当に単純な作業で iCPG クエリのコストを省くには、次のようにします。

# If <2 files changed AND no SEC/auth/PII/concurrency keyword in diff,
# → auto-Kimi without scoring.
FILES=$(git diff --name-only | wc -l)
HAS_RISK_KEYWORDS=$(git diff | grep -ciE "org_id|auth|pii|asyncio|FOR UPDATE|transaction|session\.begin" || true)
if [ "$FILES" -lt 2 ] && [ "$HAS_RISK_KEYWORDS" -eq 0 ]; then
  AUTO_KIMI=true
fi

これにより、iCPG との往復を行わずに、ごく単純な名前変更や誤字修正に対応できます。

委任しない場合(スコアより優先)
  • ユーザーが Claude に直接対応するよう明示的に依頼した場合
  • サービスをまたぐ変更(API + フロントエンド + データベース)。スコアに関係なく完全なコンテキストが必要です
  • リリースブランチでの本番環境の緊急修正。複数ツールによるレビューの遅延が大きすぎます
  • いずれか 1 つの観点でスコアが 7 以上の場合(重要な軸が 1 つでもあれば、Claude が関与します)
ステップ 4:Bash 経由で委任

Claude は mnemos チェックポイントを書き込んでから、ヘッドレスで Kimi を実行します。

# 1. Save current context to disk
mnemos checkpoint --force

# 2. Get context summary for Kimi
CONTEXT=$(mnemos resume 2>/dev/null)

# 3. Get constraints for target files
CONSTRAINTS=$(icpg query constraints <target-file> 2>/dev/null)

# 4. Run Kimi headless with full context
kimi --print -y -w . -p "
## Context (from mnemos checkpoint)
$CONTEXT

## Constraints (from iCPG)
$CONSTRAINTS

## Task
<specific task description>

## Rules
- Run tests after changes
- Record changes: icpg record --base main
- Write checkpoint when done: mnemos checkpoint --force
"
ステップ 4:結果を確認

Kimi の完了後、Claude は次の処理を行います。

# Read what Kimi did
mnemos resume          # Kimi's checkpoint
icpg status            # Kimi's recorded symbols
git diff               # Kimi's file changes
委任しない場合
  • セキュリティ上機密性の高いコード(認証、暗号、決済)
  • サービスをまたぐ変更(API + フロントエンド + データベース)
  • 共有インターフェースに触れるリファクタリング
  • ユーザーが Claude に直接対応するよう明示的に依頼した場合

iCPG — すべてのエージェントで必須

コードを変更する前に、Claude は次のクエリを実行し、委任時にはその結果を含めます。

タスク開始前のクエリ
# 1. Duplicate check — already done?
icpg query prior "<goal>"

# 2. Constraints — what invariants apply?
icpg query constraints <file-path>

# 3. Risk — is this symbol fragile?
icpg query risk <symbol-name>
コード変更後
icpg record --reason <id> --base main
icpg drift check

Mnemos — すべてのエージェントで必須

タスク開始時
mnemos add goal "<task description>"
サブゴールの境界で
mnemos checkpoint
タスク終了時(Stop フックが自動処理)
mnemos checkpoint --force
ツール間のコンテキスト転送

チェックポイントが橋渡しとなります。Claude が書き込み、Kimi が読み取ります。

# Claude saves state
mnemos checkpoint --force

# Kimi (or Codex) reads state
mnemos resume

チェックポイントには、目標、制約、最近のファイル、Git の状態、疲労レベルが含まれます。


オーケストレーションの全体フロー

TASK ARRIVES (user tells Claude)
    |
    v
[1] Claude: icpg query prior "<goal>"     ← Already done?
[2] Claude: trivial-case shortcut         ← <2 files & no risk keywords?
    |
    +-- YES + Kimi installed -----> AUTO-KIMI (no scoring)
    |
    +-- NO ↓
    v
[3] Claude: score complexity (5 dims × 0-2, iCPG + reasoning)
    |
    +-- score 0-3   ----> KIMI SOLO PATH
    |   [a] mnemos checkpoint --force
    |   [b] kimi --print -y -p "..."
    |   [c] mnemos resume + git diff
    |   [d] Continue in Claude
    |
    +-- score 4-6   ----> KIMI + CODEX REVIEW PATH
    |   [a] mnemos checkpoint --force
    |   [b] kimi --print -y -p "..."
    |   [c] codex review --uncommitted    ← Auto-review the diff
    |   [d] If P0/P1 findings: re-prompt Kimi with findings
    |   [e] Once clean: continue in Claude
    |
    +-- score 7-10  ----> CLAUDE DIRECT PATH (full context)
    |
    v
[4] icpg query constraints <files>         ← Invariants
[5] icpg query risk <symbols>              ← Fragility
[6] mnemos add goal "<task>"               ← Track in memory
    |
    v
[7] IMPLEMENT (TDD: RED -> GREEN)
    |
    v
[8]  Stop: tdd-loop-check.sh               ← Tests pass?
[9]  Stop: codex-auto-review.sh            ← Codex reviews diff
[10] Stop: icpg-stop-record.sh             ← Record symbols
[11] Stop: mnemos-checkpoint.sh            ← Save memory

コメント