メインコンテンツへスキップ
レッスン 5 / 8|9分で読めます

HooksとSkillsで作業を自動化する

毎回やる作業をAIに覚えさせる。一度教えれば、次からは自動で動く。

毎回おなじことを言うのが面倒になってきた

Claude Codeをしばらく使っていると、気づく。毎回おなじことを頼んでいる自分に。

コードを整えて。日本語で返して。エラーチェックして。全部、前も言ったやつだ。

ありがたいけど、さすがにだるい。

実はこの問題、ちゃんと解決策がある。HooksとSkillsという2つの仕組みだ。理屈は後回しにして、まず触ってみよう。

Hooks: ファイルを保存するたびに自動で動くやつ

Hooksは、Claude Codeが何かをしたタイミングで別の処理を自動で走らせる仕組みだ。

わかりやすい例を出す。Claude Codeがファイルを保存するたびに、コードの体裁を自動で整える。手で頼まなくても勝手にやってくれる。


やってみよう: Hooksを設定する

Claude Codeを起動して、こう話しかける。

.claude/settings.json に以下のHooksを設定して。
ファイルを編集したあとに prettier を自動で走らせたい。

Claude Codeが設定ファイルを書いてくれる。中身はこうなる。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hook": "npx prettier --write $CLAUDE_FILE_PATH"
      }
    ]
  }
}

仕組みを整理しよう。

項目説明
PostToolUse何かをした「後」に動く
matcherどのツールが動いたときに反応するか(ここではEditかWrite)
hook実行するコマンド(ここではprettierでコード整形)

これだけ。ファイルを編集するたびにprettierが走って、コードが勝手にきれいになる。


Hookが動くタイミング

3種類ある。

タイミングいつ動くか使い道
PreToolUse何かをする前危ないファイルの編集を防ぐ
PostToolUse何かをした後コード整形、リント実行
Notification通知が出たときSlackに通知を飛ばす

最初はPostToolUseだけで十分。何かした後にチェックを走らせる、これが圧倒的に出番が多い。

間違えても壊れない

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


Skills: スラッシュコマンドで呼び出す技

Hooksが自動で動くものだとすると、Skillsは自分で呼び出すもの。

Claude Codeには最初からいくつかSkillが入っている。たとえば /commit と打てば、変更内容をまとめて保存してくれる。

/commit

Claude Codeが変更内容を見て、説明文をつけて、コミット(保存)まで全部やってくれる。

ほかにもある。

コマンドやってくれること
/commit変更をまとめてGitに保存
/planやることを整理して計画を立てる
/code-reviewコードの問題点をチェックする

で、ここからが本題。自分だけのSkillを作れる。


自分だけのSkillを作ってみる

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

.claude/commands/ フォルダにマークダウンファイルを1つ置く。それで新しいスラッシュコマンドが使えるようになる。

フォルダ構成はこんな感じだ。

プロジェクト/
├── CLAUDE.md
├── .claude/
│   ├── settings.json    ← Hooksの設定
│   └── commands/        ← Skillsの置き場所
│       ├── daily-report.md
│       └── make-readme.md
└── (あなたのプロジェクトファイル)

試しに、日報を自動で作るSkillを作ってみよう。Claude Codeにこう話しかける。

.claude/commands/ フォルダに daily-report.md というファイルを作って。
中身は以下のとおり:

今日の作業内容を振り返って、以下の形式で日報を作成してください。

## 今日やったこと
- 箇条書きで3つ以内

## 明日やること
- 箇条書きで3つ以内

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

これで /daily-report が使える。

/daily-report

打つだけで、Claude Codeがその日の作業を振り返って日報を出してくれる。

Skillsはただのテキストファイル

日本語で「こうしてほしい」と書くだけでいい。プログラミングの知識はいらない。ファイル名がそのままコマンド名になる。daily-report.md なら /daily-report


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

HooksSkills
起動方法自動(設定したら忘れていい)手動(/コマンド名 で呼ぶ)
設定場所.claude/settings.json.claude/commands/ファイル名.md
使い道コード整形、リント、通知日報、README生成、レビュー
判断基準考えなくていいこと考えてから使うこと

迷ったらSkillsから始めればいい。Hooksは慣れてからで十分だ。


もうひとつ作ってみよう

練習がてら、README自動生成のSkillも作る。

.claude/commands/ フォルダに make-readme.md を作って。
中身は以下のとおり:

このプロジェクトのファイル構成を読み取って、
README.mdを自動生成してください。

以下の項目を含めること:
- プロジェクトの概要(1行で)
- セットアップ手順
- 使い方
- ファイル構成の説明

/make-readme と打つだけで、プロジェクトの説明書ができあがる。


まとめ

Hooksで面倒な作業を自動化する。Skillsで自分専用のコマンドを増やす。

この2つを仕込んでおくと、Claude Codeに毎回おなじことを言わなくてよくなる。使い込むほど手に馴染んでくる道具になる。

次のレッスンでは、Gitを使ってファイルの変更履歴を管理する方法を学ぶ。「前の状態に戻したい」と思ったとき、Gitに救われる。

明日のアクション

.claude/commands/ フォルダに自分だけのSkillをひとつ作ってみよう。内容は何でもいい。「挨拶メールの下書きを作る」「議事録のテンプレートを出す」「今週のTODOを整理する」など、普段の仕事で繰り返しやっていることを思い浮かべて、それをSkillにしてみること。