原文(日本語に翻訳)
ネストされた .claude/skills ディレクトリ内のスキルが、そのディレクトリで作業中に読み込まれるようになりました。名前が衝突する場合、ネストされたスキルは <dir>:<name> として表示され、両方が利用可能な状態を維持します。
原文(英語)
Skills in nested .claude/skills directories now load when working on files there; on a name clash, the nested skill appears as <dir>:<name> so both stay available
概要
モノレポやマルチパッケージ構成のプロジェクトで、サブディレクトリごとに専用のスキルを定義できるようになりました。作業中のファイルに最も近い .claude/skills ディレクトリのスキルが優先的に読み込まれます。同名スキルが複数存在する場合は <dir>:<name> 形式で区別され、両方にアクセスできます。
基本的な使い方
プロジェクト構造の例:
my-project/
├── .claude/
│ └── skills/
│ └── deploy.md # プロジェクト全体の deploy スキル
├── backend/
│ └── .claude/
│ └── skills/
│ └── deploy.md # backend 専用の deploy スキル
└── frontend/
└── .claude/
└── skills/
└── test.md # frontend 専用の test スキルbackend/ 配下のファイルで作業中に /deploy を実行すると、backend/.claude/skills/deploy.md が優先されます。
実践例
モノレポでのサブパッケージ専用スキル
monorepo/
├── .claude/skills/
│ └── lint.md # 全体共通: ESLint設定
├── packages/
│ └── api/
│ └── .claude/skills/
│ └── lint.md # API専用: OpenAPI検証も含むlintpackages/api/ で作業中に名前衝突が発生した場合:
/lint→packages/api/.claude/skills/lint.md(近い方が優先)/api:lint→ 明示的にapi専用スキルを指定/<プロジェクトルートdir>:lint→ ルートのスキルを明示指定
名前衝突時の利用方法
同名スキルが存在する場合、スラッシュコマンドで名前修飾形式を使います:
# ネストされたスキルを明示的に指定
/backend:deploy
# ルートのスキルを使用
/<root-dir>:deployチームごとのスキル管理
enterprise-app/
├── .claude/skills/
│ └── review.md # 全チーム共通のコードレビュースキル
├── team-a/
│ └── .claude/skills/
│ └── review.md # チームAの規約に合わせたレビュースキル
└── team-b/
└── .claude/skills/
└── review.md # チームBの規約に合わせたレビュースキル注意点
- 名前衝突時の
<dir>:<name>形式では、<dir>は.claude/skillsを含む直近のディレクトリ名になります - 衝突がない場合は通常通り
/skillnameでアクセスできます - ネストの深さに制限はありませんが、管理しやすい構造を推奨します
- スキルファイルの形式(Frontmatterなど)は通常のスキルと同じです