Claude Code の Skills は、よく使う手順を SKILL.md に書いておき、/名前 で呼び出したり、Claude に自動で使わせたりする仕組みです。
- 置き場所:プロジェクトは .claude/skills/名前/SKILL.md、自分用は ~/.claude/skills/名前/SKILL.md
- 書き方:— で囲んだ設定(name・description など)と、手順の本文
- 呼び出し:/名前 引数。引数は本文の $ARGUMENTS に入る
- 以前の .claude/commands/*.md も動く(今は Skills に統合された扱い)
この記事は、Claude Code の公式ドキュメント(code.claude.com/docs、2026年9月29日に確認)にもとづいています。
手元の確認は、2026年9月29日に Windows 11 の Claude Code 2.1.284 で、練習用のフォルダー(C:\demo\cc-b)を使って行いました。
最小のスキルを作って動かした
.claude/skills/hello-demo/SKILL.md---
name: hello-demo
description: 名前を受け取って、決まった形のあいさつ文を返す練習用のスキル。
---
次の形の1行だけを返す。ほかの説明は書かない。
こんにちは、$ARGUMENTS さん。練習用スキルが動きました。claude -p "/hello-demo 田中"こんにちは、田中 さん。練習用スキルが動きました。/hello-demo のあとの「田中」が、本文の $ARGUMENTS に入りました。
置き場所
| 場所 | 使える範囲 |
|---|---|
| ~/.claude/skills/名前/SKILL.md | そのパソコンの全プロジェクト(自分用) |
| .claude/skills/名前/SKILL.md | そのプロジェクト(コミットすればチームで共有) |
| プラグインの skills/名前/SKILL.md | /プラグイン名:スキル名 で呼ぶ |
コマンドの名前は、フォルダーの名前(name を書けばその値)になります。
主な設定(フロントマター)
| 項目 | 働き |
|---|---|
| name | コマンドの名前 |
| description | 何のスキルか。Claude が自動で使うかを決める材料(省略すると本文の最初の行) |
| disable-model-invocation: true | Claude は自動で使わず、/名前 で呼んだときだけ動く |
| user-invocable: false | / のメニューに出さず、Claude だけが使う背景知識にする |
| allowed-tools | そのスキルを呼んだターンの間だけ、確認なしで使えるツール |
| argument-hint | 引数の書き方のヒント |
| paths | 一致するファイルを扱うときだけ自動で読み込む |
| context: fork | 別のサブエージェントの文脈で実行する |
引数
- $ARGUMENTS:/名前 のあとに書いたもの全部
- $0・$1($ARGUMENTS[0] の短縮):1つ目・2つ目の引数(0 から数える)
- 本文に受け皿が無いときは、本文の最後に「ARGUMENTS: 入力」が足される
- ${CLAUDE_SKILL_DIR} でスキルのフォルダーを参照できる
旧形式の .claude/commands
以前のカスタムコマンド(.claude/commands/名前.md)も、同じように動きました。
---
description: 旧形式(.claude/commands)の練習用コマンド
---
次の1行だけを返す:「旧形式のコマンド greet-old が $ARGUMENTS で動きました」claude -p "/greet-old テスト"旧形式のコマンド greet-old が テスト で動きました公式ドキュメントでは、コマンドは Skills に統合され、新しく作るなら補助のファイルを置ける Skills がすすめられています。
Windowsの Git Bash で呼ぶときの注意
Git Bash で claude -p “/context” のように / で始まる1語だけを渡すと、Git Bash がパスと見なして「C:/Program Files/Git/context」に書き換えてしまいました。
MSYS_NO_PATHCONV=1 を付けて実行するか、PowerShell から実行すると、そのまま渡せます。
MSYS_NO_PATHCONV=1 claude -p "/context"書くときのコツ
- SKILL.md は500行未満に。詳しい資料は別のファイルに分けて、同じフォルダーに置く
- description に「いつ使うか」を具体的に書く
- 決まった手順だけを実行させたいなら disable-model-invocation: true
毎回守らせたい決まりごとは、スキルではなく CLAUDE.md に書きます(CLAUDE.mdの書き方)。
役割ごとに別の担当を作るなら、サブエージェントの設定方法を見てください。
まとめ
- .claude/skills/名前/SKILL.md に書き、/名前 で呼ぶ
- 引数は $ARGUMENTS・$0・$1
- 旧形式の .claude/commands も動く
- Git Bash では MSYS_NO_PATHCONV=1 を付ける
参考:Claude Code「Skills」(2026年9月29日に確認)と、Claude Code 2.1.284 での実行結果。
