Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
個人iOSアプリ開発で使っているClaude Code Hooksの紹介
Search
nkjzm
September 05, 2025
Technology
630
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
360
VRMアバターでギターの弾き語りがしたい!! 『Vフレット』の開発で考えたこと
nkjzm
0
580
『ALTDEUS: Beyond Chronos』で物語に没入できる操作感を実現するマルチプラットフォーム対応の道のり / The path to multi-platform support for immersive storytelling in ALTDEUS: Beyond Chronos
nkjzm
0
390
『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
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
730
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
150
ホームラボ紹介
y_sera15
0
160
ハーレムエンジニアリング
kazuma777777
0
140
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
740
MIRU 2026 チュートリアル
keisuke198619
0
900
ガバメントクラウドでのランサムウェア対策
techniczna
2
1.2k
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
170
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
670
Model Studio CLI × Token Plan
maigo999
0
160
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
120
JavaScript 研修 (2026)
recruitengineers
PRO
2
530
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Exploring anti-patterns in Rails
aemeredith
3
460
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Un-Boring Meetings
codingconduct
0
380
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
New Earth Scene 8
popppiees
3
2.5k
RailsConf 2023
tenderlove
30
1.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
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より抜粋
おわり