メインコンテンツへスキップ
AMPL/ dev
開発系講座一覧

毎回頼むのをやめる(Hooks・Skills・Plugins)

「また同じこと言ってる」が増えてきたら、これを設定する合図。一度教えれば、次からは自動。

このレッスンで

終わる頃には、次ができるようになります

  • HooksとSkillsの違いを自動で動くか自分で呼ぶかで説明できる
  • .claude/commands/にMarkdownを置いて自分専用のスラッシュコマンドを作れる
  • 迷ったらSkillsから試しHooksは慣れてから使うと判断できる

同じこと、何回言わせるんだろ…って気分になる

Claudeを使い込んでくると、必ずこの瞬間が来る。

「コード整えて」「この文章を日本語で」「毎朝のニュースまとめて」

全部、前にも頼んだやつ。ありがたいけど、毎回キーボード叩くのがだるくなってくる。

この問題、2つの道具で解決できる。


道具1: Hooks(自動で勝手にやってくれる)

「〇〇したら、△△も一緒にやっとく」という、裏で勝手に動く仕組み。

例: Claudeがファイルを書き換えるたびに、コードの見た目を自動で整える。

頼まなくても、ファイル保存のタイミングで毎回走る。自分は何もしなくていい。

作り方

Claudeに頼むだけ。/hooks は設定の確認用(閲覧専用メニュー)で、追加・変更は settings.json を編集するか Claude に書いてもらう。

.claude/settings.json に Hooks を設定して。
ファイルを編集したあとに prettier が自動で走るようにして。

出来上がる設定ファイルはこんな感じ。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"
          }
        ]
      }
    ]
  }
}

中身は気にしなくていい。Claudeが書いてくれる。

何を意味してるか(ざっくり)

単語意味
PostToolUse何かをした後に動く
matcherどの道具が動いた時
hooks何を走らせるか(実行コマンド)

補足

間違えても壊れない

Hooksの設定を雑に書いてもファイルが壊れたりはしない。動かなかったら設定を消すだけ。気軽に試していい。

終わったら教えてもらう(Notificationフック)

長い作業を頼んで、終わるまでずっと画面を見張っているのは地味につらい。ここもHooksで解決できる。

Notification というイベントは、Claudeが入力待ち・許可待ちで止まったときに自動で発火する。設定しておけば、画面から離れていても気づける。

Claudeにこう頼む(Macの場合)。

Notificationフックを設定して。
Macで、Claudeが止まったらデスクトップ通知が出るようにして。

~/.claude/settings.json に、こんな設定が書き足される。

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

通知が出ない場合は、ターミナル(アプリ)を開いて、次の1行だけを貼り付けて実行する。

osascript -e 'display notification "test" with title "Claude Code"'

一度実行すると、Macの「システム設定 > 通知」の一覧に「スクリプトエディタ」が出てくる。そこで通知を許可すれば、次からは自動で出るようになる。

Windowsを使っている場合、osascript はMac専用のコマンドなので、このままでは使えない。「Windowsで同じことがしたい」とClaudeに頼めば、そのパソコン用のやり方を考えてくれる。

ちなみにターミナルがGhostty・Kitty・iTerm2のどれかなら、何も設定しなくても既定でデスクトップ通知が出る。それ以外のターミナルで、通知よりベル音の方が気づきやすい人は、設定に "preferredNotifChannel": "terminal_bell" を足すと音で知らせてくれる。


道具2: Skills(自分で呼び出すショートカット)

Hooksが自動、Skillsが手動で呼ぶ方。

Claudeに最初から入ってるSkillsもある。例えば:

/doctor

って打つと、環境やセットアップの状態をひと通りチェックしてくれる。他にも:

コマンド何する?
/doctorセットアップの健康診断
/planやることを整理して計画を出す
/code-reviewコードの問題点チェック
/hooks設定済み Hooks を確認(閲覧専用)

で、ここが面白い: 自分専用のSkill、作れます。


自分用Skillを作ってみる

Skillの正体はただのテキストファイル。拍子抜けするけど、本当にそれだけ。

.claude/commands/ というフォルダに、マークダウンファイル(.md)を置く。それが新しいスラッシュコマンドになる。

例: 日報を作るSkill

Claudeに頼む。

続けてAIに送る
.claude/commands/ フォルダに 日報.md を作って。
中身はこうして:

今日の作業を振り返って、以下の形式で日報を作る。

## 今日やったこと
- 3つ以内

## 明日やること
- 3つ以内

## メモ
- 気づいたことがあれば

これで、/日報 と打つだけで日報が出てくる。

補足

ファイル名=コマンド名

日報.md を置くと /日報 で呼べる。 make-readme.md なら /make-readme。

それだけのルール。難しくない。


実際に使える「あると便利」Skill

同じやり方で作れる、実際に使えそうなやつをいくつか:

/引き継ぎメモ 「案件の経緯・進捗・懸念点」を受け取って、引き継ぎ資料の下書きを作る

/完了報告 対応の経過を整理して、案件完了報告のドラフトを生成

/資料要約 テーマを渡すと、社内外のレポート3本を選んで要約

