Claude Code の Agent Skills は設定したほうがいい

null ・ kuroneko (@_kuroneko_jp) ・ 💻 AI/開発

Claude Code の Agent Skills は設定したほうがいい

**投稿者:** kuroneko (@_kuroneko_jp)

**元記事著者:** syu-m-5151 (nwiizo)

**投稿日時:** 2025年1月15日

**URL:** https://x.com/_kuroneko_jp/status/2011490663284818268

**記事URL:** https://syu-m-5151.hatenablog.com/entry/2025/12/19/173309

**エンゲージメント:** 116リポスト / 1,153いいね / 1,391ブックマーク / 31万表示

---

概要

Claude Codeの「Agent Skills」について詳細に解説した記事。「このプロジェクトではpython-pptxを使ってスライドを作って」「SQLは必ずこのフォーマットで」といった説明を毎回繰り返す問題を解決する機能。

---

なぜSkillsが必要か

LLMはステートレスで、セッション間で記憶を保持しない。トークン制約とコスト制約があるため、すべての知識を常に保持できない。**Agent Skillsは、必要な時に必要な知識だけを読み込む仕組み**。

「エージェントにSkillを作ることは、新入社員向けのオンボーディングガイドを作るようなもの」 — Anthropic公式ブログ

---

他の設定との違い

| 機能 | 役割 | 例 |

|-----|------|-----|

| CLAUDE.md | プロジェクトの文脈を伝える | 「うちはTypeScriptで、こういうアーキテクチャ」 |

| commands | 手動で呼び出すショートカット | /test-and-commit で一連の作業を実行 |

| Hooks | 特定のイベントで自動実行 | ファイル保存後に自動フォーマット |

| Subagents | 専門家を自動で呼び出す | デバッグ時にdebugger subagentが起動 |

| Rules | パス単位でルールを適用 | src/api/**/*.tsにセキュリティルール |

| **Agent Skills** | 専門知識をオンボーディング | PDF操作、Excel分析、独自ワークフロー |

**Skillsのポイント**: 「Claudeができること自体を拡張する」。他の設定がClaudeの「使い方」を定義するのに対し、SkillsはClaudeの「専門知識」を拡張する。

---

Tool、Skills、MCPの違い

| 概念 | 役割 | たとえ |

|-----|------|--------|

| Tool | 何ができるか(Capability) | 店にある道具そのもの |

| MCP | 道具へのアクセス(Connectivity) | 店の通路に入ること |

| Skills | どう振る舞うか(Behavior) | 道具の使い方を教える店員 |

---

Progressive Disclosure(段階的開示)

すべての情報を最初から渡すのではなく、必要になったタイミングで必要な情報だけを渡す設計原則。

3段階での情報開示

1. **Level 1: メタデータ(常にロード)** - 約100トークン/Skill

- name/descriptionだけ読み込み

2. **Level 2: 指示(トリガー時にロード)** - 5000トークン以下が目安

- SKILL.mdの本文

3. **Level 3: リソース(必要時にロード)**

- 追加のファイル、スクリプト、リファレンス

---

SkillsとSubagentsの使い分け

| 観点 | Skills | Subagents |

|-----|--------|-----------|

| コンテキスト | 親と共有 | 独立 |

| 向いているタスク | 継続的な作業、TDDなど | 試行錯誤、調査タスク |

| 状態の引き継ぎ | あり | なし(結果のみ返す) |

**判断基準:**

---

カスタムSkillの作成

基本構造

---
name: my-custom-skill
description: このSkillが何をするか、いつ使うべきかを説明。
---

# My Custom Skill

## 指示
[具体的な手順をここに書く]

## 例
[実際の使用例]

配置場所

| タイプ | パス | スコープ |

|-------|------|---------|

| 個人 | ~/.claude/skills/ | 全プロジェクト共通 |

| プロジェクト | .claude/skills/ | 現在のプロジェクトのみ |

---

ベストプラクティス

1. 簡潔に書く

Claudeが既に知っていることは書かない。冗長なSkillはトークン消費とノイズを増やす。

2. 自由度を適切に設定

3. フィードバックループを入れる

複雑なワークフローでは検証ステップを入れる。

4. ネストを深くしない

参照ファイルはSKILL.mdから1階層までに留める。

---

よくある失敗と対策

| 問題 | 原因 | 対策 |

|-----|------|------|

| Skillがトリガーされない | descriptionが曖昧 | 「何をするか」と「いつ使うか」を明記 |

| コンテキスト不足 | SKILL.mdに情報が足りない | 参照ファイルを追加 |

| トークン消費が多すぎる | Progressive Disclosureしてない | 情報を複数ファイルに分割 |

| 出力が不安定 | 自由度が高すぎる | 具体的なテンプレートや例を追加 |

---

参考資料

---

*保存日: 2026-01-30*