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
610
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
350
VRMアバターでギターの弾き語りがしたい!! 『Vフレット』の開発で考えたこと
nkjzm
0
570
『ALTDEUS: Beyond Chronos』で物語に没入できる操作感を実現するマルチプラットフォーム対応の道のり / The path to multi-platform support for immersive storytelling in ALTDEUS: Beyond Chronos
nkjzm
0
380
『ALTDEUS: Beyond Chronos』におけるマルチプラットフォーム向けコントローラーの対応 / Support for multi-platform controllers in "ALTDEUS: Beyond Chronos
nkjzm
0
470
Unityで使える汎用的な ハンバーガーメニューの実装 / UniHamburger
nkjzm
3
1.5k
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
6k
Other Decks in Technology
See All in Technology
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
130
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
1
160
貴方はどのエンジニアリングを磨くのか
hatyibei
0
120
KiCAD講習会②
tutcreators
0
110
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
620
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
2.6k
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
1
360
Kaggleで成長するために意識したこと
prgckwb
2
310
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
180
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
4
5.3k
穢れた技術選定について
watany
3
310
シンガポールで登壇してきます
yama3133
0
100
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The Spectacular Lies of Maps
axbom
PRO
1
850
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
The SEO Collaboration Effect
kristinabergwall1
1
500
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
290
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Accessibility Awareness
sabderemane
1
150
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
エンジニアに許された特別な時間の終わり
watany
107
250k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
AI: The stuff that nobody shows you
jnunemaker
PRO
8
820
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より抜粋
おわり