/社外原稿 テーマを渡すと、指定の文体で2000字の原稿

作り方は全部同じ。.claude/commands/ にMarkdownを置くだけ。

もう少し本格的なSkillになると、フォルダの中身が少し増えます。SKILL.mdは必須で手順を書く場所、そこにscripts/(実行コード)、references/(詳しい資料)、assets/(テンプレートや画像)を任意で足せます。いきなり全部いりません。まずはSKILL.md1つで十分です。

SKILL.mdにはdescriptionという項目があり、Claudeが「いつこのSkillを使うか」をここで判断します。公式ガイドが勧める書き方はシンプルで、[何をするか]+[いつ使うか]の2つを1文に入れること。ここが薄いと、Claudeが「このSkillを使うべき場面」を見逃しやすくなります。

フォルダ構造とdescriptionの書き方をもう少し掘り下げたい人は、用語辞典のSkills実践編で扱っています。


HooksとSkills、どう使い分ける?

Hooks と Skills の比較図
Hooks は自動(裏で勝手に)、Skills は手動(呼んで動かす)。役割が違うので両方使う
HooksSkills
いつ動く?自動自分で呼ぶ
どこに書く?settings.json.claude/commands/*.md
例コード整形、リント日報、要約、下書き
考えずに動かしたい◎×
考えてから呼びたい×◎

迷ったらSkillsから。Hooksは慣れてからでいい。


Plugins: 「Skillsの詰め合わせ」

Skillを自分でいくつか作ってくると気づく。

「資料サマリーSkill、引き継ぎメモSkill、完了報告Skill、この3つセットで1つのパッケージにしたいな」

これを解決するのが Plugin。複数のSkillsをひとまとめで共有・配布できる仕組み。

公式の例

Anthropic自身が配布しているPluginもある。たとえば commit-commands は、コミット・push・プルリクエスト作成のコマンドをひとまとめにしたPlugin。/plugin install commit-commands@claude-plugins-official と打つだけで入る。

見る場所は、ターミナルなら /plugin と打つのが一番早い。デスクトップアプリなら、Codeタブのプロンプト欄の横にある「+」ボタンから「Plugins」→「Add plugin」で同じことができる。仕組みの詳しい説明は用語辞典のPluginsにまとめてある。

業務用で欲しいPlugin

  • 資料サマリーPack (資料検索 + 要点整理 + 要約 + 翻訳)
  • 業務効率化Pack (引き継ぎメモ + 完了報告 + 取引先向け説明書)
  • リサーチPack (資料レビュー + データ分析 + 図表生成)

AMPLでも今後用意していく予定です。

「Skills作って、育ったらPluginに束ねる」が自然

最初は1個のSkillから。使い込んで数が増えてきたら、関連するやつをPluginにまとめる、という順番がラク。


もうひとつ練習: README自動生成

続けてAIに送る
.claude/commands/ に make-readme.md を作って。
中身: このプロジェクトのファイル構成を読み取って、README.mdを作る。
含めるもの: 概要1行、セットアップ手順、使い方、ファイル構成

これで /make-readme が使える。プロジェクトの説明書が一瞬でできる。


今日のまとめ

3行で振り返る。

  • Hooksは自動(裏で勝手に)、Skillsは手動(自分で呼ぶ)。役割が違うので両方使う
  • 自分用のSkillは .claude/commands/ にMarkdownを1つ置くだけで作れる。増えてきたらPluginにまとめられる
  • 長い作業を待つ時間は、Notificationフックで通知任せにできる。人に配るSkillは、渡す前に中身の確認を忘れない

次のレッスンでは、壊しても戻せる仕組み(Git)を見ていく。

SourceDOCUMENTATION
Claude Code公式: Hooksの使い方ガイド

PostToolUseでの自動整形やNotificationでの通知など、フックの設定例が並ぶ公式ガイド

Webcode.claude.com
code.claude.com/docs/en/hooks-guide

セルフチェック

1. Hooksはどう動く?

2. 自分用Skillの作り方は?

3. PluginとSkillの関係は?

明日のアクション

自分が「毎回やってるな」と思う業務を1つだけ選んで、Skillにしてみてください。

題材を3つ挙げます。この中から1つでかまいません。

  1. 社内勉強会資料の型(資料URLを渡すと、背景・方法・結果・限界・自分の部署への示唆を定型で出す)
  2. 説明資料のひな形(テーマと対象読者を渡すと、指定の読みやすさで下書きを出す)
  3. 案件報告の下書きの型(経過メモを渡すと、報告書の定型構成に整える)

作り方は簡単: .claude/commands/ にMarkdownを1つ置く。ファイル名が /コマンド名 になります。

共有する前に、1つだけ確認してください。作ったSkillを同僚やチームに渡すときは、中身に社名・機密情報・社内限定の情報が混ざっていないかを必ず読み返します。「自分だけが使う」ものと「他人に使わせる」ものでは、責任の重さが変わります。この確認は、次のレベル(部署・チームに広げる担当者)の入口になる習慣です。

このレッスンは役に立ちましたか?