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
500
0
Share
個人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
310
VRMアバターでギターの弾き語りがしたい!! 『Vフレット』の開発で考えたこと
nkjzm
0
550
『ALTDEUS: Beyond Chronos』で物語に没入できる操作感を実現するマルチプラットフォーム対応の道のり / The path to multi-platform support for immersive storytelling in ALTDEUS: Beyond Chronos
nkjzm
0
370
『ALTDEUS: Beyond Chronos』におけるマルチプラットフォーム向けコントローラーの対応 / Support for multi-platform controllers in "ALTDEUS: Beyond Chronos
nkjzm
0
450
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.8k
VRプロダクト開発ラウンドテーブル2021
nkjzm
0
1.5k
Unityでチャットに使えるモバイルキーボードの実現
nkjzm
2
5.9k
Other Decks in Technology
See All in Technology
Tour of Agent Protocols: MCP, A2A, AG-UI, A2UI with ADK
meteatamel
0
190
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
650
スクラムを支える内部品質の話
iij_pr
0
150
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
260
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
260
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
100
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
180
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
510
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
170
トイルを超えたCREは何屋になるのか
bengo4com
0
120
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
4
500
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Everyday Curiosity
cassininazir
0
180
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Between Models and Reality
mayunak
2
250
The untapped power of vector embeddings
frankvandijk
2
1.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
300
Darren the Foodie - Storyboard
khoart
PRO
3
3.1k
Paper Plane (Part 1)
katiecoart
PRO
0
6.2k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
80
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より抜粋
おわり