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
個人iOSアプリ開発で使っているClaude Code Hooksの紹介
Search
nkjzm
September 05, 2025
Technology
660
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
個人iOSアプリ開発で使っているClaude Code Hooksの紹介
2025/09/05に、Cluster社内のAI勉強会で使用した資料です
nkjzm
September 05, 2025
More Decks by nkjzm
See All by nkjzm
アバター配信アプリ『Vフレット』 でVRM 1.0対応をしてみる
nkjzm
1
370
VRMアバターでギターの弾き語りがしたい!! 『Vフレット』の開発で考えたこと
nkjzm
0
590
『ALTDEUS: Beyond Chronos』で物語に没入できる操作感を実現するマルチプラットフォーム対応の道のり / The path to multi-platform support for immersive storytelling in ALTDEUS: Beyond Chronos
nkjzm
0
400
『ALTDEUS: Beyond Chronos』におけるマルチプラットフォーム向けコントローラーの対応 / Support for multi-platform controllers in "ALTDEUS: Beyond Chronos
nkjzm
0
470
Unityで使える汎用的な ハンバーガーメニューの実装 / UniHamburger
nkjzm
3
1.6k
20時間超の物語をVRで!『ALTDEUS: Beyond Chronos』の制作を支えた”Uranus”の制作過程と機能紹介 [CEDEC2021] / Introduction of ALTDEUS' VR ADV tool "Uranus", CEDEC2021
nkjzm
1
2.6k
withコロナに見るXR業界のイマ! [CEDEC2021] / XR NOW CEDEC2021
nkjzm
3
1.9k
VRプロダクト開発ラウンドテーブル2021
nkjzm
0
1.6k
Unityでチャットに使えるモバイルキーボードの実現
nkjzm
2
6.1k
Other Decks in Technology
See All in Technology
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
740
Geolonia の開発現場における AIの活用について
miya0001
0
100
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
2.6k
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
2.2k
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
190
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
570
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
1.9k
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
310
生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討
magicpod
0
160
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
6
2.7k
LLMに渡さなかった仕事
nanaism
0
170
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Raft: Consensus for Rubyists
vanstee
142
7.7k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
エンジニアに許された特別な時間の終わり
watany
109
250k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Navigating Team Friction
lara
192
16k
Music & Morning Musume
bryan
48
7.4k
Typedesign – Prime Four
hannesfritz
42
3.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
The Invisible Side of Design
smashingmag
301
52k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Transcript
個人iOSアプリ開発で使っている Claude Code Hooksの紹介 nkjzm 2025年09月05日
なかじ @nkjzm • VRとプログラミング が得意 • 最近将棋のYouTubeチャンネルを始め た Unity /
VR Engineer
今日話すこと • Claude Code Hooksの概要 • 個人開発アプリでの活用について
作っているアプリ 『毎日ジムに行くこと』を コンセプトにした トレーニング記録のアプリ GitHubのContributionsのように トレーニング実績を確認できる 毎日ジム
毎日ジムでの Claude Code 活用 Claude Codeが76%くらいの コードを書いている Claude Codeに書かせる上で コード品質を保つための工夫が必要
→ Claude Code Hooksを紹介
Claude Code Hooksとは • Claude Codeのライフサイクルの様々な時点で実行される ユーザー定義のシェルコマンドのこと • LLMによる実行ではないので、確実に実行される ◦
一方で、CLAUDE.mdに書いた内容は無視されることがある Claude Code フックを始める https://docs.anthropic.com/ja/docs/claude-code/hooks-guide
Claude Code Hooksはいつ実行できる? Hooksを設定できるタイミングはいろいろある(太字はよく使いそうなもの) • PreToolUse: ツール呼び出しの前に実行(ブロック可能) • PostToolUse: ツール呼び出し完了後に実行
• UserPromptSubmit: ユーザーがプロンプトを送信したときに、 Claudeが処理する前に実行 • Notification: Claude Codeが通知を送信するときに実行 • Stop: Claude Codeが応答を終了するときに実行 • SubagentStop: サブエージェントタスクが完了するときに実行 • PreCompact: Claude Codeがコンパクト操作を実行しようとする前に実行 • SessionStart: Claude Codeが新しいセッションを開始するか既存のセッションを再開するときに実行 • SessionEnd: Claude Codeセッションが終了するときに実行 Claude Code フックを始める - Anthropic より
PreToolUseとPostToolUseは、もう少し細かく指定できる( matcher) • Task - サブエージェントタスク (サブエージェントドキュメントを参照) • Bash -
シェルコマンド • Glob - ファイルパターンマッチング • Grep - コンテンツ検索 • Read - ファイル読み取り • Edit、MultiEdit - ファイル編集 • Write - ファイル書き込み • WebFetch、WebSearch - Web操作 Claude Code フックを始める - Anthropic より
実際に開発で使っている Hooksの抜粋(ファイルの編集後) ファイルの編集後に実行 ローカライズキーのバリデータ フォーマッタ( json) フォーマッタ(コード)
Hooksで実行したコマンドの終了コードが 2の時、 stderrをClaude Codeにフィードバックする仕組みがある (一般的なエラー時の終了コード 1ではフィードバックされないので注意) → エラーが発生すると、 Claude Codeが対処をしてくれる状態になる
開発で使っているHooksでは… • フォーマッターの場合 ◦ 基本的にフォーマット実行のみ ◦ フォーマットできないような構文エラーがあるとClaude Codeに通知 • ローカライズキーのバリデーションの場合 ◦ キーの過不足があったらClaude Codeに通知 Hooks実行時のエラーを Claude Codeに通知する フック リファレンス - Anthropic より
Hooksでエラーが出たときの実際の様子 エラー時の stderr (修正のための情報も 併せて出力) Claude Code(LLM)側が エラーを受けて対応をする →自走状態
実際に開発で使っている Hooksの抜粋(応答終了後) PostToolUseと同じ内容を Stop側でも実行している (serenaなど別のツール経由でファイル編集がされることがあるので念のため) 接続中の実機に対してビルド + インストール + 起動を行うワンライナー
Claude Code終了後に、指示した内容が反映されたアプリが起動している状態になる
おまけ:よくミスする操作の工夫 jsonの編集が頻繁に失敗する(構文エラー状態になる)ので、 専用のシェルスクリプトを用意したらミスが減った プロジェクト内のCLAUDE.mdより抜粋
おわり