1つの.claudeフォルダ、18のインストール対象——AgentKitsはAI設定ファイルの乱立問題にどう対処しているか
AgentKitsのインストーラーが、1つの.claude/ディレクトリから18種類のAIコーディングツールに対応する仕組みと、AGENTS.md標準との関係を解説します。
どのAIコーディングツールも、それぞれ違う方法で解決してきた問題
2024年から2025年の大半、AIコーディングツールはそれぞれ独自の方法で「このコードベースがどう動くか」をエージェントに伝えてきました。Claude CodeはCLAUDE.mdを読み、Cursorは.cursorrules(後に.cursor/rules)を読み、Windsurfは.windsurfrulesを読み、GitHub Copilotは.github/copilot-instructions.mdを読みます。複数のツールにまたがって使えるオープンソースリポジトリを維持しようとすると、ほぼ同じ内容のファイルをいくつも並行して保守する羽目になっていました。2025年8月、OpenAIがこの問題への解決策を提案しました——AGENTS.mdです。これはベンダーニュートラルな規約で、現在はLinux FoundationのAgentic AI Foundationが管理しており、Codex、Cursor、Gemini CLIなどが標準でこれを読み込みます。並行して、コミュニティ主導のAgent Rulesという取り組みも、別の角度から同じ賭けに出ています——指示を一度だけ定義し、各ツールがそれぞれ自分のコンテキストに取り込む、という考え方です。
AgentKits——オープンソースでMITライセンスのAIエージェントキット集で、現在は完全に作り込まれたMarketing Kit(18エージェント、93コマンド、28スキル)を提供しています——は、まさにこの断片化問題の下流に位置しています。今回、そのインストーラーが実際にどうこの問題に対処しているのかを調べました。というのも、「AGENTS.mdを採用して終わり」というのは、2つ以上のツールをサポートすると決めた時点で、実際にはまだ答えの一部でしかないことが分かったからです。
18のプラットフォーム、そのうち「推奨」は3つ
このインストーラーのプラットフォーム対応は、ツールごとにハードコードされているわけではありません。platform-codes.yamlという1つのYAMLファイルに宣言されており、汎用のIdeManagerがそこに記載されたエントリごとにハンドラーを動的にロードします。このファイルを直接読むと、宣言されているプラットフォームは18個あります——npmパッケージの説明文に挙げられている5つ(Claude Code、Cursor、GitHub Copilot、Windsurf、Cline)だけでなく、Gemini CLI、Roo Code、Trae、OpenCode、Auggie、QwenCoder、Kilo Code、Codex CLI、Rovo Dev、Google Antigravity、Crush、iFlow、Kiroも含まれます。そのうち3つがpreferred(推奨)としてマークされ、インストーラーで最初に表示されます:Claude Code、Cursor、Windsurfです。
重要なのは、どのプラットフォームを選んでも、すべてのエージェントとすべてのスキルの完全な内容が、必ずそのまま.claude/agents/と.claude/skills/にコピーされるという点です。このディレクトリこそが唯一の正規のソースです。プラットフォームごとに変わるのは、その先の処理です。
コピーではなく「ランチャー」
コマンドについては、インストーラーは18種類の形式に内容を複製することはしません。代わりに、対象ツールが期待する形に合わせた短い「ランチャー」ファイルを生成し、それが.claude/commands/にある実体ファイルを指し示すようにします。生成ロジックは、{type}-command.md、{type}-command.toml、{type}-rule.md、{type}-steering.md、{type}-modes.yamlという一連のテンプレートファイル名を順に試し、どれも一致しなければ汎用のフォールバックを使います。
その結果は、ファイル名だけでなく、トーンや形式もツールごとに実際に異なります。Windsurfのランチャーはフロントマターにcascade: trueを宣言し、4段階の指示を明記します——ワークフローファイルを読み込む、全文を読む、手順どおりに実行する、各ステップで進捗を報告する。汎用のフォールバックテンプレートはもっと直截的です——「このコマンドに従うことは極めて重要です」——ツール固有の仕組みに頼れる余地がないためです。GitHub Copilotは1つではなく3つの出力先を受け取ります(.github/agents/*.agent.md、.github/instructions/、そしてルート直下の.githubファイル)。これはCopilot自身が持つ「エージェント定義」と「インストラクション」の区分に対応したものです。Roo Codeも同様に2つの出力先を受け取ります——.roo/rules-agentkits/とルート直下の.roomodesファイルで、これはRoo自身の「ルール」と「モード」の区分を反映しています。一方Kilo Codeは、コマンドごとのファイルではなく、プロジェクトルートの1つの.kilocodemodesというYAMLファイルにすべてをまとめます。
AGENTS.mdが実際に当てはまる場所
18のプラットフォームのうち2つ——OpenCodeとCodex CLI——は、独自形式に紐づいていません。これらのインストール対象の設定ではtemplate_type: agents_mdが指定されており、プラットフォーム設定ファイルにはそのまま「AGENTS.md standard format(AGENTS.md標準フォーマット)」というラベルが付いています:ルート直下の1つのAGENTS.mdファイルを、その場で更新する形です。つまりAgentKitsはOpenAIが提案した標準を無視しているわけではなく、ツールのエコシステムが実際にそれを読み込む場所ではそれをそのまま使い、それ以外の場所ではそれぞれのツール本来のネイティブ形式を使っている、ということです。これは「全員が1つのファイルに収束する」という賭けよりも狭い、より守りの姿勢の強い賭けです——残り16のプラットフォームが何かを新たに採用しなくても、今日の時点でAgentKitsが正しく動作することを求めているからです。
このトレードオフは、各プラットフォームが受け取れる内容にも表れています。アーティファクトのフラグにおいてskills: true、memory: true、journeys: trueがすべて有効になっているのはClaude Codeのエントリだけです。それ以外のプラットフォームは、AGENTS.mdを書き出すかどうかに関わらず、エージェントとコマンドまでに制限されています。キットのより豊かな部分はClaude Code専用のまま残り、それ以外の対象は——見落としではなく意図的に——機能はするものの、より薄いインストールになります。
名付けておく価値のある皮肉
AgentKits自身のリポジトリにはAGENTS.mdファイルが存在しません。このプロジェクト自体は主にClaude Codeで開発されているため、CLAUDE.mdと.claude/ディレクトリこそが自らの正規のソースです——それは、インストーラーが他の誰かのプロジェクトに対して「正規」として扱っているのと、まったく同じディレクトリです。エコシステム全体がいまも標準化を巡って調整を続けている断片化問題は、このコードベース1つの中では、それを実際に作っているツールにとって普遍的なファイルを必要としないことによって、そしてダウンストリームの利用者が選んだツールが必要とする、その時々のファイル形式を生成することによって、解決されています。
AgentKitsはオープンソースで、MITライセンスのもと永久に無料です。Marketing Kitを試したり、自分のプロジェクトにインストールしたり、今後の展開を追ったりするにはagentkits.netをご覧ください。お問い合わせは[email protected]まで。
関連記事
翻訳者もまたエージェントである——AgentKitsが自らのドキュメントをローカライズする方法
AgentKitsがClaude Agent SDK製のNode.jsツールで、READMEと23モジュールの講座を10言語に翻訳する仕組みと、LLMが適している理由を解説します。
ガイドEngineer KitはMarketing Kitよりスキル数が多いのに、まだ公開されていない
スキル数40とMarketing Kitより多いEngineer Kitが「Preparing」のまま、2番目の投入になる理由をAgentKitsの出荷順から見ます。
ガイドAgentKits Memoryが賭けたのは「1つのローカルSQLiteファイル」——エージェントメモリ市場はクラウドに向かう中で
2026年、AIエージェントの「メモリ」は混み合った市場になった——Mem0、Zep、Letta、Cognee、LangMem。マネージドクラウド、セルフホスト、ローカルMCPの3つの提供形態が併存する中、AgentKits MemoryがなぜローカルMCPの路線にとどまるのか、そのトレードオフの中身を見る。