異なるproviderのAI(Codex/Claude/Grok/Cursor/Antigravity等)から独立意見を集め、共通論点で相互検討して統合する。最初に利用可能エージェントを検出する。「みんなで考えて」「マルチエージェントで分析して」「複数のAIでレビューして」と言われたら使う。
npx skills add https://github.com/karaage0703/ai-assistant-workspace --skill xs-multi-agent
異なるAI providerから独立意見を得て、共通論点で考えた結果を統合する。
同じproviderの子エージェントを増やすだけの並列処理とは区別する。
重要: このスキルは毎回、最初に利用可能エージェントを検出する。CLIの入れ替わり、ログイン状態、クォータ、環境差を固定表で決め打ちしない。
bash [SKILL_DIR]/scripts/check_agents.sh
このコマンドは、各エージェントに軽いプロンプトを投げ、skills/xs-multi-agent/SKILL.md を読めるかまで確認する。成功判定には固定トークン CHECK_AGENTS_OK を使い、解釈差のある自然言語回答を判定に使わない。各サービスのクォータを少量使う。
軽量にコマンド存在とバージョンだけ見たい時:
bash [SKILL_DIR]/scripts/check_agents.sh --no-smoke
このコマンドは $STATE_DIR/multi-agent/agents.json を作成・更新し、生成したパスを出力する。
STATE_DIR は STATE_DIR="${STATE_DIR:-${WORKSPACE_PATH:-$HOME}/.xangi}" として扱う。WORKSPACE_PATH が未設定なら $HOME/.xangi/multi-agent/agents.json に保存される。設定ファイルはランタイム状態なので git 管理しない。
available: true: コマンドがPATH上にあり、最低限のバージョン取得に成功ready: true: smoke 実行時に短い依頼が成功ready: false: smoke 実行時にログイン切れ、usage limit、実行失敗を検出ready: null: --no-smoke 実行時など、実依頼の疎通は未確認recommended: true: 通常の依頼先候補provider_family: OpenAI / Anthropic / xAI / Google等の独立性を判定する単位unknownとしてpanel票に数えないscope: current_turn: 現在のセッション内だけ有効volatile: true: セッション、チャンネル、モデル、プロンプトで実体が変わるready_agents: 動作確認に成功した外部エージェントusable_agents: ready=true かつ recommended=true の標準外部依頼先固定表ではなく、scripts/check_agents.sh の検出結果を使う。現在の検出対象:
| ID | 位置づけ | 標準扱い |
|----|----------|----------|
| self | 現在のAIセッション。調整役・統合役 | 候補配列には入れない |
| codex | 設計判断、デバッグ、深い推論、コードレビュー | 推奨 |
| claude | 広い推論、文章化、レビュー | 推奨(クォータ注意) |
| grok | 別視点の設計・レビュー、実装案 | 推奨 |
| cursor | codebase Q&A、plan/ask modeレビュー | 推奨 |
| antigravity | Antigravity CLI | 推奨(smoke pass時のみ) |
追加・削除が必要になったら、scripts/check_agents.sh と scripts/run_agent.sh の両方を更新する。
bash [SKILL_DIR]/scripts/check_agents.sh を実行agents.json を読むusable_agents を外部依頼先の基本候補にするready=false はそのターンでは使わないself は現在ターンの調整役として扱い、外部依頼先リストには混ぜないready=true は短いsmoke成功だけを意味する。今回必要なネットワーク、workspace読取、filesystem watchまでは保証しない例:
以下はLinux / WSLの例。setsid がないmacOSではlaunchdなどservice managerを使う。
CONFIG_PATH="$(bash skills/xs-multi-agent/scripts/check_agents.sh)"
cat "$CONFIG_PATH"
CLIごとに引用符、改行、長文引数で事故りやすい。依頼内容は /tmp にファイル化し、依頼に必要な最小ディレクトリを明示して渡す。
cat > /tmp/multi-agent-prompt.txt <<'EOF'
<依頼内容>
EOF
短時間の依頼は補助スクリプトで実行する。
bash skills/xs-multi-agent/scripts/run_agent.sh codex /tmp/multi-agent-prompt.txt "$PWD"
bash skills/xs-multi-agent/scripts/run_agent.sh grok /tmp/multi-agent-prompt.txt "$PWD"
bash skills/xs-multi-agent/scripts/run_agent.sh cursor /tmp/multi-agent-prompt.txt "$PWD"
対象workspaceは必須。調整役のworkspaceを既定で丸ごと渡さない。run_agent.sh は空回答、途中終了、permission blocker、filesystem watch失敗を非0終了にする。一定量の根拠が必要なら MULTI_AGENT_MIN_OUTPUT_BYTES=500 のように最小出力量を指定する。
「みんなで調べて考えて」の既定目的は、単なる作業分散ではなく異なるproviderの見方を同じ判断へ反映すること。
provider_family 2系統以上が共通のsynthesisへ有効回答すること調査・情報収集が必要なとき:
コードや文章のレビュー:
レビュー依頼時は、各エージェントに「バグ・リスク・回帰・不足テストを優先。好みの指摘は後回し」と明示する。
アイデア出し・深い分析:
各成果物をファイルへ保存し、TSVへ状態を記録する。
agent_id phase status role evidence_path
codex synthesis success 統合判断 /tmp/synthesis-codex.txt
claude synthesis success 統合判断 /tmp/synthesis-claude.txt
bash [SKILL_DIR]/scripts/validate_panel.sh \
--phase synthesis --min-success 2 --min-families 2 \
"$CONFIG_PATH" /tmp/multi-agent-results.tsv
panelはagents.jsonでready=trueの外部agentだけを数え、同じevidence fileを相対パス・symlink等で複数agentの成果として再利用する行を拒否する。これは実行manifestの整合性ゲートであり、providerの暗号学的な身元証明ではない。
検証失敗時も単独の暫定分析は返してよいが、「みんなの結論」「合意」とは表現しない。成功・失敗したproviderと不足視点をそのまま報告する。
MULTI_AGENT_ENV_FILE から ANTHROPIC_API_KEY / CLAUDE_CODE_MAX_BUDGET_USD を限定して読み込む--trustを使うので、信頼できる対象workspaceだけを渡すready=trueの場合だけGoogle provider票として扱う。既定はgemini-3.1-pro-lowで、MULTI_AGENT_ANTIGRAVITY_MODELにより別のGeminiモデルを指定できる。空出力・quota 429・認証エラーを成功扱いしないself だけで進める。その場合は「検出したが外部エージェントは使えなかった」と明示するcheck_agents.sh / run_agent.shを変更した場合、PATH上でavailable=trueの全agent IDを実CLI smokeし、成功・失敗理由をagent別に確認したvalidate_panel.shで目的phaseの異なるprovider 2系統以上を確認したAIアシスタントのセッションは turn-based。外部AIプロセスを起動したまま turn を閉じると、結果回収できないことがある。所要時間で分岐する。
scripts/run_agent.sh をforegroundで実行し、同じ turn 内で結果を受け取る並列に大規模分析させる場合は、turn を跨ぐ前提で組む。
setsid bash -lc で親process groupから分離し、PID・ログ・終了コードを保存するps で別SID/PGIDと生存を確認するxangi-cmd trigger を呼ぶ。定刻確認なら schedule_add を使う例:
AGENT_STATE_DIR="$(mktemp -d)"
setsid bash -lc '
state_dir="$1"
agent="$2"
prompt_file="$3"
workspace="$4"
echo $$ > "$state_dir/pid"
bash skills/xs-multi-agent/scripts/run_agent.sh "$agent" "$prompt_file" "$workspace" > "$state_dir/output.log" 2>&1
rc=$?
echo "$rc" > "$state_dir/exit"
# xangiでは終了状態保存後に xangi-cmd trigger を呼ぶ
exit "$rc"
' bash "$AGENT_STATE_DIR" codex /tmp/multi-agent-prompt.txt "$PWD" >/dev/null 2>&1 &
sleep 2
ps -o pid,ppid,sid,pgid,stat,etime,cmd -p "$(cat "$AGENT_STATE_DIR/pid")"
echo "State: $AGENT_STATE_DIR"
「結果が来たら統合します」と書くなら、schedule / trigger / ユーザーへの明示的なハンドオフのどれかを必ず作る。
process poll / process log コマンドを書くself を外部エージェントとして保存し、次回以降の依頼先にするCreate new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take karaage0703/xs-multi-agent from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.