【Windows】AIエージェントのスキルファイルを一元管理する方法|Codex・Claude・Gemini対応

Codex、Claude、Gemini CLI、Antigravity など、複数のAIエージェントを使い分けていると、同じカスタムスキルや指示ファイルをそれぞれの管理フォルダに配置したくなることがあります。

ただ、各ツールのフォルダへ手作業でコピーしていると、修正したはずのスキルが一部のAIにだけ反映されない、古いファイルを上書きしてしまう、どれが原本かわからなくなる、といった問題が起きがちです。

この記事では、Windows環境でAIエージェントのスキルファイルを共通フォルダにまとめ、各AIの読み込み先からリンクで参照させる方法を紹介します。あわせて、AI自身にスキルを修正させるときに「必ず原本を編集する」よう誘導するルールも整理します。

この記事で行うこと

この記事では、次のような構成を作ります。

項目内容
原本フォルダすべてのスキルファイルをまとめて管理する共通フォルダ
配置先フォルダCodex、Claude、Gemini、Antigravity など各AIが読み込むフォルダ
連携方法Windowsの mklink を使い、原本から各AIのフォルダへリンクを作成
メンテナンス方針AIにスキルを更新させるときも、リンク先ではなく原本を編集させる

ポイントは、コピーを増やさないことです。

スキルの実体は共通フォルダに1つだけ置き、各AIエージェント側にはリンクだけを配置します。これにより、原本を編集すれば複数のAI環境へ同じ内容を反映できます。

この記事では、SKILL.md を中心にした Agent Skills 形式のスキルファイルを対象にします。Claude Code も Agent Skills に対応しているため、Codex、Claude Code、Antigravity などで同じ SKILL.md を共有する構成を目指します。

なお、AIエージェントによっては、スキルとは別に「サブエージェント」「コマンド」「メモリ」などの仕組みもあります。この記事で扱うのは、それらではなく skills\[スキル名]\SKILL.md のように配置するスキルファイルの一元管理です。

前提条件

この記事では、次の環境を想定しています。

項目内容
OSWindows 11
実行環境コマンドプロンプト、または Windows Terminal
主なコマンドmklink
対象AIローカルフォルダからスキルや指示ファイルを読み込むAIエージェント
管理方針共通フォルダに原本を置き、各AIのフォルダへリンクを作る

この記事では例として、次のようなフォルダ構成を使います。実際に使う場合は、自分の環境に合わせて読み替えてください。

D:\AI-Skills
├─ GEMINI.md
├─ deploy.bat
└─ ai-agents
   └─ skills
      ├─ blog-writer
      │  └─ SKILL.md
      └─ dev-helper
         └─ SKILL.md

各AIエージェント側の配置先は、たとえば次のように考えます。

C:\Users\YOUR_NAME\.claude\skills
C:\Users\YOUR_NAME\.gemini
C:\Users\YOUR_NAME\.gemini\antigravity\skills
C:\Users\YOUR_NAME\.codex\skills

個人名、クラウドストレージ名、実プロジェクト名を記事やテンプレートにそのまま残すと、あとで使い回しにくくなります。ブログ記事や社内メモにする場合は、必ず汎用的なパスに置き換えるのがおすすめです。

Claude Code の Agent Skills は、ユーザー共通では ~/.claude/skills/[スキル名]/SKILL.md のように配置します。そのため、Codex や Antigravity と同じスキルフォルダを、Claude Code の skills フォルダにもリンクできます。

なぜAIエージェントのスキル管理が複雑になるのか

AIエージェントごとに、スキルや指示ファイルの置き場所は少しずつ異なります。

たとえば、あるAIでは skills フォルダに SKILL.md を置き、別のAIではユーザーフォルダ直下の設定ファイルを参照する、といった違いがあります。

このとき、同じ内容のスキルを複数の場所にコピーして管理すると、次の問題が起きやすくなります。

  • どのファイルが最新版かわからなくなる
  • 片方のAIだけ古いスキルを読み込む
  • 修正時に複数箇所を編集する必要がある
  • AI自身に修正を依頼したとき、リンク先や一時的なコピーを編集してしまう
  • 別PCへ移行するときに必要なファイルを拾い漏らす

特にスキルファイルは、AIにとっての作業ルールそのものです。複数のAIで同じ運用ルールを使いたい場合は、早い段階で「原本はどこか」を決めておくと管理しやすくなります。

解決策:共通フォルダを原本にしてリンクで配布する

