Anthropicエンジニアが16分で明かしたこと
2026年4月、AnthropicのエンジニアBarryとMaheshが「Claude Skillsをゼロから作る」16分の動画を公開した。X(Twitter)では14万3,792回表示、978いいね、147リツイートを記録した。
動画の冒頭、MaheshはBarryとの対比でスキルの本質を語った。
「確定申告を頼むとしたら、天才数学者のMaheshに頼みたいか、それとも経験豊富な税理士Barryに頼みたいか?私はBarryを選ぶ。Maheshに2025年の税法を一から解読させたくない」
これが動画全体のテーマだ。今のAIエージェントはMaheshに似ている——頭は良いが専門知識がない。優れた解を出せるときもあるが、適切なガイダンスなしには重要なコンテキストが抜け落ちる。知識を蓄積しながら成長することもできない。それを解決するのがAgent Skillsだ。
この動画で繰り返されたキーメッセージが「Skills are just folders」——スキルはただのフォルダだ。
フォルダの中に SKILL.md というファイルを1つ置くだけで、Claudeに専門知識・ワークフロー・判断基準を丸ごと「教えること」ができる。「あなたの仕事のやり方、ワークフロー、専門知識——それをフォルダに入れるだけでいい」。
この仕組みが画期的なのは、プログラミングが不要な点だ。Markdownで手順書を書けば、それがそのままClaudeへの指示書になる。Gitでバージョン管理でき、Google Driveに保存でき、Zipで圧縮してチームに共有できる。ファイルとフォルダという人類が数十年使ってきたプリミティブをそのまま使う——だから誰でも作れる。
Claude Codeのベストプラクティス完全ガイド2026年版でも触れたように、スキルはClaude Codeを拡張する3つの武器(スキル・コマンド・サブエージェント)のひとつだ。しかし、スキルの詳細な使い方を日本語で解説した記事はほとんどない。本記事では公式ドキュメントをベースに、SKILL.mdの書き方から活用パターンまで体系的に解説する。
今のエージェントはMahesh(天才だが専門知識がない)——スキルがBarry(プロ)にする
「スキルはフォルダ」——Git・Google Drive・Zipで扱える、誰でも作れるシンプルさ
14万表示の動画内容を本記事で日本語完全解説
「スキルはフォルダ」——構造を理解する
Claude Skillsの本質は驚くほどシンプルだ。.claude/skills/ ディレクトリの下に、スキル名のフォルダを作り、中に SKILL.md を置く。それだけだ。
.claude/skills/
└── deploy/ ← スキル名のフォルダ
├── SKILL.md ← 必須:Claudeへの指示書
├── template.md ← 任意:テンプレートファイル
├── examples/
│ └── sample.md ← 任意:出力例
└── scripts/
└── validate.sh ← 任意:実行スクリプト
フォルダにするメリットは「参考ファイルを同梱できる」点にある。SKILL.mdだけでなく、テンプレート・サンプル出力・スクリプトを一緒に置けるため、スキルが自己完結した「知識パッケージ」になる。
CLAUDE.mdとの根本的な違い
多くのユーザーがまず疑問に思うのが「CLAUDE.mdに書けばよいのでは?」という点だ。
| 観点 | CLAUDE.md | スキル(SKILL.md) |
|---|---|---|
| ロードタイミング | セッション開始時・常時 | 呼び出されたときだけ |
| トークンコスト | 毎セッション消費 | 呼び出し時のみ消費 |
| 用途 | 常に必要なルール・設定 | 繰り返し使うワークフロー・専門手順 |
| ファイル数 | 1ファイル(@importで分割可) | 複数ファイルをフォルダに同梱可 |
| 呼び出し方 | 自動 | /スキル名 または自動判断 |
大量の手順書や参照ドキュメントをCLAUDE.mdに書くと、毎セッションそれだけのトークンを消費する。スキル化すれば、実際に使うときだけロードされるためコストを大幅に削減できる。
常時ロード(必須)"] A --> C["スキル一覧の
descriptionのみ読み込み"] C --> D{"ユーザーが /スキル名
または Claudeが判断"} D -->|"呼び出しあり"| E["SKILL.md本文
をロード"] D -->|"呼び出しなし"| F["本文はロードしない
(トークン節約)"] E --> G["スキルの手順に従って実行"] B --> G
スキルはフォルダ単位で「知識パッケージ」を作る仕組み
CLAUDE.mdとの最大の違いは「オンデマンドロード」でトークン節約
SKILL.md以外のファイル(テンプレート・スクリプト等)も同梱可能
SKILL.mdの書き方:frontmatterフィールド完全解説
SKILL.mdは2つの部分から構成される。---で囲まれたYAML frontmatterと、その下のMarkdown本文だ。
---
name: deploy
description: Deploy the application to production. Use when the user says "deploy", "ship", or "release".
argument-hint: "[environment]"
disable-model-invocation: true
allowed-tools: Bash(git push *) Bash(npm run deploy)
---
## デプロイ手順
1. テストスイートを実行する
2. ビルドを実行する
3. デプロイターゲットにプッシュする
引数 `$ARGUMENTS` で環境(staging/production)を受け取る。
frontmatterの全フィールド
最重要フィールドは description だ。Claudeはdescriptionを読んでスキルを自動呼び出しするかどうかを判断する。「いつ使うか」を具体的に書くことが効果的なスキルの鍵だ。
| フィールド | 必須 | 説明 |
|---|---|---|
name |
いいえ | スラッシュコマンド名。英数字・ハイフンのみ・64文字以内。省略するとフォルダ名が使われる |
description |
推奨 | 何をするスキルか・いつ使うか。Claudeの自動判断に使われる。250文字以内 |
argument-hint |
いいえ | 補完時に表示されるヒント(例: [issue-number]) |
disable-model-invocation |
いいえ | trueでClaude自動呼び出し禁止・手動専用 |
user-invocable |
いいえ | falseでスラッシュメニューから非表示(Claude専用隠しスキル) |
allowed-tools |
いいえ | このスキル実行中に許可するツール(都度確認なしで実行) |
model |
いいえ | このスキル実行中に使うモデルを指定 |
effort |
いいえ | low / medium / high / max。セッションのeffortを上書き |
context |
いいえ | forkで独立したサブエージェントコンテキストで実行 |
agent |
いいえ | context: fork時に使うサブエージェント種別 |
paths |
いいえ | 自動発火を特定ファイルパターンに限定するGlobパターン |
shell |
いいえ | インライン!コマンド用シェル(bashまたはpowershell) |
本文で使える変数置換
# スキル呼び出し例
/deploy production
# SKILL.md内での変数参照
$ARGUMENTS → "production"(引数全体)
$ARGUMENTS[0] → "production"(0番目の引数)
$0 → "production"($ARGUMENTS[0]の省略形)
${CLAUDE_SESSION_ID} → 現在のセッションID
${CLAUDE_SKILL_DIR} → このSKILL.mdが置かれているディレクトリパス
動的コンテキスト注入:!コマンド構文
SKILL.md内で !`コマンド` と書くと、スキルがロードされる前にシェルコマンドが実行され、その出力がSKILL.mdに埋め込まれる。
---
name: pr-summary
description: Pull Requestの変更内容をサマリーする
context: fork
agent: Explore
allowed-tools: Bash(gh *)
---
## PRの現在の状態
- 変更差分: !`gh pr diff`
- PRコメント: !`gh pr view --comments`
- 変更ファイル一覧: !`gh pr diff --name-only`
上記の情報を元にPRをサマリーしてください。
これはClaudeが実行するのではなく、スキルロード時にシェルが事前実行してClaudeに渡す点が重要だ。毎回最新のGit状態やAPI結果を動的に注入できる。
「いつ使うか」のトリガーワードを明示すると、Claudeの自動判断精度が上がる。
悪い例:
Deploy the application良い例:
Deploy the application to production. Use when the user says "deploy", "ship", "release", or asks to push to prod.
frontmatterの
descriptionがClaudeの自動呼び出し判断に使われる最重要フィールド変数置換($ARGUMENTS等)でスキルに引数を渡せる
!コマンド構文でスキルロード時にシェルを事前実行して動的情報を注入できる
スキルの4つのスコープ:どこに置けばよいか
スキルは4つのスコープで管理できる。プロジェクト固有のスキルか、個人の全プロジェクトで使うスキルか、組織全体に配布するスキルかで置き場所が変わる。
# スコープ別の配置場所
# 1. Project(このプロジェクトだけ)
.claude/skills/<スキル名>/SKILL.md
# 2. Personal(自分の全プロジェクト)
~/.claude/skills/<スキル名>/SKILL.md
# 3. Enterprise(組織全体・管理者が強制)
managed-settings.json 経由で配布
# 4. Plugin(プラグイン提供)
<plugin>/skills/<スキル名>/SKILL.md
→ 呼び出し時は plugin-name:skill-name 形式
| スコープ | パス | 適用範囲 | 優先度 |
|---|---|---|---|
| Enterprise | managed経由 | 組織全ユーザー(強制) | 最高 |
| Personal | ~/.claude/skills/ |
自分の全プロジェクト | 高 |
| Project | .claude/skills/ |
このプロジェクトのみ | 中 |
| Plugin | <plugin>/skills/ |
プラグイン有効時 | 低 |
同名のスキルが複数スコープに存在する場合、Enterprise > Personal > Project の順で上位が優先される。チーム内で統一したいスキルはPersonalに、プロジェクト固有のものはProjectに置くのが基本だ。
Pluginスキルは plugin-name:skill-name という名前空間で衝突を回避する。Claude Code Coworkガイドで紹介されているpptx・xlsx・pdfスキルも、このPluginスコープで提供されている。
4スコープ:Enterprise(組織)> Personal(個人全体)> Project(プロジェクト)> Plugin
チーム共有はPersonalスコープ、プロジェクト固有はProjectスコープに配置
同名スキルは上位スコープが優先
スキルの呼び出し:3パターンを使い分ける
スキルの呼び出しには3つのパターンがある。
(常に可能)"] C["Claude"] -->|"descriptionを読んで
自動判断"| D["自動呼び出し
(disable-model-invocation: trueで無効化)"] E["SKILL.md内"] -->|"user-invocable: false
の隠しスキル"| F["Claude専用
内部スキル"] B --> G["SKILL.md本文ロード"] D --> G F --> G
呼び出しパターンの制御
# パターン1:デフォルト(ユーザーもClaudeも使える)
---
name: explain-code
description: コードを図解付きで説明する。"how does this work"などの質問に使う
---
# パターン2:手動専用(副作用のある処理に)
---
name: deploy
description: 本番環境にデプロイする
disable-model-invocation: true ← Claudeの自動呼び出しを禁止
---
# パターン3:Claude専用内部スキル(ユーザーには見せない)
---
name: format-output
user-invocable: false ← スラッシュメニューから非表示
---
disable-model-invocation: true は、デプロイや本番操作など「意図せず実行されたくない」スキルに必ず設定すべきだ。
スキルのライフサイクル
呼び出されたSKILL.mdの内容は会話に1つのメッセージとして挿入され、セッション終了まで有効だ。途中で再ロードはされない。コンテキスト圧縮(compaction)が発生した場合は、最新の呼び出し分が最大5,000トークンまで自動的に再アタッチされる(全スキル合計25,000トークン上限)。
3パターン:デフォルト(ユーザー+Claude)/ 手動専用 / Claude専用隠しスキル
副作用のある処理には
disable-model-invocation: true を設定するロードされたSKILL.mdはセッション終了まで有効、圧縮時は自動再アタッチ
実践活用パターン:スキルでClaudeに「仕事を教える」
Barry・Maheshの動画のキーメッセージは「スキルで自分の仕事のやり方をClaudeに教える」だった。具体的にどう使えるか、実践パターンを紹介する。
パターン1:コードレビュー基準のスキル化
---
name: review
description: コードレビューを行う。"review", "レビュー", "check this code"などのリクエストに使う
---
## コードレビュー手順
このプロジェクトのレビュー基準に従ってレビューしてください:
1. **セキュリティ**: SQL インジェクション・XSS・認証バイパスがないか
2. **パフォーマンス**: N+1クエリ・不要なループがないか
3. **可読性**: 変数名がself-documentingか、コメントが必要な箇所は適切か
4. **テスト**: エッジケースがカバーされているか
出力形式:
- 🔴 Critical(必ず修正)
- 🟡 Warning(できれば修正)
- 🟢 Suggestion(任意)
パターン2:記事執筆ワークフローのスキル化
---
name: write-article
description: ブログ記事を書く。記事作成のリクエストに使う
argument-hint: "[topic]"
context: fork
agent: general-purpose
---
## 記事執筆手順
$ARGUMENTS のトピックで記事を書く。
1. まず公式ドキュメント・GitHubリポジトリをWebSearchで調査する
2. CLAUDE.mdのコンテンツ方針に従う
3. SEOタイトル(50-60文字)・description(120-160文字)を作る
4. 本文7,000-10,000文字で執筆する
5. Mermaid図・比較表を必ず含める
パターン3:チームのデプロイ手順のスキル化
---
name: deploy
description: ステージングまたは本番環境にデプロイする
argument-hint: "[staging|production]"
disable-model-invocation: true
allowed-tools: Bash(git push *) Bash(npm run *)
---
## デプロイ手順($ARGUMENTS)
### ステージング
```bash
npm test
npm run build
git push origin HEAD:staging
```
### 本番
```bash
npm test && npm run lint
npm run build:prod
git tag -a v$(date +%Y%m%d) -m "deploy"
git push origin HEAD:main --follow-tags
```
デプロイ後は https://status.example.com を確認すること。
スキルの最大の価値は「チームの暗黙知を形式知化すること」だ。ベテランの判断基準・チェックリスト・作業手順をスキル化すれば、チーム全員がそのノウハウをClaudeを通じて活用できる。
Claude Codeの内部アーキテクチャ解剖でも解説したように、スキルはCommand → Agent → Skillの3層アーキテクチャの中で「実行可能な専門知識」として機能する。
!コマンド構文(動的注入)はデフォルトで有効だが、セキュリティ上の理由からProject・Personal・Pluginスキルのみに適用される(Enterpriseスキルは無効)。ユーザーが
"disableSkillShellExecution": trueをsettings.jsonに設定することで無効化もできる。
スキルでレビュー基準・執筆ワークフロー・デプロイ手順を「Claudeに教える」
チームの暗黙知をSKILL.md化すれば組織全体で活用可能
context: fork + agent指定でサブエージェントとして実行もできる
スキルの実態:5週間で数千のエコシステムが生まれた
Skillsのリリースからわずか5週間で、数千のスキルがエコシステムに広がった。動画でBarryとMaheshは、スキルが3つのカテゴリに分類されていると語った。
基盤スキル:エージェントに新能力を与える
AnthropicはSkills公開と同時に、OfficeドキュメントをプロクオリティでClaude Codeが作成・編集できる「ドキュメントスキル」を提供した。
さらに注目すべきは、バイオインフォマティクス企業Cadenceが開発した科学研究スキルだ。EHR(電子カルテ)データ解析と、Pythonのバイオインフォマティクスライブラリを使いこなす能力をClaudeに付与した。スキル以前には難しかった専門領域のタスクを、Claudeが正確にこなせるようになった事例だ。
パートナースキル:自社製品とClaudeを繋ぐ
Browserbase は自社のオープンソース ブラウザ自動化ツール Stagehand 向けのスキルを開発した。このスキルを装備したClaudeは、Webブラウザを操作してスクレイピング・フォーム入力・UI操作などを従来より格段に効果的に行えるようになった。
Notion はClaudeがユーザーのNotionワークスペース全体を深く理解し、ディープリサーチできるスキルを複数公開した。自分のノートやデータベースにまたがった横断検索・分析がClaude経由で可能になる。
エンタープライズスキル:組織の暗黙知を形式知化する
動画で最も注目を集めた領域が、Fortune 100企業による社内スキルだ。大手企業が自社のベストプラクティスや、独自の内部ソフトウェアの使い方をエージェントに教えるためにスキルを活用している。
また数千〜数万人の開発者を抱える大手企業のDeveloper Productivityチームが、コードスタイルガイドや社内ワークフローのスキル化によってClaude Codeの社内展開を進めている。
特に驚きなのは、技術者でない人々がスキルを作り始めている点だ。財務、採用、法務、経理といった部門の担当者が、自分の業務フローをSKILL.mdに書いてClaudeに教えている。「エージェントを拡張するのはエンジニアだけ」という前提が崩れつつある。
Anthropic / Cadence"] A --> C["パートナースキル
Browserbase / Notion"] A --> D["エンタープライズスキル
Fortune 100 / 大手IT"] B --> E["新ドメイン能力付与
(EHR分析、Office作成)"] C --> F["自社製品との統合
(ブラウザ操作、Notion検索)"] D --> G["組織知識の形式知化
(内部ソフト、コードスタイル)"] D --> H["非エンジニアも作成
(財務・法務・採用)"]
また動画では、MCPとSkillsの関係も明確に整理された。
MCPは「外部世界への接続」、Skillsは「専門知識」——この2つは競合ではなく補完関係だ。開発者は複数のMCPツールを組み合わせた複雑なワークフローを、スキルとして束ねるようになっている。MCPが外部データへの接続口を提供し、スキルがそのデータをどう使うかの専門知識を提供する形だ。
Skills公開の5週間後、AnthropicはMCPサーバー+スキルセットをセットにした金融サービス向けとライフサイエンス向けの新オファリングをリリースした。スキルとMCPを組み合わせることで、特定ドメインのプロフェッショナル向けにClaudeを即座に専門家化できることを実証した。
5週間で数千スキル:基盤(Cadence/EHR)・パートナー(Browserbase/Notion)・エンタープライズの3種
非エンジニア(財務・法務・採用)もスキルを作り始めている
MCP=外部接続、Skills=専門知識——2つは補完関係
スキルあり vs なし:何が変わるのか
スキルを使う前後で何が変わるか、具体的な対比で整理する。
| 場面 | スキルなし | スキルあり |
|---|---|---|
| コードレビュー依頼 | 「このプロジェクトのレビュー基準は…」と毎回説明 | /review 一言でチームの基準が適用される |
| デプロイ作業 | Claudeが推測で手順を実行する可能性あり | disable-model-invocation: true で誤実行ゼロ |
| 新メンバーのオンボーディング | Claudeがプロジェクト規約を知らない | プロジェクトスキルが自動的に専門知識を提供 |
| 記事作成 | プロンプトに毎回スタイルガイドを添付 | スキル呼び出しで一貫したスタイルが適用 |
| トークンコスト | 全ルールをCLAUDE.mdに書くと毎セッション消費 | 使うときだけロードで60-80%削減可能 |
CLAUDE.md・エージェント・フック・スキルの使い分け
Claude Codeの4つの拡張プリミティブ:
┌─────────────────┬──────────────┬─────────────────────────┐
│ 機能 │ ロード時期 │ 主な用途 │
├─────────────────┼──────────────┼─────────────────────────┤
│ CLAUDE.md │ 常時 │ 常に必要なルール・設定 │
│ スキル │ 呼び出し時のみ│ 繰り返すワークフロー │
│ エージェント │ 委譲時 │ 独立した専門エージェント │
│ フック │ ツール実行時 │ 自動前後処理 │
└─────────────────┴──────────────┴─────────────────────────┘
「毎セッション必ず使う情報」→ CLAUDE.md
「繰り返し使う手順・ワークフロー」→ スキル
「独立したコンテキストで動く専門家」→ エージェント
「ツール実行の前後に自動処理」→ フック
スキル化で「毎回の説明コスト」「トークン消費」「誤実行リスク」が同時に下がる
CLAUDE.md・エージェント・フックとは役割が異なる、補完的な存在
「常時 vs オンデマンド」の基準でどれを使うか判断する
まとめ:「スキルはフォルダ」の意味
BarryとMaheshが16分で伝えたかったことはシンプルだ。
フォルダを1つ作り、SKILL.mdにMarkdownで手順を書く。それだけでClaudeがその専門家になる。
動画のクロージングでは、コンピューティングの歴史になぞらえた鮮やかなアナロジーが示された:
モデル = プロセッサ(巨大な投資・無限の可能性、でも単体では限界)
Agent Runtime = OS(プロセッサの力を最大化する基盤)
スキル = アプリケーション(プラットフォームの上に積み上がる価値)
プロセッサとOSを作る企業は少数。
でも何百万人もの開発者がソフトウェアを書いて世界を変えた。
スキルはその「アプリ開発」の層をAIで開く。
そしてもう1つ、動画で語られた大きなビジョンがある——継続学習だ。
Claudeを1日目から使い続けると、30日目のClaudeは1日目より格段に優秀になる。スキルはClaudeが書いたものを「将来の自分が使える形式」で保存するよう設計されている。Claude自身が学んだことをSKILL.mdに書き留め、それが蓄積していく。現在すでに「skill creator skill」(Claudeがスキルを自分で作るスキル)が公開されており、この方向をさらに推し進める予定だという。
スキルのポイントを再整理すると:
- 構造:
.claude/skills/<名前>/SKILL.md+ 任意の参考ファイル - frontmatter:
descriptionが最重要。「いつ使うか」を明記する - スコープ: Project(プロジェクト)/ Personal(個人)/ Enterprise / Plugin の4段階
- 呼び出し: 手動
/スキル名または自動判断。副作用ありはdisable-model-invocation: true - 動的注入:
!コマンド構文でGit状態やAPIレスポンスをリアルタイム埋め込み - 差別化: CLAUDE.mdは「常時」、スキルは「オンデマンド」でトークン効率が高い
「エージェントを作り直すのをやめて、スキルを作り始めよう」——BarryとMaheshのメッセージだ。今日からフォルダを1つ作ってみてほしい。