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
340
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
4
画像のリサイズ関数の裏側では何が起きている?
tsukamoto1783
0
23
「ラストエリクサー症候群」からの脱却~ 持ってるアイテム温存するだけで眠らせてませんか? ~
tsukamoto1783
0
32
【超入門】AR 技術の"さわり"だけ学んでみる
tsukamoto1783
0
33
MCPサーバーって結局何ができるの?
tsukamoto1783
0
40
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
83
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
91
アクセシビリティ対応について考えよう
tsukamoto1783
0
36
Flutterのすヽめ
tsukamoto1783
0
34
Other Decks in Programming
See All in Programming
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
160
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
150
残高管理から台帳サービスへの進化
artoy
0
190
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
120
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
770
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.7k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
160
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
160
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
140
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
350
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Scaling GitHub
holman
464
140k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Between Models and Reality
mayunak
4
490
How to Talk to Developers About Accessibility
jct
2
570
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
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 の書き方 ご清聴ありがとうございました。