おすすめは、スキルファイルを1つの共通フォルダで管理し、各AIエージェントの読み込み先にはリンクを作る方法です。

ここで重要なのは、共通フォルダを「原本の置き場所」として扱うことです。Agent Skills 形式に対応しているAIであれば、同じ SKILL.md を原本としてリンクできます。

たとえば、次のように分けます。

対象原本の例配置先の例
CodexD:\AI-Skills\ai-agents\skills\blog-writer\SKILL.mdC:\Users\YOUR_NAME\.codex\skills\blog-writer
AntigravityD:\AI-Skills\ai-agents\skills\blog-writer\SKILL.mdC:\Users\YOUR_NAME\.gemini\antigravity\skills\blog-writer
Claude CodeD:\AI-Skills\ai-agents\skills\blog-writer\SKILL.mdC:\Users\YOUR_NAME\.claude\skills\blog-writer

この構成では、Codex、Claude Code、Antigravity が同じ SKILL.md を共有します。

さらに、後述する「原本編集ルール」を SKILL.md に書いておけば、AIにメンテナンスを依頼するときも更新対象を共通フォルダ側へ寄せられます。

Windowsの mklink では、次のようなリンクを作成できます。

種類コマンド例主な用途
ファイルのハードリンクmklink /hGEMINI.md のような単一ファイルを共有する
ディレクトリジャンクションmklink /jskills 配下のフォルダ単位で共有する
シンボリックリンクmklink または mklink /dファイルやフォルダを別パスから参照する

Microsoft Learnの mklink ドキュメントでは、/h はハードリンク、/j はディレクトリジャンクションを作成するオプションとして説明されています。

この記事の例では、単一ファイルにはハードリンク、スキルフォルダにはディレクトリジャンクションを使います。

手順1:共通のスキル管理フォルダを作る

まず、スキルファイルの原本を置くフォルダを作成します。

例として、ここでは D:\AI-Skills を共通フォルダにします。

D:\AI-Skills

クラウドストレージで同期したい場合は、OneDrive、Google Drive、Dropbox などの同期対象フォルダ配下に置いても構いません。ただし、リンク先から参照するときにファイルがオンライン専用になっていると、AIエージェントやエディタから正常に読み込めない場合があります。

クラウド同期フォルダに置く場合は、少なくともスキルファイル一式をローカルに保持する設定にしておくと安心です。

手順2:スキルフォルダを共通フォルダに集約する

次に、AIエージェントで使いたいスキルを共通フォルダに集めます。

たとえば、次のような構成にします。

D:\AI-Skills
└─ ai-agents
   └─ skills
      ├─ blog-writer
      │  └─ SKILL.md
      ├─ document-helper
      │  └─ SKILL.md
      └─ terminal-helper
         └─ SKILL.md

この ai-agents\skills 配下を、Codex、Claude Code、Antigravity などのスキル読み込み先へリンクします。

すでに各AIのフォルダにスキルをコピーしている場合は、いきなり削除せず、まずバックアップを取ってください。

C:\Users\YOUR_NAME\.codex\skills_backup_20260524

リンク作成時に同名フォルダが存在すると、削除やリネームが必要になることがあります。特にスクリプトで一括処理する場合は、意図しないフォルダを消さないようにパスをよく確認してください。

手順3:deploy.batで各AIのフォルダへリンクを作成する

共通フォルダに deploy.bat を作成し、各AIの配置先へリンクを作ります。

以下は、個人の環境に依存しにくいように変数を分けたテンプレートです。YOUR_NAME や D:\AI-Skills は、自分の環境に合わせて変更してください。

@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion

rem このバッチファイルを置いているフォルダを原本フォルダとして扱う
set "SOURCE_DIR=%~dp0"
set "SKILLS_SOURCE=%SOURCE_DIR%ai-agents\skills"

rem 自分の環境に合わせて変更する
set "CLAUDE_TARGET=C:\Users\YOUR_NAME\.claude\skills"
set "GEMINI_TARGET=C:\Users\YOUR_NAME\.gemini"
set "ANTIGRAVITY_TARGET=C:\Users\YOUR_NAME\.gemini\antigravity\skills"
set "CODEX_TARGET=C:\Users\YOUR_NAME\.codex\skills"

echo [1/4] GEMINI.md のリンクを作成しています...
set "GEMINI_FILE_SOURCE=%SOURCE_DIR%GEMINI.md"
set "GEMINI_FILE_TARGET=%GEMINI_TARGET%\GEMINI.md"

