結論:AGENTS.mdは「置けば全環境で同じ」ではない

Claude Code v2.1.277では、プロジェクトにCLAUDE.mdがない場合、AGENTS.mdを読む対応が追加されました。公式release notesは、/configのProject instructionsから変更できること、Bedrock・Vertex・Foundryではまだ対応していないことを明記しています。したがって、AGENTS.mdは便利なファイル名の追加であって、提供条件・優先順位・検証を省略できる仕組みではありません。

読者の課題は、複数のagent toolが使うAGENTS.mdを置いた結果、Claude Codeが読んだと思った指示を別providerや別surfaceが読まないことです。最初に「正本」「互換コピー」「機密情報を置かない範囲」を決め、clone後のreadbackまでを導入手順に含めます。

根拠はClaude Code v2.1.277公式リリースとCLAUDE.md・AGENTS.md公式文書です。設定の優先順位はSettings files and precedence、長い手順の分離はSkills公式文書を正本にします。既存のsubagent指示ファイルは起動時promptの分離、managed settings承認は組織設定の変更管理が中心で、本稿はrepository内のProject instructionsへ限定します。

CLAUDE.mdとAGENTS.mdを比較する

選択向いている状態注意点
CLAUDE.mdClaude Code固有のproject ruleを正本化既存repoの運用と重複しないか確認
AGENTS.md複数agent toolで共有するproject instructionClaude Codeのprovider・version対応を検証
両方共通規約とClaude専用補足を分ける矛盾、重複、読み込み順を定期review
Skills・rules特定作業やpathだけに適用毎sessionへ全文を積まない設計にする

公式文書はCLAUDE.mdをproject、user、managedなどのscopeで説明し、AGENTS.mdを既存のproject instructionとして扱います。ここで大切なのはファイル名よりも、内容が「Claudeに毎回知ってほしい短い事実・規則」かどうかです。API key、個人情報、環境固有のURL、秘密の運用手順をrepositoryへ入れないでください。拒否したい操作を文書だけで強制することもできないため、必要ならpermission、hook、CI gateを別に設計します。

導入前に行う8手順

  1. 対象surfaceを列挙する。Claude CodeのCLI、IDE、Desktop、SDK、Bedrock、Vertex、Foundryを使う場所ごとに記録します。
  2. 正本を一つ決める。既存のCLAUDE.mdを残すのか、AGENTS.mdへ移すのか、両方の役割を一文で定義します。
  3. 指示を三分類する。全員が守る規約、projectの構成知識、特定作業だけの手順へ分けます。
  4. 機密を除く。credential、customer data、内部host、個人の好みを、version管理される指示ファイルから外します。
  5. 短く書き直す。build command、test command、directory、禁止事項、review条件を具体的な検証可能な文にします。
  6. scopeを図にする。managed、command line、project local、shared project、userの同名設定がどう競合するか確認します。
  7. /configでreadbackする。Project instructionsにどのファイルが表示・変更対象になるか、CLIとproviderごとに確認します。
  8. 小さな変更で回帰する。新しいclone、subdirectory、worktree、Bedrock等の非対応環境で、期待した指示が読まれない時の表示を確認します。

移行では、ファイルをrenameして終わりにしないでください。まず旧CLAUDE.mdの内容を棚卸しし、必須のproject factと作業手順を分離します。AGENTS.mdを追加する場合は、同じ規則を二か所へコピーして片方だけ更新される状態を避けます。両方を置く場合は、共通の禁止事項を重複させず、Claude Code専用の補足だけをCLAUDE.mdへ残すなど、差分が意図的であることをREADMEへ明記します。

worktreeやmonorepoでは、rootのAGENTS.mdとsubdirectoryのAGENTS.mdが同時に候補になります。repositoryのどの階層で何が適用されるかを、代表的なdirectoryで実際にreadbackします。共通規約をrootへ、サービス固有のbuildとtestを該当subdirectoryへ置き、親子で逆のルールを書かないことが安全です。利用者が別branchで古い指示を読む可能性もあるため、重要な変更はcommit、review、適用日を残します。

企業利用でのreviewと強制を分ける

AGENTS.mdはinstruction contextであり、設定やpolicyの代替ではありません。例えば「productionへ書き込まない」と書いても、tool権限、network、credential、CIの保護がなければ強制できません。文書は判断材料と期待する手順、permissionやhookは実行の境界、CIは成果物の品質、と役割を分けます。

変更reviewでは、命令の追加だけでなく、既存ルールとの矛盾、context消費、適用範囲を確認します。毎sessionで読むファイルが長すぎると、重要な規則が埋もれます。path-scoped rulesやSkillsへ移せる手順は分離し、レビュー担当者が一回のdiffで意味を判断できる量に保ってください。Skillsの出所管理と同じように、誰が追加・削除・承認するかを台帳化すると、個人のローカル変更が標準へ混ざりにくくなります。

対応外providerでAGENTS.mdが読まれない場合は、同じ名称を配るだけで解決しません。CLAUDE.md、managed settings、provider側のproject instructionなど、公式に確認できる経路へ内容を移し、sourceとversionを記録します。対応状況が変わる将来に備え、テスト用の短い規則と期待するreadbackをrepositoryへ残し、更新時に自動検証できるようにします。

チェックリスト

  • Claude Code v2.1.277以降を確認した
  • AGENTS.mdを正本にする理由を書いた
  • CLAUDE.mdとの重複・矛盾を確認した
  • Bedrock・Vertex・Foundryの対応外条件を記録した
  • 機密情報を指示ファイルから除いた
  • root・subdirectory・worktreeの適用範囲をreadbackした
  • 文書とpermission・hook・CIの責任を分けた
  • 変更owner、review、rollbackを決めた

よくある質問

CLAUDE.mdを削除すればAGENTS.mdへ自動移行できますか?

自動移行を前提にしないでください。内容の棚卸し、providerごとの対応、/configでのreadback、別cloneでの回帰確認を行ってから削除または役割変更を決めます。

AGENTS.mdに秘密の開発手順を書いてよいですか?

repositoryへ共有するファイルなので、credentialや個人情報を置かない設計が原則です。秘密はsecret storeやmanagedな仕組みへ分離します。

AGENTS.mdに禁止事項を書けば実行を止められますか?

文書は判断を導くcontextです。強制が必要な操作はpermission、hook、network、CIなど別の制御で止め、両者を同じルールへ結び付けます。

公式情報

次の一歩

指示ファイル、権限、review、CIが別々で、変更理由を説明できない場合は、ファイル名を増やしても運用は安定しません。Miraigentの無料診断で、project instructionの正本と実行制御の境界を60秒から棚卸しできます。