Obsidian の保管場所を Claude Code・Codex・Gemini・Grok で共用する ― ルールを AGENTS.md 1つにまとめた話
ふだんの作業に、Claude Code・Codex・Gemini・Grok と、AI のコマンドラインツールを4つ使っています。作業の記録は Obsidian の保管場所(Vault)にまとめていて、Vault は Google ドライブで MacBook 2台と Mac mini に同期しています。ところが、「回答は結論から」「秘密情報は書かない」といったルールが、ツールごとの設定ファイルにばらばらに書かれていて、どれかを直すと他と食い違う状態でした。そこで、ルールを AGENTS.md という1つのファイルにまとめ、すべてのツールがそれを読む形にしました。その作り方をまとめます。
全体の仕組み

- 正本は1つ:Vault の直下に置いた
AGENTS.mdが、全ツール共通のルールの本体 - ツール別のファイルは中身を持たない:
CLAUDE.mdはAGENTS.mdを読み込む1行と補足だけ - Vault の外で起動しても効く:各ツールの「全体の指示ファイル」を
AGENTS.mdへのシンボリックリンク(別の場所のファイルを指す、ショートカットのようなもの)にする - Web 版には抜粋を貼る:ファイルを読めない Web 版・アプリには、Web で使うルールだけを抜き出して貼る
1. どのツールが、どのファイルを読むか
まず、各ツールが起動時に自動で読む指示ファイルを調べました。AGENTS.md は、複数の AI ツールで共通に使うために提案されている名前で、Codex と Grok はこれをそのまま読みます。
| ツール | プロジェクト(作業フォルダ)で読むもの | 全体(どこで起動しても)読むもの |
|---|---|---|
| Claude Code | CLAUDE.md(中に @ファイル名 と書くと、そのファイルを読み込む) | ~/.claude/CLAUDE.md |
| Codex | AGENTS.md | ~/.codex/AGENTS.md |
| Gemini(Antigravity CLI) | GEMINI.md・AGENTS.md | ~/.gemini/GEMINI.md など |
| Grok(Grok Build) | AGENTS.md・CLAUDE.md | ~/.grok/AGENTS.md(~/.claude/CLAUDE.md も読む) |
読むファイルの名前は違っても、AGENTS.md を本体にして、他はそれを指すようにすれば1か所で管理できます。
2. Vault の直下に置くファイル
AGENTS.md には、それまで Claude Code 用の個人設定に書いていたルールと、Vault の使い方のルールをまとめました。節の構成は次のとおりです。
# 共用 Vault の共通ルール
## 1. 利用者について … 何に使っているか
## 2. 記録のしかた … 結果は該当ノートに日付付きで追記、端末とツール名も書く
## 3. フォルダ構成
## 4. ファイル名
## 5. ノートの書き方 … frontmatter・リンクの形・タグ
## 6. 秘密情報 … Vault に書かない、回答に表示しない
## 7. 回答のスタイル … 結論から・箇条書き・「要確認」の使い方
## 8. 文書・メールの作成 … 社外向けの判断基準・議事録の順番
## 9. コーディング
## 10. 破壊的操作・安全 … 削除や上書きの前に確認
## 11. ツールごとの読み書きの方法
## 12. Slack 連携
CLAUDE.md は、AGENTS.md を読み込む1行と、Claude Code だけに関わる補足だけにしました。
@AGENTS.md
# Claude Code 用の補足
- 共通ルールは上の `AGENTS.md`。ここには Claude Code だけに関わることを書く。
GEMINI.md も同じ考え方ですが、後で書くように Antigravity CLI では @ の読み込みが効かなかったため、説明だけを書いています。
最初は AGENTS.md を短くまとめすぎて、「宛先に社外の相手が明示されているときだけ社外向けにする」「持ち上げずに問題点を指摘する」といったルールが抜けていました。Codex や Grok は Claude Code の個人設定を読まないので、AGENTS.md に書いていないルールは伝わりません。結局、元の設定とほぼ同じ細かさに戻しました。
3. Vault の外で起動しても効くようにする
Vault の中で起動すれば、各ツールは直下のファイルを読みます。ただ、別のフォルダで作業することも多いので、各ツールの全体の指示ファイルを、Vault の AGENTS.md へのシンボリックリンクにしました。Mac ごと・ユーザーごとに、次を実行します。
V="$HOME/Library/CloudStorage/GoogleDrive-<アカウント>/マイドライブ/<Vault名>/AGENTS.md"
mkdir -p ~/.codex ~/.gemini ~/.grok
ln -s "$V" ~/.codex/AGENTS.md
ln -s "$V" ~/.gemini/GEMINI.md
ln -s "$V" ~/.grok/AGENTS.md
# Claude Code の個人設定は、控えを取ってから置き換える
cp -p ~/.claude/CLAUDE.md ~/.claude/CLAUDE.md.bak
rm ~/.claude/CLAUDE.md
ln -s "$V" ~/.claude/CLAUDE.md
- これで、
AGENTS.mdを1か所直せば、全部の Mac の全部のツールに同じ内容が届きます - リンク先は Google ドライブの中なので、Google ドライブがつながっていないとルールが読まれません。ふだん使う Mac では常につながっているので、これで十分としました
- 新しく書き足した
AGENTS.mdが他の Mac に同期されるまでには少し時間がかかります。リンクは先に作っておいても、同期が届いた時点で有効になります
4. プロジェクトは Vault を分けず、フォルダで分ける
「プロジェクトごとに Vault を作る」案も考えましたが、やめました。
- Vault をまたぐと、Obsidian のノート間リンク(
[[ノート名]])がつながらず、検索も分かれる - Claude Code から Obsidian を操作するプラグイン(Local REST API)は、Vault ごとにキーやポートの設定が要る
- Google ドライブの同期の競合が起きる場所が増える
代わりに、03_Projects/_テンプレート/ に「概要・現状・TODO・関連ノート」の見出しだけのノートを置き、新しいプロジェクトはこれを複製して始めることにしました。Vault を分けるのは、見せる範囲を分けたいなど、はっきりした理由ができたときだけにします。
5. 本当に読まれているかの確かめ方
設定しただけでは、実際に読まれているかは分かりません。各ツールに、ファイルを開かせずに、AGENTS.md にしか書いていないことを質問して確かめました。
ファイルの読み込みやツールは使わずに、このセッションの開始時に
すでに読み込まれている指示だけを根拠に、短く答えてください。
1) 読み込まれている指示ファイルの名前
2) 「Slack 連携」のルールで、保存時の frontmatter に付けるタグは何か
3) 同じルールが2回読み込まれているように見えるか
読み込まれていない場合は「読み込まれていない」と答えてください。
この質問を、Vault の中と外の2か所で、各ツールのコマンド(codex exec・agy -p・grok -p・claude -p)に渡しました。正しく読まれていれば tags: [slack] と答えます。
| ツール | Vault の外 | Vault の中 |
|---|---|---|
| Claude Code | 読めた | 読めた |
| Codex | 読めた | 読めた |
| Gemini(Antigravity CLI) | 読めた | 読めた(同じルールが2回入る) |
| Grok | 読めた | 読めた |
Vault の中では、全体の指示ファイルと Vault の AGENTS.md の両方から同じ内容が入ることがあります。中身が同じなので、動き方への影響は小さいと判断しました。
つまずいたところ
Gemini CLI が個人アカウントで使えなくなっていた
Gemini CLI に Google アカウントでログインすると、IneligibleTierError(UNSUPPORTED_CLIENT)が出て使えませんでした。2026年6月の告知で、Gemini CLI は個人アカウント(無料・有料とも)への提供を終えていて、後継は Antigravity CLI(コマンド名 agy)でした。Homebrew で入れて乗り換えました。
brew install --cask antigravity-cli
agy # 初回はブラウザで Google アカウントにログイン
brew uninstall gemini-cli
Antigravity CLI はプロジェクトの GEMINI.md・AGENTS.md を読み、全体の指示は ~/.gemini/GEMINI.md から読むので、Gemini CLI 用に作ったリンクがそのまま使えました。~/.gemini フォルダは消さずに残します。
GEMINI.md の「@AGENTS.md」は展開されなかった
Claude Code と同じように GEMINI.md に @./AGENTS.md と書いていましたが、Antigravity CLI では読み込まれず、ただの文字として扱われていました。Antigravity CLI は AGENTS.md を直接読むので、この行は外しました。
Grok が Claude Code の個人設定も読んでいた
Grok には Claude Code の設定を取り込む機能があり、~/.claude/CLAUDE.md も読んでいました。最初は個人設定を別のファイルのまま残していたため、ほぼ同じルールが2つ入り、片方だけ直すと食い違うおそれがありました。Claude Code の個人設定も AGENTS.md へのリンクにしたことで、正本が本当に1つになりました。
別のアプリから起動した Codex は ~/.codex を見ていなかった
Codex のアカウントを切り替えるアプリから起動した Codex では、Vault の外でルールが読まれませんでした。環境変数 CODEX_HOME(Codex の設定フォルダの場所)が、そのアプリ専用のフォルダを指していたためです。ターミナルから普通に起動すれば ~/.codex を見るので問題ありません。同じような仕組みのアプリを使う場合は、echo $CODEX_HOME で確かめておくと安心です。
Web 版・アプリにも同じルールを
Claude・ChatGPT・Gemini・Grok の Web 版やアプリは、手元のファイルを読めません。そこで、AGENTS.md から Web で意味のあるルール(回答のスタイル・文書とメール・コード・秘密情報の扱い)だけを抜き出した「Web 用の共通指示」を作り、各サービスの個人設定・カスタム指示・プロジェクトの指示の欄に貼ることにしました。
- Vault のフォルダ構成やファイル名、コマンド操作のルールは、Web 版では使わないので外す
- 文字数の上限があるサービスに収まるよう、約 800 文字に
- 抜き出した文章も Vault のノートに置き、
AGENTS.mdを直したら一緒に直して貼り直す
ここだけは手作業での貼り直しが残りますが、正本が1つなので「どれが最新か」で迷うことはなくなりました。
まとめ
- ルールは Vault の
AGENTS.md1つに書き、CLAUDE.md・GEMINI.mdは中身を持たせない - 各ツールの全体の指示ファイル(Claude Code の個人設定も含めて)を
AGENTS.mdへのリンクにすれば、Vault の外でも同じルールが効く - 設定したら、ファイルを開かせずに AGENTS.md にしか無いことを聞いて、本当に読まれているか確かめる
- ルールを短くまとめすぎると、他のツールには伝わらない。細かさは元の設定と同じでよい
- ツールの事情は変わる(Gemini CLI → Antigravity CLI のように)。正本が1つなら、乗り換えてもリンクを張り直すだけで済む