if exist "%GEMINI_FILE_SOURCE%" (
    if not exist "%GEMINI_TARGET%" mkdir "%GEMINI_TARGET%"
    if exist "%GEMINI_FILE_TARGET%" del /f /q "%GEMINI_FILE_TARGET%"
    mklink /h "%GEMINI_FILE_TARGET%" "%GEMINI_FILE_SOURCE%"
) else (
    echo SKIP: GEMINI.md が見つかりません。
)

echo [2/4] Claude Code skills のリンクを作成しています...
call :deploy_skills "%CLAUDE_TARGET%"

echo [3/4] Antigravity skills のリンクを作成しています...
call :deploy_skills "%ANTIGRAVITY_TARGET%"

echo [4/4] Codex skills のリンクを作成しています...
call :deploy_skills "%CODEX_TARGET%"

echo.
echo リンク作成が完了しました。
pause
exit /b 0

:deploy_skills
set "TARGET_ROOT=%~1"

if not exist "%SKILLS_SOURCE%" (
    echo ERROR: "%SKILLS_SOURCE%" が見つかりません。
    exit /b 1
)

if not exist "%TARGET_ROOT%" mkdir "%TARGET_ROOT%"

for /d %%d in ("%SKILLS_SOURCE%\*") do (
    set "SKILL_NAME=%%~nxd"
    set "CURRENT_TARGET=%TARGET_ROOT%\!SKILL_NAME!"

    echo !SKILL_NAME! を配置しています...

    if exist "!CURRENT_TARGET!" (
        rmdir "!CURRENT_TARGET!" 2>nul
        if exist "!CURRENT_TARGET!" (
            echo WARN: "!CURRENT_TARGET!" は通常フォルダの可能性があります。手動で退避してから再実行してください。
        )
    )

    if not exist "!CURRENT_TARGET!" (
        mklink /j "!CURRENT_TARGET!" "%%d"
    )
)

exit /b 0

このテンプレートでは、既存の通常フォルダを自動で中身ごと削除しないようにしています。

すでに同名の通常フォルダがある場合は警告を出してスキップするため、必要に応じて手動で退避してから再実行してください。

手順4:コマンドプロンプトから実行する

deploy.bat は、コマンドプロンプトから実行します。

cd /d D:\AI-Skills
deploy.bat

成功すると、各AIのスキルフォルダ配下にジャンクションが作成されます。

確認する場合は、コマンドプロンプトで次のように実行します。

dir C:\Users\YOUR_NAME\.codex\skills

ディレクトリジャンクションの場合、<JUNCTION> のように表示されます。

2026/05/24  10:00    <JUNCTION>     blog-writer [D:\AI-Skills\ai-agents\skills\blog-writer]

表示されたリンク先が共通フォルダを指していれば、配置は完了です。

手順5:AI自身に原本ファイルを編集させるルールを書く

リンクで一元管理していても、AIにスキルファイルの修正を依頼したときに、意図しない場所を編集される可能性があります。

そこで、各 SKILL.md の先頭付近に「このスキルを更新するときは原本を編集する」というルールを書いておきます。

このスキルファイルの変更、更新、追加、修正を依頼された場合は、AIツールの読み込み先フォルダにあるファイルではなく、必ず以下の原本ファイルを編集してください。

原本ファイルパス:
D:\AI-Skills\ai-agents\skills\blog-writer\SKILL.md

この指示を入れておくと、AIに「このスキルを直して」と依頼したときに、原本ファイルへ誘導しやすくなります。

ただし、AIが必ず守ることを保証するものではありません。重要なスキルを更新するときは、作業前後に対象パスを確認し、必要に応じてバックアップやバージョン管理も併用してください。

この構成のメリット

この方法にすると、スキル管理がかなり楽になります。

メリット内容
更新漏れを減らせる原本を1箇所直せば、Codex、Claude、Geminiなど複数AIから同じ内容を参照できる
コピーの増殖を防げるどれが最新版か迷いにくい
AIごとの挙動差を減らせる同じスキルを複数AIで共有しやすい
移行しやすい共通フォルダを移せば、新しいPCでも再展開しやすい
AIにメンテナンスを任せやすい原本パスを明記しておけば、修正対象を指定しやすい

特に、ブログ執筆用スキル、開発補助スキル、ドキュメント作成スキルのように複数AIで使い回したいルールがある場合に便利です。

注意点

