Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
1
Search
masayan
March 23, 2026
7
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
1
1
masayan
March 23, 2026
More Decks by masayan
See All by masayan
Claude Code と回す、YouTube運営のPDCA 〜コマンド1発で始まるエージェントオーケストレーション〜
masayan1126
0
98
「こういうのでいいんだよ。こういうので」精神でシンプルにAIを使いこなす
masayan1126
0
83
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Tell your own story through comics
letsgokoyo
1
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Transcript
Claude Code Hooks 基礎 — 活用事例と設定解説 品質保証 通知 コード品質 シリーズ第2弾:具体的な事例で学ぶ
Hooks の使い方
シリーズの位置づけ 第2弾:基礎(本動画) 活用事例×設定方法の解説 入門編で学んだ内容を元に具体的な活用事例を紹介しながら解説します 第1弾:入門 Hooks概念 + 定番5選 第3弾:応用 本格運用・チーム展開
WHY 概念を知っているだけでは、実務での有効活用や業務改善にはつながら ない。 具体的な活用事例や設定方法を理解することが重要 なぜ具体的な活用事例を学ぶのか
Chrome拡張 — 自動ビルド & ストア申請 コード変更 → ビルド → ZIP作成
→ 説明文の整合性チェックまで自動化 1 自動ビルド PostToolUse で Edit/Write 検知 → npm run build set -e で失敗時即停止 → Claude に報告 2 ZIP 自動作成 ビルド成功 → dist/ を ZIP アーカイブに圧 縮 Chrome Web Store 提出用パッケージ 3 説明文の整合性 Stop + agent でストア説明文が実際の機能と一 致するか検証 機能追加/削除時の記載漏れを防止 • • • # PostToolUse: Edit|Write set -e npm run build cd dist && zip -r ../extension.zip . ✓ Build + ZIP completed • • • # Stop: agent タイプ "prompt": "manifest.json の permissions と description が store-listing.md の説明文と 一致しているか検証せよ"
TDD Guard — テスト駆動の強制 失敗テストなしで実装コードを書くことをブロック 仕組み PreToolUse で実装ファイルへの Edit/Write をチェック
Red → Green → Refactor 失敗テストが存在しない状態での実装コード追加を exit 2 でブロック 対応フレームワーク Vitest, Jest, Storybook, pytest, PHPUnit, Go, Rust • • • ✗ No failing test found → Edit blocked by TDD Guard Write a failing test first! # nizos/tdd-guard
自動 Lint / Format ファイル編集のたびにフォーマッターを自動実行 PostToolUse + Prettier Edit/Write 直後にフォーマッター自動実行
コンテキスト消費に注意 フォーマッターがファイルを書き換えると、Claude Codeが「自分以外の 操作で変更された」と検知しファイル全文をコンテキストに再注入 3ラウンドで160kトークン消費の報告も 推奨代替手段 エディタの Format On Save や husky + lint-staged でコミット時にバッチ処理 • • • INPUT=$(cat) FILE=$(echo "$INPUT" \ | jq -r '.tool_input.file_path') if [[ "$FILE" == *.py ]]; then black --quiet "$FILE" elif [[ "$FILE" == *.ts ]]; then npx prettier --write "$FILE" fi
手動テストケースの更新漏れ検知 自動テストなら実装変更でテストが落ちて気づける — 手動テストはそうはいかない PostToolUse + additionalContext src/ の変更を検知 →
対応する手動テストケース(Markdown)の存在 を確認 ブロックではなく注意喚起 exit 2 ではなく additionalContext で Claude にフィードバッ ク。更新要否は Claude が判断 仕様ドリフト検知と同じパターン PostToolUse で変更を検知 → 関連ファイルの整合性を確認するパターン は汎用的 • • • INPUT=$(cat) FILE=$(echo "$INPUT" \ | jq -r '.tool_input.file_path') [[ "$FILE" != */src/* ]] && exit 0 BASE=$(basename "$FILE" | sed 's/\..*//') TEST="tests/manual/${BASE}.md" if [[ -f "$TEST" ]]; then echo '{"additionalContext":' \ '" テストケース更新が必要かも"}' fi
デプロイ確認ページの自動オープン Stop フックで作業完了時にブラウザを自動で開く settings.json たった1行で効果絶大 open (macOS)コマンドだけで「デプロイ結果を見忘れる」問題を解 決 応用パターン Vercel
以外にも: Netlify, GitHub Actions, PR ページなど。 open の URL を変えるだけ • • • { "hooks": { "Stop": [{ "hooks": [{ "type": "command", "command": "open https://vercel.com/ <user>/<project>/deployments" }] }] } }
APIスモークテスト — 2パターン比較 用途に応じて最適なHookタイプを選択 パターン Hookタイプ トリガー 特徴 A) 全endpoint
Stop ターン終了時 全APIを一括テスト B) ルート変更 PostToolUse ルートファイル変更時 変更箇所だけ即座に検証 パターンA: 全endpoint一括 Stop フックでターン完了時に全APIをcurlで疎通確認。漏れなくチェック できるが実行時間は長め パターンB: ルート変更検知 PostToolUse + ファイルパスフィルタで変更されたルートだけスモークテ スト。高速で無駄がない
通知:Slack Webhook / TTS 音声 タスク完了や異常を即座に通知 Slack Webhook 2つの実装方法 1
command 型(curl) 2 http 型(直接POST) TTS 音声通知 タスク完了を音声で読み上げ macOS: say コマンドで実装可能
重複コード検出フック PostToolUse でコード追加時に既存コードとの類似性を自動チェック 類似コード検知フロー 1 Claude が Edit/Write でコードを追加 2
PostToolUse でコードベース内の類似コードを検索 3 additionalContext で「既存実装あり」と通知 → 再利用を 促す ブロックではなく提案 例: "src/utils/format.ts に類似の formatDate() が既にあります。新 規実装の前に再利用を検討してください"
Skill 自動評価・選択 UserPromptSubmit でプロンプトを分析し、最適な Skill を自動注入 自動選択フロー 1 ユーザーがプロンプトを送信 2
キーワード・ファイルパス・意図パターンを分析 3 additionalContext で最適な Skill を注入 なぜ Hooks で? Skill の選択を Claude の判断に任せると、タスクに集中しているときスキ ップされることがある
実践Tips 効果的にHooksを運用するためのポイント PostToolUse vs Stop PostToolUse Stop タイミング ツール実行直後 ターン完了時
用途 ビルド・テスト 通知・コミット 頻度 高(毎ツール) 低(ターン毎) async: true 結果を待つ必要がないHooksは非同期実行 → 応答速度を維持 additionalContext フックの出力JSONにこのキーを含めると、Claudeのコンテキストに文字 列として注入される。ブロックせず情報を渡したい時に使う CLAUDE.md との併用 ルールは CLAUDE.md で指示、強制は Hooks で実行 → 二重の安全網
Hooks イベント早見表 全23イベントから主要7種 — セッションのライフサイクル順 イベント タイミング 主な用途 async SessionStart
セッション開始 ルール再注入・環境チェック - UserPromptSubmit プロンプト送信時 Skill自動選択・入力検証 - PreToolUse ツール実行前 実行ブロック・バリデーション - PostToolUse ツール実行後 ビルド確認・ログ記録 ✓ Notification 通知発生時 Slack/Discord連携 ✓ Stop ターン完了時 通知・コミット・PDF生成 - SessionEnd セッション終了 ログ保存・クリーンアップ ✓ 他にも PreCompact / SubagentStop / ConfigChange / PermissionRequest 等 計23種
マッチャーパターン早見表 matcher でフックの発火条件をフィルタリング — 正規表現で指定 イベント マッチ対象 マッチャー例 SessionStart 開始方法
startup resume compact UserPromptSubmit Stop マッチャー非対応(常に全出現で発火) PreToolUse PostToolUse ツール名 Bash Edit|Write Read mcp__.* Notification 通知タイプ permission_prompt idle_prompt SessionEnd 終了理由 clear logout prompt_input_exit よく使うツール名マッチャー Bash Edit Write Read Glob Grep WebFetch Agent 正規表現の活用 Edit|Write で複数ツールを OR マッチ。 mcp__.* で全 MCP ツール にマッチ
まとめ & 次回予告 個人で今日から使えるレシピで日常開発を自動化 今回のまとめ 1 品質保証: 自動ビルド + TDD
+ Lint + APIテスト 2 通知・デプロイ: Slack + TTS + 確認ページ自動オープン 3 コード品質: 重複検出 + テスト漏れ検知 + Skill自動選択 4 リファレンス: 全23イベント早見表 次回:応用編 仕様駆動開発 + 監査ログ 秘匿情報の多層防御 Git連携:ブランチ保護 + プッシュ制限 CVE対策 + セキュリティ運用 チャンネル登録 & いいねお願いします