個人用の Agent Skills を Git に乗せずプロジェクト内に置く

April 8, 2026 (about 18 hours ago)

背景

プロジェクトで使う Skill は、基本的には .agents/skills/<skill-name> に置いて共有するのが素直かと思います。

ただ、たまに「そのプロジェクトで使うけれど、自分だけが使いたい Skill」もあります。 $HOME/.agents/skills のようなグローバル空間に置けば、リポジトリには含めず自分だけ使えます。 とはいえ、そういう Skill はそのプロジェクト固有の内容になりがちで、再利用性は高くありません。

なので、置き場所としてはあまりしっくりこなくて、できればプロジェクトの近くに置いておきたいです。

グローバル gitignore で解決

一方で、そのためにプロジェクトの .gitignore をいじるのも違和感がありますし、 自分のローカル事情をリポジトリに持ち込みたくなかったので、次のような global ignore を使っています。

# ~/.config/git/ignore
.agents/.skills/(*)/

ディレクトリ構成

.
├── .agents
│   └── .skills
│       └── (update-global-css)
│           └── SKILL.md
├── ...
└── README.md

(...) のようなカッコ付きのディレクトリ名を個人用にしています。視覚的にも分かりやすいです。

ダメなパターン

ちなみに最初はこれも試しました。

.
├── .agents
│   └── skills
│       └── local
│           └── <skill-name>
│               └── SKILL.md
└── README.md

このように、/local/ ディレクトリを挟んで1階層深くするような方法は Codex は認識してくれましたが、Claude Code では認識されませんでした。 今は .agents/.skills/(...) にしています。