mcpField
M
magi

magi

github.com/vintaエージェントワークフロー14246 回インストール今日更新
リポジトリ

magi について

magiは、3人のチームメイトが質問を並行して検討し、提案をまとめるブレインストーミング用スキルです。Claude Opus、OpenAI Codex、Google Geminiの視点を得たいユーザー向けに、検討から選択までを構成します。

主な機能

  1. 013つのモデルによる並行検討
  2. 02不明確なテーマへの確認質問
  3. 03提案の集約と提案者の明示
  4. 04任意の批評ラウンドと計画の引き継ぎ

活用シーン

  1. 01複数モデルの視点で質問を検討
  2. 02提案を比較して選択
  3. 03追加の議論で提案を批評

MCP 対応

Motherは `mcp__codex__codex` MCPツールを通じてOpenAI Codexにタスクを委任します。

インストール

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

$npx skills add https://github.com/vinta/hal-9000 --skill magi

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
personalities/
MAGI-1.md
MAGI-2.md
MAGI-3.md
references/
codex.md
gemini.md

詳細

MAGI

マルチモデル・ブレインストーミングパネルです。3 人のチームメイトがそれぞれ異なるモデルファミリーを使って並行して質問を検討し、最後にリーダーが各自の提案をまとめてユーザーに提示します。

  • Scientist:Claude Opus として直接推論します(外部へのディスパッチは行いません)
  • Mother:mcp__codex__codex MCP ツールを使って OpenAI Codex に委任します
  • Woman:gemini CLI を使って Google Gemini に委任します

プロセス

1. 明確化

質問の内容が不十分な場合は、AskUserQuestion を使って目的、制約、成功基準を明確にします。すでに明確で実行可能な場合は省略します。

  • アイデアを具体化するため、質問は 1 つずつ尋ねます
  • 可能であれば選択式の質問を優先しますが、自由回答でもかまいません
  • 1 回のメッセージにつき質問は 1 つだけにします
2. セットアップ

パーソナリティとリファレンスのファイルを読み込み、すべてのチームメイトを並行して起動します。

読み込むファイル:

TeamCreate でチームを作成し、名前を magi-{topic} にします(例:magi-auth-strategy)。

1 つのメッセージで 3 人のチームメイト全員を起動します(team_name を設定した Agent 呼び出しを 3 つ並行して実行):

チームメイトnamesubagent_typeプロンプトに含める内容
Scientistscientistgeneral-purposeMAGI-1.md のパーソナリティ + 質問(Opus として直接推論)
Mothermothergeneral-purposeMAGI-2.md のパーソナリティ + codex.md(Codex MCP にディスパッチ)+ 質問
Womanwomangeneral-purposeMAGI-3.md のパーソナリティ + gemini.md(Gemini CLI にディスパッチ)+ 質問

各起動プロンプトには、明確化した内容をすべて含めます。チームメイトは会話履歴を持っていません。

3. 並行して検討

リーダーの役割は調整のみです。

  • チームメイトが SendMessage で提案を送るまで待ちます
  • チームメイトから明確化の質問があれば、どのチームメイト(およびモデル)からの質問かを明記して、AskUserQuestion でユーザーに伝えます。ユーザーに代わって答えてはいけません。答えるのはユーザーだけです。
4. 統合して提示

すべての提案を集めたら、次の手順を実行します。

  1. 類似する提案を重複排除します(提案したチームメイト/モデルをすべて記載します)
  2. 提案が多い場合はテーマごとに分類します
  3. 各選択肢について、以下を提示します。
    • 提案したチームメイトとモデル(例:「Scientist [Opus]」「Mother [Codex]」)
    • 各視点からのトレードオフ分析
    • 誰がその選択肢を第一候補に挙げたか、その理由
  4. AskUserQuestion を使って、ユーザーに選択肢を選んでもらいます
  5. AskUserQuestion を使って、次に何をするか尋ねます。
    • 計画を作成:チームを解散してから writing-plans に引き継ぎます
    • 議論:もう一度批評を行います(以下を参照)
    • 完了:以降の作業は行わず、チームを解散します
5. 議論(任意、ユーザーが希望した場合)

ユーザーが希望した場合のみ実行します。繰り返し実行できます。

  1. SendMessage で、統合した選択肢の一覧を 3 人のチームメイト全員に配布します
  2. 各チームメイトが自身のモデルを通じて提案を批評します(Scientist は直接推論し、Mother と Woman は各自のリファレンスファイルにある Debate Mode に従います)
  3. 更新された見解を集めてユーザーに再提示します(手順 4 に戻ります)
6. 解散

ユーザーが計画を作成または完了を選択した場合に限り、チームを解散します。

  1. 各チームメイトに shutdown_request を送信します
  2. すべての終了承認を待ちます
  3. TeamDelete
7. 引き継ぎ(計画作成の場合のみ)

チームを解散した後、選択された選択肢をコンテキストとして writing-plans スキルを呼び出します。

注意点

  • チームメイトには会話履歴がありません。 必要な情報はすべて起動プロンプトに含める必要があります。ユーザーの質問、明確化したコンテキスト、CLAUDE.md、チームメイトの性格や参照用ファイルなどです。明確化のステップで得たコンテキストを忘れると、チームメイトは何も分からないまま作業することになります。
  • チームメイトがまだアクティブな場合、TeamDelete は失敗します。 必ず3人全員に shutdown_request を送り、承認を待ってから TeamDelete を呼び出してください。
  • Codex の threadId を保存してください。 Mother's の最初の mcp__codex__codex 呼び出しで、mcp__codex__codex-reply 経由でのディベートのフォローアップに必要な threadId が返されます。失うと、ディベートのラウンドでコンテキスト全体を再送する必要があります。
  • Gemini には永続的なスレッドがありません。 Codex とは異なり、Gemini の呼び出しは毎回ステートレスです。ディベートのラウンドでは、提案の一覧とペルソナを毎回すべて再送する必要があります。
  • チームメイトから報告がないことがあります。 チームメイトから応答がない場合は、SendMessage で促してください。2分間応答がなければ、得られた情報をまとめ、部分的な結果を提示してください。

コメント