💬 Claude&Claude Code 実践活用術
|
📖 7分
スキルとフックで複雑なワークフローを自動化する
スキルとフックで複雑なワークフローを自動化する
Claude Codeのスキルとフックを使えば、繰り返しのワークフローを定型化し、ツール使用時に自動処理を実行できます。
スキルの基本
スキルはSKILL.mdファイルに指示を記述し、Claudeのツールキットに追加する仕組みです。
# ~/.claude/skills/fix-issue/SKILL.md
---
name: fix-issue
description: GitHub Issueを修正する
disable-model-invocation: true
---
GitHub Issue $ARGUMENTS を修正:
1. Issueの内容を確認
2. 要件を理解
3. 修正を実装
4. テストを作成
5. コミットを作成
/fix-issue 123で呼び出すと、$ARGUMENTSが123に置換されます。
スキルの配置場所
| 場所 | パス | 適用範囲 |
|---|---|---|
| 個人用 | ~/.claude/skills/<name>/SKILL.md | 全プロジェクト |
| プロジェクト | .claude/skills/<name>/SKILL.md | このプロジェクトのみ |
動的コンテキスト注入
!`command`構文でシェルコマンドの結果をスキルに注入できます:
---
name: pr-summary
description: PRを要約する
context: fork
agent: Explore
---
## PRコンテキスト
- PR diff: !`gh pr diff`
- PRコメント: !`gh pr view --comments`
上記のPRを要約してください。
フック(Hooks)
フックは、Claude Codeのライフサイクルの特定ポイントで自動実行されるシェルコマンドやHTTPリクエストです。
| イベント | 発火タイミング |
|---|---|
| PreToolUse | ツール使用前(検証・ブロック可能) |
| PostToolUse | ツール使用後(リンター実行等) |
| Notification | 許可待ち・アイドル時(デスクトップ通知) |
| SubagentStart/Stop | サブエージェントの開始/終了時 |
通知フックの設定例
/hooksメニューから設定するか、settings.jsonで直接記述します:
// settings.json
{
"hooks": {
"Notification": [{
"hooks": [{
"type": "command",
"command": "powershell.exe -Command \"[System.Windows.Forms.MessageBox]::Show('Claude Code needs attention')\""
}]
}]
}
}
バンドルスキル一覧
- /simplify: 変更後のコード品質チェック(3並列レビュー)
- /batch: 大規模並列変更(worktreeで分離実行)
- /debug: セッションのトラブルシューティング
実践のポイント
disable-model-invocation: trueで副作用のあるスキルの自動実行を防ぐcontext: forkでスキルをサブエージェントで分離実行- PostToolUseフックでEdit後に自動リンター実行、など