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
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
Search
Yuto
January 19, 2026
Programming
360
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
Yuto
January 19, 2026
More Decks by Yuto
See All by Yuto
自分の言葉で伝える
tsukamoto1783
0
6
画像のリサイズ関数の裏側では何が起きている?
tsukamoto1783
0
31
「ラストエリクサー症候群」からの脱却~ 持ってるアイテム温存するだけで眠らせてませんか? ~
tsukamoto1783
0
34
【超入門】AR 技術の"さわり"だけ学んでみる
tsukamoto1783
0
34
MCPサーバーって結局何ができるの?
tsukamoto1783
0
43
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
88
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
93
アクセシビリティ対応について考えよう
tsukamoto1783
0
41
Flutterのすヽめ
tsukamoto1783
0
37
Other Decks in Programming
See All in Programming
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
200
AmebaブログはKMPから卒業します
kmars0605
0
340
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.2k
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
300
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
640
Event is what happens
moro
2
4k
小さなアプリを作って公開するまで
onozaty
0
150
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
490
SODA - FACT BOOK(EN)
sodainc
1
220
LLM 101
dalinaum
0
470
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
540
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
First, design no harm
axbom
PRO
2
1.4k
Abbi's Birthday
coloredviolet
4
11k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
1
300
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
580
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Speed Design
sergeychernyshev
33
2.2k
Tell your own story through comics
letsgokoyo
1
1.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.9k
Transcript
humanlayer のブログから学ぶ 良い CLAUDE.md の書き方
自己紹介 • NCDC株式会社 所属 • モバイルアプリ エンジニア(自称) • Flutter, ReactNative,
Swift, Kotlin 案件の経験の末、 Flutter が一番好き(一番使い慣れてるだけ)
はじめに • 本スライド内容は「humanlayer / Writing a good CLAUDE.md」の記載をベー スに作成しています •
Claude Code 以外のAgent Tool でも汎用的に通ずる内容です • 本日のゴール:良いCLAUDE.mdを書けるようになろう • ≒ 最大限Claude Codeを活かせるようになろう
はじめに 本日のポイント • ①WHY・WHAT・HOW を定義する • ②記載は簡潔に少ないほど良い • ③詳細情報は直接書かずに参照先を示す •
④エージェントツールは linter や formatter ではない • ⑤ /init による自動生成はやめよう
前提・原則 • 基本原理として、LLM は Stateless である • セッションが終われば全て忘れる、情報は保持しない • セッションをまたいでメモリの役割をしてくれるのが
CLAUDE.md • 命令に関連しないCLAUDE.mdの内容は、Claude側の判断次第で無視される • 処理中のタスクに適用できない情報が多いほど、Claude が CLAUDE.md の指示を無視する 可能性が高くなる
① WHY・WHAT・HOW を定義する エージェントツールは、セッション開始時にコード情報を一切持っていない そのため、コード情報を読み込ませるために “WHY・WHAT・HOW” の定義が必要 • WHY:プロジェクトや機能の目的 •
PJ 概要、PJ コード概要、etc. • WHAT:どういった技術構成か • ディレクト構成、技術スタック、主要機能・パッケージ、 etc. • HOW: どのように動かすか • 基本的なコマンド指示など(node, npm、yarn、pnpm どれを使うかとか)
② 記載は簡潔に少ないほど良い CLAUDE.md に細かく情報(命令)を詰め込みたくなるが、 どんなプロンプトに対しても、普遍的に適用できる情報のみを含めるのが理想 理由: • モデル毎に “命令対応量” は限られている
• 命令数の増加によって ”命令追従能力” が著しく低下する • Claude Code のシステムプロンプトには約 50 個の命令がデフォルトで 含まれており、Agent が実質実行できる 1/3 ぐらいの命令に相当 • 300行 未満の記載が最適 とのこと
② 記載は簡潔に少ないほど良い 【適当な軽めの Skills 発火後】 【セッション開始時】
③ 詳細情報は直接書かずに参照先を示す 「じゃあ細かい情報はどこで Claude に渡せばいいの?」 → Claude Code が「必要な時に、必要な部分だけ」を参照できるようにすること 【CLAUDE.md
記述 sample】
④ エージェントツール は linter や formatter ではない • linter や
formatter を実行させるのはもったいない • 本来の命令に対して無関係なコンテキストが大量に増える • パフォーマンスや追従性の低下要因に • 基本的には LLM が既存コードの文脈を読み取って、既存規則やルールに従う傾向 • 不安な場合は hook 機能を使うことも推奨 • hook の STOP 時に linterなどのスクリプトを実行させ、修正が必要なら別途依頼する流れ
④ エージェントツール は linter や formatter ではない 【.claude/settings.json】 【セッション終了時】 stop
hook例
⑤ /init による自動生成はやめよう 自動生成だと不要な記載が多い傾向 ↓ 全ての命令に対して最初に読まれるが CLAUDE.md ↓ 最良の結果を得るには、/init による自動生成はやめよう
まとめ CLAUDE.md の書き方ポイント • ①WHY・WHAT・HOW を定義する • ②記載は簡潔に少ないほど良い • ③詳細情報は直接書かず、参照先を示す
• ④エージェントツールは linter や formatter ではない • ⑤ /init による自動生成はやめよう
humanlayer のブログから学ぶ 良い CLAUDE.md の書き方 ご清聴ありがとうございました。