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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yuto
January 19, 2026
Programming
0
230
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
Yuto
January 19, 2026
Tweet
Share
More Decks by Yuto
See All by Yuto
「ラストエリクサー症候群」からの脱却~ 持ってるアイテム温存するだけで眠らせてませんか? ~
tsukamoto1783
0
13
【超入門】AR 技術の"さわり"だけ学んでみる
tsukamoto1783
0
16
MCPサーバーって結局何ができるの?
tsukamoto1783
0
24
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
61
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
75
アクセシビリティ対応について考えよう
tsukamoto1783
0
23
Flutterのすヽめ
tsukamoto1783
0
21
Other Decks in Programming
See All in Programming
飯MCP
yusukebe
0
410
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
240
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
130
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
220
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
4
2.2k
ロボットのための工場に灯りは要らない
watany
12
3.2k
安いハードウェアでVulkan
fadis
1
840
PHPで TLSのプロトコルを実装してみる
higaki_program
0
570
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
Feature Toggle は捨てやすく使おう
gennei
0
380
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
150
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3k
Designing Experiences People Love
moore
143
24k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
330
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
440
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
ラッコキーワード サービス紹介資料
rakko
1
2.8M
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
For a Future-Friendly Web
brad_frost
183
10k
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 の書き方 ご清聴ありがとうございました。