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
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
Search
Yuto
January 19, 2026
Programming
290
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
2
画像のリサイズ関数の裏側では何が起きている?
tsukamoto1783
0
15
「ラストエリクサー症候群」からの脱却~ 持ってるアイテム温存するだけで眠らせてませんか? ~
tsukamoto1783
0
24
【超入門】AR 技術の"さわり"だけ学んでみる
tsukamoto1783
0
29
MCPサーバーって結局何ができるの?
tsukamoto1783
0
32
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
78
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
89
アクセシビリティ対応について考えよう
tsukamoto1783
0
29
Flutterのすヽめ
tsukamoto1783
0
30
Other Decks in Programming
See All in Programming
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
えっ!!コードを読まずに開発を!?
hananouchi
0
230
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
120
AIエージェントで 変わるAndroid開発環境
takahirom
2
710
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
170
霧の中の代数的エフェクト
funnyycat
1
420
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
yield再入門 #phpcon
o0h
PRO
0
710
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
160
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
150
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
400
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.8k
30 Presentation Tips
portentint
PRO
1
350
YesSQL, Process and Tooling at Scale
rocio
174
15k
WCS-LA-2024
lcolladotor
0
750
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
My Coaching Mixtape
mlcsv
0
170
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
The Invisible Side of Design
smashingmag
301
52k
The browser strikes back
jonoalderson
0
1.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.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 の書き方 ご清聴ありがとうございました。