A
AIエージェントの仕組み
ch8-s3 · Skills

Skills でスペシャリストを作る

約 14 分

08-03. Skills で「特定の場面で起動するスペシャリスト」を作る

この回のゴール

1. 動機: CLAUDE.md だけでは "詰まる" シーン

CLAUDE.md は 毎セッションの先頭で読まれる = 常駐コンテキスト。 だが業務には 特定の状況でだけ呼びたい知識 がたくさんある:

これら全部を CLAUDE.md に書くと 冗長で読みにくく、効果が薄れる(2 章 6 節のアンチパターン)。

Skills = 「特定の意図のときだけ Claude が読みに行く知識・手順」

2. Skill の構造

cd <your-repo>
claude
> /init

SKILL.md の最低限の中身:

> ステージにある変更で適切なコミットメッセージを書いて

重要: description フィールド

3. CLAUDE.md vs Skills vs Hooks

CLAUDE.md Skills Hooks
いつ読まれる 毎セッション開始時 Claude が「使うべき」と判断した時 特定イベント時(ToolUse 前後など)
Claude の判断 常に参照 description 見て判断 関係なく強制実行
失敗時の影響 コンテキスト汚染 該当タスク質低下 セッション継続/中断
用途 普遍的なプロジェクトルール 場面別のノウハウ 機械的な強制(テスト実行など)

→ 階層: CLAUDE.md (常駐) ≪ Skills (lazy) ≪ Hooks (強制)

4. ハンズオン: 2 つの Skill を作る

Skill 1: コミットメッセージ

- 役割分担(どこに何が書いてあるか)
- SSH 接続情報
- ワークフロー (5 ステップ)
- Critical Rules
  - Nginx 設定の罠
  - 情報漏洩防止ポリシー
  - バックアップルール
  - セキュリティ
  - リソース制約
  - ドキュメント鮮度

.claude/skills/git-commit-message/SKILL.md:

Skill 2: PR レビューチェックリスト

wzxhzdk:4

.claude/skills/pr-review-checklist/SKILL.md:

wzxhzdk:5

動作確認

wzxhzdk:6

5. アンチパターン

症状 原因 対策
関係ない場面で Skill が発火 description が広すぎる 状況を絞る:「コミットメッセージを書く時」
必要な場面で Skill が呼ばれない description に該当キーワードが無い 動詞・名詞両方含める
Skill 同士が矛盾 似た目的を別 Skill で書いた 1 つに統合、もしくは明確にスコープ分離
Skill が肥大化 全部入りで書いた サブファイル(templates/, scripts/)に分割し、SKILL.md からは概要のみ

6. 今回の限界 (notes に書く内容)

参考

📝 理解度クイズ (3 問) 💡 ログインすると進捗が保存されます

💬 このサブステップの Q&A

まだ質問はありません。最初の質問を投稿してみましょう。

質問の投稿にはログインが必要です。