リンクを使った管理は便利ですが、いくつか注意点もあります。

通常フォルダを削除しないようにする

リンク作成時に同名フォルダがある場合、既存フォルダを削除してリンクを作り直す実装もできます。

ただし、スキルフォルダの中に未退避のファイルがあると失われる可能性があります。最初は自動削除を避け、警告を出して手動で退避する形にしておくのがおすすめです。

ハードリンクは同じドライブ内で使う

ファイルのハードリンクは、同じボリューム内で使う前提の機能です。

共通フォルダと配置先が別ドライブにある場合、mklink /h が失敗することがあります。その場合は、ハードリンクではなく通常のシンボリックリンクやコピー運用を検討してください。

クラウド同期の競合に注意する

共通フォルダをクラウドストレージに置くと、複数PCでスキルを共有しやすくなります。

一方で、同じスキルファイルを別PCから同時に編集すると、競合ファイルが作られる場合があります。重要なスキルはGitなどのバージョン管理に入れておくと、変更履歴を追いやすくなります。

AIエージェントの仕様変更に注意する

AIエージェント側のスキル読み込み仕様やフォルダ構成は、今後変わる可能性があります。

新しいバージョンに更新したあとにスキルが読み込まれない場合は、公式ドキュメントやリリースノートで現在の配置先を確認してください。

うまくいかない場合の確認ポイント

リンクが作成されない、またはAIがスキルを読み込まない場合は、次の点を確認してください。

  • deploy.bat の YOUR_NAME を自分のWindowsユーザー名に変更しているか
  • D:\AI-Skills などの共通フォルダが実在しているか
  • ai-agents\skills 配下にスキルフォルダがあるか
  • 配置先に同名の通常フォルダが残っていないか
  • コマンドプロンプトで実行しているか
  • パスにスペースがある場合、ダブルクォーテーションで囲まれているか
  • クラウド同期フォルダのファイルがローカルに保持されているか
  • AIエージェントを再起動してから確認したか

リンクが作成されているかだけを確認したい場合は、次のコマンドが便利です。

dir C:\Users\YOUR_NAME\.codex\skills

<JUNCTION> と表示され、右側に共通フォルダのパスが出ていれば、ジャンクションは作成されています。

よくある質問

シンボリックリンク、ハードリンク、ジャンクションのどれを使えばよいですか?

単一ファイルを共有するなら mklink /h のハードリンク、フォルダ単位で共有するなら mklink /j のディレクトリジャンクションが扱いやすいです。

ただし、環境やドライブ構成によって使えるリンク種別が変わる場合があります。うまくいかない場合は、まず mklink /? でローカル環境のヘルプを確認してください。

管理者権限は必要ですか?

この記事のテンプレートでは、ファイルにハードリンク、フォルダにディレクトリジャンクションを使うため、多くのWindows環境では一般ユーザー権限で作成できます。

ただし、配置先フォルダの権限や会社PCのポリシーによっては失敗する場合があります。その場合は、管理者権限のコマンドプロンプトで試す前に、削除対象やリンク先パスが正しいことを確認してください。

AIにスキルを直してもらうだけで本当に原本が更新されますか?

スキルファイル内に原本パスを書いておくことで、AIが正しいファイルを編集しやすくなります。

ただし、AIの動作や利用ツールによっては、読み込んだコピーや別の作業ディレクトリを編集する可能性もあります。重要な更新では、作業後に原本ファイルの更新時刻や内容を確認するのがおすすめです。

MacやLinuxでも同じ考え方は使えますか?

考え方は使えます。

ただし、この記事のコマンドはWindows向けです。MacやLinuxでは ln -s などを使う形になります。パス表記や権限の考え方が異なるため、別途そのOS向けの手順に置き換えてください。

まとめ

複数のAIエージェントで同じスキルファイルを使う場合は、各フォルダへコピーするよりも、共通フォルダに原本を置いてリンクで参照する形にすると管理しやすくなります。

Windowsでは、mklink /h で単一ファイルのハードリンク、mklink /j でスキルフォルダのディレクトリジャンクションを作成できます。

さらに、各 SKILL.md に原本ファイルパスを明記しておけば、AI自身にスキルをメンテナンスさせるときも、編集対象を原本へ誘導しやすくなります。

スキルファイルはAIエージェントの作業品質に直結する設定です。複数AIを使い分けるなら、早めに一元管理の仕組みを作っておくと、あとからかなり楽になります。

参考情報