🧩 Claude Code Skills 完全ガイド 2026
「2025年8月からずっと使っているけれど、Skillsは一個も作っていない。アップデートのたびに性能が変わるので、スキルが無駄になりそうで踏み出せなかった」——この懸念に正面から答えます。本ページでは、Skillsの仕組み・他機能との使い分け・コミュニティの人気スキルランキング・「更新で無駄になる」問題への4つの根拠・Electron/Turso/SvelteKit スタック別おすすめ禁止リスト・普遍的エラー削減スキル・生産性数値・入れるべき/避けるべき判断ガイドを一次情報ベースで解説します。
結論(3行)
① Skills はモデル非依存のプレーンMarkdownなので「更新で無駄になる」は誤解。Agent Skills オープン標準準拠でツール移行にも強い。
② description の品質がすべて。214スキル監査で73%が事実上サイレント故障しており、壊れているのは仕組みではなく書き方。
③ まず入れるべきは code-review系 / スタック別禁止リスト(Svelte5 runes等) / commit前チェック の3つ。あなたの CLAUDE.md の手順節を切り出すだけで作れる。
🧩 Section 1: Skillsの仕組み — SKILL.md と progressive disclosure
このセクションの3点
① Skills は SKILL.md 1枚で成立する拡張。セッション開始時は description だけがロードされる。
② 大量のスキルを登録しても平時のトークンコストはほぼゼロ——これが CLAUDE.md 直書きとの決定的な差。
③ frontmatter フィールドで「手動専用」「メニュー非表示」「subagent隔離」など細かく制御できる。
Skills とは、SKILL.md という1枚のMarkdownファイルで定義する拡張手順書です。/skill-name で手動呼び出しするか、description に書いた条件を Claude が判断して自動発動します。
ディレクトリ階層と優先度
| スコープ | パス | 有効範囲 | 優先度 |
|---|---|---|---|
| Enterprise | managed(管理者配布) | 組織全体 | 最高 |
| Personal | ~/.claude/skills/<name>/SKILL.md | 全プロジェクト | 高 |
| Project | .claude/skills/<name>/SKILL.md | そのプロジェクト・git管理可 | 中 |
| Plugin | <plugin>/skills/<name>/SKILL.md | プラグイン経由 | 低 |
frontmatter 主要フィールド
| フィールド | 型・既定 | 役割 | 推奨 |
|---|---|---|---|
| name | string | 表示名・/コマンド名 | 任意 |
| description | string・1536字上限 | Claudeが「いつ使うか」を判断する唯一の手がかり | 最重要 |
| allowed-tools | string[] | 使えるツールを許可リストで制限 | 任意 |
| disallowed-tools | string[] | 禁止ツールのリスト | 任意 |
| disable-model-invocation | bool・false | trueで自動発動オフ→手動専用(deploy等) | 任意 |
| user-invocable | bool・true | falseで /メニュー非表示→背景知識用 | 任意 |
| model | string・inherit | 省略時はセッションのモデルを継承 | 任意 |
| context: fork | bool | subagent隔離で独立context | 任意 |
| paths | glob[] | globマッチ時に自動発動 | 任意 |
| argument-hint / arguments | string / schema | 手動呼び出し時の引数ヒント・スキーマ | 任意 |
⚡ Progressive Disclosure — これが最大の利点
セッション開始時にロードされるのは SKILL.md の frontmatter(description)だけです。本体の手順書・禁止リスト・コード例は、スキルが実際に発動した時に初めてロードされます。
→ スキルを50個登録しても、平時のコンテキスト消費は description 数行×50個だけ。CLAUDE.md に全文を書くのとは根本的に異なります。
動的注入と旧 slash command との関係
SKILL.md 本体内では !`git diff HEAD` のような構文で、LLMではなく前処理としてシェルコマンドを実行し、出力をインライン展開できます。
旧来の .claude/commands/*.md(slash command)は Skills に統合済みです。.claude/skills/<name>/SKILL.md と等価で、後者が優先されます。
→ 次の Section 2 では CLAUDE.md / hooks / subagents / MCP との使い分けを見ます。
🔀 Section 2: 他機能との使い分け(CLAUDE.md / hooks / subagents / MCP)
このセクションの3点
① CLAUDE.md は「常時有効ルール」、Skills は「発動時だけロードされる手順書」——役割が全く異なる。
② hooks は LLM 非依存の決定的検証、Skills は Claude が読む知識——補完関係であり競合しない。
③ あなたの CLAUDE.md は既にかなり長い。手順節をスキルに切り出すと平時トークンを節約できる。
| 機能 | 役割 | ロードタイミング | 使う場面 |
|---|---|---|---|
| CLAUDE.md | 常時有効ルール・プロジェクト定義 | セッション開始時に全文ロード | 禁止事項・ディレクトリ構造・言語設定 |
| Skills | 手順・チェックリスト・長い参照 | 発動時のみロード(平時はdescriptionのみ) | コーディング規約・deploy手順・レビューフロー |
| Subagents | 役割付き隔離エージェント | fork で独立 context | 並列実装・context 節約・大規模作業 |
| Hooks | command型の決定的自動処理 | ツール前後に自動実行(LLM非依存) | JSON検証・BOM検出・秘密情報チェック |
| MCP | 外部API・ツールを公開 | 接続時に有効化 | DB操作・外部サービス連携 |
使い分け指針
→ スキル化すべき状況
- 同じ手順を何度もCLAUDE.mdに貼っている
- CLAUDE.md の一節が手順書化している
- 副作用ある操作(deploy/publish)→
disable-model-invocation: true - 背景知識だがメニュー非表示で良い→
user-invocable: false - 隔離並列処理→
context: fork
→ CLAUDE.md のままで良い状況
- 禁止事項・常に守るべき絶対ルール
- ディレクトリ構造・モデル設定
- 「このプロジェクトで使う言語はTypeScript」等の事実
- コンパクション後も必ず再注入したい核心ルール
あなたへの一言: このプロジェクトの CLAUDE.md にはすでに「新ページ作成チェックリスト」「サイドバー追加手順」「思考模写シリーズ書き方」等の手順節があります。これらは Skills に切り出すと平時トークンを大幅に節約できます。CLAUDE.md は200行以内に抑えるのが推奨です。
→ 次の Section 3 ではコミュニティで人気のスキルランキングを見ます。
🏆 Section 3: みんなの使い方 — 人気スキルランキング2026
このセクションの3点
① コミュニティには1,200超のスキルがあるが、実際に機能しているのは27%だけ。
② 最人気は code-reviewer・git-commit-writer・readme-generator の Git/レビュー系。
③ 公式同梱スキルと Anthropic 配布17スキルから始めるのが最も安全。
1,200+
コミュニティスキル数
73%
事実上故障(信頼スコア60未満)
116
最人気 code-reviewer のインストール数
17
Anthropic 公式配布スキル数
出典: Agensi — Best Claude Code Skills 2026 (2026-03時点)
人気スキルランキング TOP7
| 順位 | スキル名 | インストール数 | 用途 |
|---|---|---|---|
| 1 | code-reviewer | 116 | コードレビュー(4フェーズ・信頼スコア付き) |
| 2 | git-commit-writer | 65 | コミットメッセージ生成 |
| 3 | readme-generator | 49 | README 生成 |
| 4 | pr-description-writer | 36 | PR 説明文生成 |
| 5 | temporal-reasoning-sleuth | 32 | 日付・タイムゾーン推論補正 |
| 6 | env-doctor | 30 | 環境変数健全性チェック |
| 7 | changelog-generator | 27 | 変更履歴生成 |
公式同梱(bundled)スキル
Claude Code にはじめから入っているスキル: /code-review / /debug / /batch / /loop / /run / /verify / /claude-api / /run-skill-generator
Anthropic 公式配布(anthropics/skills — 17スキル)
| カテゴリ | スキル例 | 用途 |
|---|---|---|
| ドキュメント系 | pdf / docx / pptx / xlsx | 各種ドキュメント生成・変換 |
| 開発系 | claude-api / mcp-builder / frontend-design / webapp-testing | API実装・MCP構築・フロントエンド・テスト |
| デザイン系 | brand-guidelines / canvas-design / theme-factory | ブランド・デザインシステム |
インストール例:
/plugin marketplace add anthropics/skills /plugin install document-skills@anthropic-agent-skills
代表的キュレーション
awesome-claude-skills には test-driven-development / systematic-debugging / using-git-worktrees / mcp-builder 等が収録されています。
→ 次の Section 4 では「アップデートで無駄になる」という読者の核心懸念に答えます。
🔄 Section 4: 「アップデートで無駄になる」問題への答え
このセクションの3点
① Skills はプレーンMarkdown宣言——モデルのAPIや内部バイナリに一切依存しない。
② Agent Skills オープン標準準拠でツール間移行も低コスト。Claude Code に縛られない。
③ 腐るのは「指示文の微調整」だけ。禁止リスト・リファレンス資料は陳腐化しにくい。
この懸念は理解できますが、4つの根拠から「誤解に近い」と言えます。
- 1
モデル非依存
Skills はプレーンMarkdownの宣言
SKILL.md はモデル固有のAPIやバイナリに依存しない純粋なテキストです。Claude 4.6→5→6 とモデルが変わっても、SKILL.md の中身(禁止リスト・手順・コード例)は一切書き直す必要がありません。「モデルが更新されたらスキルが壊れる」という事態は構造上起きません。
- 2
ツール移行コスト低
Agent Skills オープン標準準拠
agentskills.io のオープン標準に準拠しており、Claude Code / Cursor / Codex CLI / Gemini CLI / Aider 等で同じスキルフォルダが動きます。Claude Code を乗り換えても資産が引き継げます。
- 3
model省略で継承
model:省略時はセッションのモデルを自動継承frontmatter の
model:フィールドを省略すると、スキルはセッションで使われているモデルをそのまま継承します。特定モデルに固定したい時だけ明示すれば良く、「モデル名を埋め込んだスキルが古くなる」問題を避けられます。 - 4
git管理で更新追跡
.claude/skills/ をコミットできる
Project スコープのスキルはリポジトリの
.claude/skills/に置いてコミットできます。変更履歴を git で追えるので「どのバージョンで何を変えたか」が明確になります。
両論併記(誠実に)
ただし「モデルが大きく変わった時に description や instruction の最適性が落ちる可能性」については、公式が明示的に否定していません(不確実な部分)。
腐るのは「指示文の微調整」だけです。スキルという仕組み自体・リファレンス資料・禁止リストは陳腐化しにくい。陳腐化対策として:①禁止リストとリファレンスを中心に書く(モデルが賢くなっても有効) ②バージョン固有情報は明記して更新しやすくするの2点を推奨します。
結論
2025年8月から使ってきたあなたが CLAUDE.md に毎回書いている定型こそスキルにすべきです。スキルは消耗品ではなく、あなたの暗黙知を資産化する仕組みです。
出典: code.claude.com/docs/en/skills / agentskills.io
→ 次の Section 5 ではあなたのスタック(Electron / Turso / SvelteKit)別のおすすめスキルを見ます。
🛠️ Section 5: あなたのスタック別おすすめスキル(Electron / Turso / SvelteKit)
このセクションの3点
① 「AIに正しい書き方を教える」より「間違った書き方をNEVERで禁止する」方が守られる。
② 各スタックで AI がよく犯す間違いのパターンがある——それをそのままスキルの禁止リストにする。
③ CLAUDE.md に書いている規約をコピペするだけでスキルの原型が完成する。
基本原則
「AIに正しい書き方を教える」より 「間違った書き方を NEVER で禁止する」 方が遵守率が高くなります。モデルが賢くなるほど、明示的な禁止リストは有効性を増します。
⚡ SvelteKit + Svelte 5 (runes)
AI がよく間違える点
| 項目 | 旧 Svelte 4(出してはいけない) | 正 Svelte 5 runes |
|---|---|---|
| リアクティブ変数 | let count = 0 | let count = $state(0) |
| 派生値 | $: double = count * 2 | const double = $derived(count * 2) |
| 副作用 | $: { ... } | $effect(() => { ... }) |
| props 受け取り | export let foo | let { foo } = $props() |
| イベント発火 | createEventDispatcher() | コールバック props |
| イベントハンドラ | on:click | onclick |
| スロット | <slot> | {@render header()} |
| ローカル store | writable(0) | $state(0) |
description 例
禁止リスト(SKILL.md body 抜粋)
NEVER use: export let, $:, createEventDispatcher, on:event, <slot>, writable() for local state
ALWAYS use: $state(), $derived(), $effect(), $props(), onclick={}, {@render}, callback props
$effect is for SIDE EFFECTS only — use $derived for computed values
Destructured $state loses reactivity: const { x } = $state(obj) — NEVER do this
$bindable() required for bind: on child props
load type: PageLoad vs PageServerLoad — never mix
fail() and redirect() import from '@sveltejs/kit' 🖥️ Electron
AI がよく間違える点
| 危険な設定 | なぜ危険か | 正しい既定 |
|---|---|---|
| nodeIntegration: true | XSS が即 RCE(リモートコード実行)になる | false を維持 |
| contextIsolation: false | preload と renderer が同一 context・window 汚染 | true を維持 |
| sandbox: false | Electron 20以降は true が既定 | true を維持 |
| ipcRenderer 丸ごと expose | 全 IPC チャンネルが開放される | 1チャンネル1関数だけ expose |
| send + on | 型安全性なし・競合リスク | invoke + handle |
description 例
禁止リスト
NEVER nodeIntegration: true NEVER contextIsolation: false NEVER sandbox: false NEVER expose ipcRenderer directly via contextBridge NEVER ipcRenderer.send + ipcMain.on for request/response — use invoke + handle ALWAYS one function per IPC channel ALWAYS validate event.senderFrame.url in ipcMain.handle CSP via session.defaultSession or <meta>
🗄️ Turso (libSQL)
AI がよく間違える点
| 落とし穴 | 原因 | 対処 |
|---|---|---|
| 手動 BEGIN/COMMIT | HTTP では別リクエストでトランザクション共有されない | client.batch([...],"write") |
| interactive txn 使用 | DB 書込ロック・5秒でタイムアウト | 高レイテンシでは batch 優先 |
| エッジで embedded replica | CF Workers/Vercel Edge は永続 FS なし→node:fs エラー | @libsql/client/http を import |
| drizzle-kit push 失敗 | DDL を通常 txn 内で実行不可 | drizzle-kit migrate に切替 |
| syncUrl に file:// 使用 | file:// を syncUrl にすると同期しない | libsql:// or https:// |
description 例
禁止リスト
NEVER client.execute("BEGIN") / client.execute("COMMIT") — use client.batch([...],"write")
interactive txn locks DB, 5s timeout — prefer batch for high-latency scenarios
Edge runtime: import from '@libsql/client/http' (NOT default @libsql/client)
Embedded replica: local=file:./path, syncUrl=libsql:// or https:// (NEVER file://)
drizzle-kit push fails on table recreation — use migrate
Packages: @libsql/client (ORM), @tursodatabase/sync (push/pull), @tursodatabase/serverless (edge) 出典: Svelte5 移行ガイド / Electron セキュリティ / Turso TS SDK / Drizzle × Turso
→ 次の Section 6 ではスタック非依存・普遍的にエラーを減らすスキルを見ます。
🛡️ Section 6: 普遍的にエラーを減らすスキル(言語・FW非依存)
このセクションの3点
① エラーを減らす実績カテゴリは「コードレビュー」「TDD強制」「コミット前検証」の3類型。
② code-reviewer は4フェーズ+信頼スコアで低品質指摘をフィルタする構造化レビュースキル。
③ hooks(決定的検証)とスキル(知識・手順)は補完関係——役割分担が重要。
① コードレビュー
code-reviewer
4フェーズ(コンテキスト収集 → 高レベルレビュー → 行単位レビュー → サマリー)+信頼スコア(0〜1.0)で低品質指摘を自動フィルタ。19言語対応・16,000行規約を progressive load で処理。
② TDD強制
test-driven-development
「テストなしで本番コードを書かない」を強制。Red-Green-Refactor サイクルを明文化。効果: Claude が「想像した動作」ではなく「観測された動作」に基づいてコードを書くようになる。
③ コミット前検証
commit / security 検証
allowed-tools で危険コマンドをブロック、テストなし実装の検出、カバレッジ率チェック。git-commit-writer / pr-description-writer でレビュー前段を自動化。
公式同梱スキルとして利用可
このプロジェクト読者向け補足: あなたの CLAUDE.md には既に pre-commit-check.sh 等の hooks があります。hooks(決定的検証) と スキル(手順の知識) は補完関係です。「JSON構文チェック・BOM検出・秘密情報チェック」は hooks のまま。「コードレビュー観点・コーディング規約の知識」はスキルに置くと役割分担が綺麗になります。
→ 次の Section 7 では生産性がどれだけ変わるかを数値で見ます。
📊 Section 7: 生産性はどれだけ変わるか(数値)
このセクションの3点
① スキル単体の効果を分離測定した公開ベンチマークはまだ存在しない——下記は Claude Code 全体の数値。
② progressive disclosure により「大量スキルを登録しても平時トークンはほぼゼロ」は構造的に確実。
③ 生産性は「スキルの有無」でなく「description の品質」に依存する。
⚠️ 重要な注意
スキル「単体」の効果を分離測定した公開ベンチマークはまだありません。以下は Claude Code 全体の調査数値です。スキルへの帰属は不明である点を最初に明記します。
3〜5時間
週あたり節約時間(中央値)
46%
「最も愛されるツール」票
95%※
初回試行正解率(※要注意)
| 指標 | 数値 | 出典 | 備考 |
|---|---|---|---|
| 週あたり節約時間(中央値) | 3〜5時間 | Pragmatic Engineer Survey 15,000人 | Claude Code全体 |
| 「最も愛されるAIコーディングツール」 | 46%(Cursor 19%・Copilot 9%) | 同上 | — |
| AI生成コードの割合 | 約50% | gradually.ai | — |
| 「生産性が向上した」と回答 | 45% | 同上 | — |
| 初回試行正解率 | 95% | serpsculpt | 調査主体が独立第三者か不明・Anthropic公式発表ではない |
スキル特有の効果(構造的に確実なもの)
- ✅ 平時トークンゼロ: progressive disclosure により、大量スキルを登録しても description しかロードされない——コンテキスト節約は構造的に確実。
- ✅ description 品質依存: 214スキル監査の73%故障を踏まえると、生産性向上はスキルの有無でなく description の書き方に依存する。良い description を1回書けば継続して効果が出る。
→ 次の Section 8 では入れるべき/避けるべきの判断基準と、まず3つ作るロードマップを見ます。
✅ Section 8: 入れるべき / 避けるべき 判断ガイド
このセクションの3点
① 214スキル監査で73%がサイレント故障——壊れているのは仕組みではなく description の書き方。
② 「入れるべき」は繰り返す手順・FW規約強制・gitワークフロー・TDD。「避けるべき」は年1回以下・5語のdescription。
③ まず3つだけ作れ。code-review / スタック禁止リスト / commit前チェック。
214スキル監査の衝撃データ
73%
信頼スコア60未満(事実上故障)
68%
トリガーフレーズなしの曖昧description
41%
description 20語未満
62%
バージョンフィールド欠如
出典: dev.to — I Audited 214 Claude Code Skills
| 問題 | 割合 |
|---|---|
| トリガーフレーズなしの曖昧 description | 68% |
| description 20語未満 | 41% |
| コード例なし | 55% |
| バージョンフィールド欠如 | 62% |
サイレント故障の仕組み
不正な SKILL.md はエラーを出しません。description が不明確だと Claude が発動判断できず「ただ呼ばれないだけ」になります。複数スキルが似た description を持つと誤発火の原因にもなります。
入れるべき / 避けるべき
| カテゴリ | 入れるべき | 避けるべき |
|---|---|---|
| 手順系 | 繰り返しペーストしている手順・チェックリスト | 使用頻度が年1回以下(メンテコスト割れ) |
| コーディング規約 | FW固有の規約強制(Svelte5 runes限定・Tailwind v4等) | 「常に守るべき事実」(→ CLAUDE.md 直書きが確実) |
| Git ワークフロー | コミット前検証・PR説明生成の定型フロー | 他スキルと大きく重複する description(衝突) |
| テスト・セキュリティ | TDD強制・セキュリティ監査の定型フロー | 5〜20語以内の短い description しか書けないもの(発火しない) |
まず3つだけ作れ(スキル0個からのロードマップ)
- 1
最優先
code-review 系
公式同梱の
/code-reviewをそのまま使うか、上述の code-reviewer スキルをインストール。毎回レビュー観点を書く手間がなくなる。 - 2
即効性が高い
スタック別禁止リストスキル(Svelte5 / Electron / Turso)
Section 5 の禁止リストを
.claude/skills/svelte5/SKILL.md等にコピペするだけで完成。CLAUDE.md の該当節を切り出せばOK。 - 3
品質ゲート
commit 前チェックの手順スキル
「コミット前に確認するチェックリスト」をスキルにする。hooks(決定的検証)と組み合わせると feature ブランチ強制・.env 混入防止の知識が常に発動する。
description は「いつ使うか」のトリガーを20語以上で具体的に書くこと。
良い SKILL.md の最小テンプレ
---
name: svelte5-runes
description: >
Svelte 5(runes)と SvelteKit 2 を最新の正しい書き方で書く。
Svelte 4 の古い書き方(export let / $: / createEventDispatcher / slot /
writable store でのローカル状態)を出さない。
.svelte / .svelte.js / .svelte.ts / +page / +layout / +server ファイルを
編集・作成する場合に必ず使用する。バージョン: Svelte 5.x / SvelteKit 2.x
allowed-tools:
- Read
- Edit
- Write
- Bash
---
## When to use
.svelte, .svelte.ts, +page.svelte, +layout.svelte, +page.server.ts 等を
編集・作成する際に自動発動する。
## NEVER use (Svelte 4 patterns)
- export let (use $props())
- $: reactive statements (use $derived / $effect)
- createEventDispatcher (use callback props)
- on:click / on:input (use onclick / oninput)
- <slot> (use {#snippet} + {@render})
- writable() for local state (use $state())
## ALWAYS use (Svelte 5 runes)
- $state() for reactive variables
- $derived() for computed values (NOT $effect)
- $effect() for side effects only
- $props() for all props
- $bindable() for two-way bind props スキルは消耗品ではありません。あなたが2025年8月から積み上げてきた暗黙知——「この書き方をすると AI が間違える」「この手順を毎回ペーストしている」——を資産化する仕組みです。まず1個、CLAUDE.md の一節を切り出すところから始めてください。
出典一覧
- code.claude.com/docs/en/skills — 公式ドキュメント
- github.com/anthropics/skills — Anthropic 公式スキルリポジトリ
- agentskills.io — Agent Skills オープン標準
- github.com/karanb192/awesome-claude-skills — コミュニティキュレーション
- agensi.io — Best Claude Code Skills 2026 — ランキングデータ
- dev.to/thestack_ai — 214スキル監査
- serpsculpt.com — Claude Code Usage Statistics
- gradually.ai — Claude Code Statistics
- mindstudio.ai — Common Mistakes Guide
- aihero.dev — TDD Skill
- agensi.io — Code Review Skills
- svelte.dev/docs — v5 Migration Guide
- electronjs.org — Security Tutorial
- docs.turso.tech — TypeScript SDK Reference
- orm.drizzle.team — Drizzle with Turso