ป้ายกำกับที่ใช้ในหน้านี้: จากภาพ คือสิ่งที่เห็นในภาพโดยตรง, ตีความ คือข้อสรุปของเราเอง, ความรู้ทั่วไป คือข้อมูลที่ภาพไม่ได้ให้, ยังไม่ทดสอบ คือสิ่งที่ยังไม่ได้ลองใช้จริง ข้อความที่อ่านไม่ออกจะระบุไว้ตรงจุด
🎯 แก่นของเรื่อง
ความคิดหลักคือแยกความรู้ของโปรเจกต์ออกเป็นไฟล์ตามหน้าที่ ได้แก่ context, การตั้งค่า, กฎ, งานซ้ำ, ความสามารถเฉพาะทาง, ผู้ช่วยเฉพาะทาง และการตรวจอัตโนมัติ Claude Code จะอ่านไฟล์เหล่านี้เองทุกครั้ง คุณไม่ต้องอธิบายซ้ำทุกแชต
ทำไมถึงได้ผล (ตีความ)
- ไฟล์ที่อยู่ใน repo ถูกโหลดอัตโนมัติ ทุกครั้งที่เริ่มงานโมเดลจึงเริ่มจากความรู้ชุดเดียวกัน ผลลัพธ์จึงคาดเดาได้มากขึ้น
- ไฟล์ที่ commit เข้า repo ทุกคนในทีมได้ชุดเดียวกัน ส่วนไฟล์
.localที่ git ไม่ติดตามเก็บความชอบส่วนตัวไว้โดยไม่กระทบคนอื่น - Hooks เป็นสคริปต์ ผลของมันจึงแน่นอน ส่วนกฎในไฟล์ markdown เป็นคำแนะนำที่โมเดลอ่านแล้วทำตาม (ตีความ)
20% ที่สำคัญที่สุด
| ลำดับ | ทำก่อน | รอได้ |
|---|---|---|
| 1 | CLAUDE.md ที่รากโปรเจกต์: ภาพรวมและแนวทางเขียนโค้ด |
agents, hooks |
| 2 | .claude/settings.json สำหรับการตั้งค่าร่วมของทีม |
skills ที่ซับซ้อน |
| 3 | .claude/rules/ แยกกฎเป็นเรื่อง ๆ เมื่อ CLAUDE.md ยาวเกิน |
.mcp.json ถ้ายังไม่ต้องต่อเครื่องมือภายนอก |
| 4 | .claude/commands/ สำหรับงานที่ทำซ้ำบ่อย |
📈 ช่วยให้ดีขึ้นอย่างไร
ภาพไม่มีตัวเลขวัดผล มีเพียงข้อความสรุปว่าได้ผลลัพธ์ "better, safer and faster" ซึ่งเป็นข้อความอ้าง ไม่ใช่ผลวัด ทุกแถวด้านล่างจึงยังไม่ใช่ค่าที่วัดแล้ว
| สถานการณ์ | ถ้าไม่มี | ถ้ามี | วัดอย่างไร | สถานะ |
|---|---|---|---|---|
| เริ่มงานใหม่ | ต้องเล่าภาพรวมโปรเจกต์ทุกครั้ง | CLAUDE.md ให้ context ตั้งแต่ต้น |
จำนวนข้อความที่ต้องอธิบายก่อนได้งานที่ใช้ได้ | ตีความ |
| มาตรฐานโค้ด | แต่ละคนสั่งต่างกัน โค้ดไม่สม่ำเสมอ | rules/ ชุดเดียวกันทั้งทีม |
จำนวนคอมเมนต์ใน review ที่เกี่ยวกับสไตล์ | ตีความ |
| งานซ้ำ เช่น review | พิมพ์ prompt ยาวใหม่ทุกครั้ง | /review เรียกครั้งเดียว |
เวลาตั้งแต่เริ่มจนได้ผล review | ตีความ |
| ความปลอดภัย | คำสั่งอันตรายหลุดได้ | hook ตรวจก่อนรันคำสั่ง | จำนวนคำสั่งที่ถูกบล็อกหรือแจ้งเตือน | ยังไม่ทดสอบ |
| ภาพรวมทั้งสาย | ผลลัพธ์ผันแปรตามคนสั่ง | ผลลัพธ์ดีขึ้น ปลอดภัยขึ้น เร็วขึ้น | ต้องออกแบบการทดลองเอง | จากภาพ (ข้อความอ้าง ไม่มีตัวเลข) |
🧪 ลองใช้
ตัวอย่างประกอบ (ตัวเลขเป็นของเราเอง ไม่ได้มาจากภาพ)
สมมติทีมเขียน API 5 คน และใน review แต่ละ PR มีคอมเมนต์เรื่องสไตล์ เฉลี่ย 6 ข้อ
- เขียน
rules/code-style.mdที่ระบุการตั้งชื่อและรูปแบบ - วัด 10 PR ถัดไป สมมติได้เฉลี่ย 3 ข้อ
- การลดลง = (6 − 3) ÷ 6 = 50%
- เงื่อนไขผ่านที่ตั้งก่อนวัด: ลดลงอย่างน้อย 30% ผลสมมตินี้จึงผ่าน
เมื่อไรควรใช้
| สถานการณ์ | ใช้ | ไม่ใช้ | ข้อกำหนดก่อน |
|---|---|---|---|
| ทีมหลายคนใช้ Claude Code กับ repo เดียว | ✅ | ตกลงกันว่าไฟล์ไหน commit ไฟล์ไหนไม่ commit | |
| โปรเจกต์ที่ใช้ยาวและมีงานซ้ำ | ✅ | รู้ว่างานซ้ำคืออะไร | |
| สคริปต์ลองทำครั้งเดียวทิ้ง | ❌ | CLAUDE.md สั้น ๆ ก็พอ |
|
| ต้องการบังคับกฎแบบเด็ดขาด | ใช้ hooks | ไม่ใช่แค่ rules/ |
เขียนสคริปต์ตรวจเป็น |
| ต้องต่อเครื่องมือภายนอก | ใช้ .mcp.json |
รู้ MCP server ที่จะต่อและไว้ใจมันได้ |
ก้าวแรกที่เล็กที่สุด
สร้าง CLAUDE.md ที่รากโปรเจกต์ ใส่ 3 เรื่อง: โปรเจกต์ทำอะไร คำสั่ง build/test คืออะไร และกฎโค้ด 3 ข้อที่ผิดบ่อยที่สุด
เช็กลิสต์ติดตั้งทีละชั้น
| สถานะ | รายการ |
|---|---|
| ⚪ | CLAUDE.md มีภาพรวมและแนวทางเขียนโค้ด |
| ⚪ | CLAUDE.local.md อยู่ใน .gitignore |
| ⚪ | .claude/settings.json สำหรับทีม และ settings.local.json อยู่ใน .gitignore |
| ⚪ | rules/ แยกเป็นไฟล์ตามเรื่อง |
| ⚪ | commands/ มีอย่างน้อยหนึ่งคำสั่งที่ใช้บ่อย |
| ⚪ | ทดสอบเรียกคำสั่งแล้วได้ผลตามคาด |
วิธีเช็กว่าดีขึ้นจริง
- ตัวชี้วัด: จำนวนคอมเมนต์สไตล์ต่อ PR หรือเวลาที่ใช้ต่อ task ซ้ำ
- baseline: เก็บ 10 งานก่อนติดตั้ง
- เงื่อนไขผ่าน: ตั้งก่อนวัด เช่น ลดลงอย่างน้อย 30% เมื่อวัด 10 งานหลังติดตั้ง
🧠 ทดสอบความเข้าใจ
| คำถาม | คำตอบ | คำตอบที่มักผิด |
|---|---|---|
ทำไมความชอบส่วนตัวควรอยู่ใน CLAUDE.local.md ไม่ใช่ CLAUDE.md |
CLAUDE.md ถูกแชร์ทั้งทีม ส่วน .local ไม่ถูก commit จึงไม่ไปบังคับคนอื่น |
"เพราะ .local โหลดก่อน" (ภาพไม่ได้บอกเรื่องลำดับ) |
CLAUDE.md ยาว 800 บรรทัดแล้ว Claude ทำตามกฎไม่ครบ ควรทำอะไร |
แยกเป็นไฟล์ใน rules/ ตามเรื่อง และเหลือแต่แก่นใน CLAUDE.md (ตีความ) |
เพิ่มคำว่า "IMPORTANT" ให้ทุกบรรทัด |
กฎ "ห้ามรันคำสั่งลบไฟล์" ควรไว้ที่ rules/ หรือ hook |
hook เพราะเป็นสคริปต์ที่ทำงานแน่นอน ส่วน rule โมเดลอาจพลาดได้ (ตีความ) | rules/ เพียงพอเพราะ Claude อ่านเสมอ |
/review กับ agent code-reviewer ต่างกันอย่างไร |
command คือ prompt ที่เรียกเอง ส่วน agent คือผู้ช่วยเฉพาะทางที่รับงานต่อ (ตีความ) | ทั้งสองอย่างเดียวกัน |
กับดัก: deploy/ ใน skills/ ต้องมีทั้ง SKILL.md และ deploy-step-by-step.md เสมอหรือไม่ |
ภาพเป็นแค่ตัวอย่าง SKILL.md อธิบายสกิล ไฟล์ขั้นตอนเป็นตัวเลือก (ตีความ ยังไม่ทดสอบ) |
ต้องมีชื่อและจำนวนไฟล์ตามภาพเป๊ะ |
| ถ้าวางไฟล์ครบตามภาพแล้ว จะรับประกันว่าผลลัพธ์ดีขึ้นหรือไม่ | ไม่รับประกัน ภาพเป็นโครงสร้างแนะนำ ต้องวัดผลเอง | "ครบตามภาพแล้ว ต้องดีขึ้นแน่" |
🗂️ แผนผังโครงสร้าง
ภาพวาดโครงสร้างโดยมี project/ เป็นรากของ repo ตามตารางด้านล่าง
project/ # repo root
├── CLAUDE.md # project overview and coding guidelines
├── CLAUDE.local.md # personal overrides (git-ignored)
├── .mcp.json # MCP server configuration
└── .claude/ # Claude-specific config
├── settings.json # team settings
├── settings.local.json # personal settings
├── rules/
│ ├── code-style.md
│ ├── testing.md
│ └── api-conventions.md
├── commands/
│ ├── review.md
│ └── fix-issue.md
├── skills/
│ └── deploy/
│ ├── SKILL.md
│ └── deploy-step-by-step.md
├── agents/
│ ├── code-reviewer.md
│ └── security-auditor.md
└── hooks/
└── validate-bash.sh
Note จุดที่ภาพกำกวม: เส้นเชื่อมของ
rules/,commands/,skills/,agents/และhooks/ในภาพอาจอ่านได้ว่าอยู่ใต้.claude/หรือเป็นพี่น้องกับมัน แผนผังข้างบนวางไว้ใต้.claude/ซึ่งเป็นการตีความ และตรงกับข้อความ "Claude specific config (keep here)" ที่ภาพเขียนไว้ข้าง.claude/ควรตรวจกับเอกสารทางการของ Anthropic ก่อนใช้จริง
📄 รายละเอียดแต่ละส่วน
ไฟล์ที่รากโปรเจกต์ (Project config)
| ไฟล์ | หน้าที่ (จากภาพ) | ใช้อย่างไร |
|---|---|---|
CLAUDE.md |
ภาพรวมโปรเจกต์และแนวทางเขียนโค้ด | commit เข้า repo ให้ทุกคนใช้ |
CLAUDE.local.md |
ค่าเฉพาะตัว ถูก git ละเว้น | เพิ่มชื่อไฟล์ใน .gitignore |
.mcp.json |
ตั้งค่า MCP server | เชื่อมเครื่องมือภายนอกกับ Claude |
Settings
settings.json: การตั้งค่าของทีม อยู่ใน.claude/(จากภาพ)settings.local.json: การตั้งค่าส่วนตัวที่ override ได้ (จากภาพ)- รูปแบบเดียวกับไฟล์ที่รากโปรเจกต์: ไฟล์ร่วมเข้า repo ไฟล์
.localเก็บเฉพาะตัว (ตีความ)
Rules
| ไฟล์ | เนื้อหา (จากภาพ) |
|---|---|
code-style.md |
การจัดรูปแบบและการตั้งชื่อ |
testing.md |
วิธีเขียนเทสต์ |
api-conventions.md |
endpoint และรูปแบบ error |
Custom commands
| ไฟล์ | คำสั่ง | ผล (จากภาพ) |
|---|---|---|
review.md |
/review |
ทำ code review |
fix-issue.md |
/fix-issue |
แก้บั๊ก |
เหตุผลที่ใช้ (จากภาพ): นิยามคำสั่ง slash ที่ใช้ซ้ำได้ เร่งเวิร์กโฟลว์ที่ทำบ่อย และให้ทีมทำงานแบบเดียวกัน
Skills
skills/deploy/เป็นตัวอย่างสกิลสำหรับ deploy (จากภาพ)SKILL.mdอธิบายว่าสกิลทำอะไร และdeploy-step-by-step.mdเก็บขั้นตอนทีละข้อ (จากภาพ)- สกิลถูกโหลดอัตโนมัติ และแต่ละสกิลมีคำสั่งที่ชัดเจน (จากภาพ ส่วนท้ายของข้อความถูกปุ่มของแอปบังจนอ่านไม่ครบ)
Sub-agents
| ไฟล์ | หน้าที่ (จากภาพ) |
|---|---|
code-reviewer.md |
ตรวจ PR และสไตล์ |
security-auditor.md |
หาช่องโหว่ |
หลักการที่ภาพให้: ใช้ agent ที่เหมาะกับงาน เช่น code review และ security
Hooks
hooks/validate-bash.shทำ pre-commit และ pre-run checks (จากภาพ)- ใช้รันสคริปต์ก่อนหรือหลังการกระทำ ตรวจ lint เทสต์ หรือ deploy และช่วยให้โค้ดปลอดภัย (จากภาพ ข้อความท้ายบางคำอ่านไม่ครบ)
- ความรู้ทั่วไป: การผูกสคริปต์เข้ากับเหตุการณ์ตามปกติตั้งค่าในไฟล์ settings ไม่ใช่เพียงวางสคริปต์ในโฟลเดอร์
hooks/รายละเอียดให้ตรวจกับเอกสารทางการ (ยังไม่ทดสอบ)
🔄 ลำดับการทำงานทั้งสาย (How it all works)
หกขั้นตอนตามภาพ ซ้ายไปขวา
flowchart LR
A[1 อ่าน CLAUDE.md] --> B[2 โหลด settings, rules, skills]
B --> C[3 ใช้ commands และ sub-agents]
C --> D[4 ต่อเครื่องมือผ่าน MCP]
D --> E[5 รัน hooks และ validations]
E --> F[6 ได้ผลลัพธ์ดีขึ้น ปลอดภัยขึ้น เร็วขึ้น]
| ขั้น | เกิดอะไรขึ้น | ไฟล์ที่เกี่ยว |
|---|---|---|
| 1 | Claude อ่าน context ของโปรเจกต์ | CLAUDE.md |
| 2 | โหลดการตั้งค่า กฎ และสกิล | settings.json, rules/, skills/ |
| 3 | ใช้คำสั่งและ sub-agent ตามงาน | commands/, agents/ |
| 4 | เชื่อมเครื่องมือภายนอก | .mcp.json |
| 5 | รันสคริปต์ตรวจก่อน/หลังการกระทำ | hooks/ |
| 6 | ได้ผลลัพธ์ | (ผลลัพธ์ที่ภาพอ้าง ยังไม่ได้วัด) |
⚠️ Risks
Warning อย่า commit ไฟล์ส่วนตัวหรือความลับ ใน
CLAUDE.local.mdและsettings.local.jsonต้องอยู่ใน.gitignoreตั้งแต่แรก และอย่าใส่ API key ในไฟล์ที่ commit รวมถึง.mcp.json
| ความเสี่ยง / ข้อผิดพลาดที่พบบ่อย | ผลที่ตามมา | วิธีป้องกัน |
|---|---|---|
CLAUDE.md ยาวและซ้ำซ้อน |
กฎสำคัญถูกมองข้าม (ตีความ) | แยกเป็น rules/ เก็บแค่แก่น |
| กฎขัดกันระหว่างไฟล์ | พฤติกรรมไม่แน่นอน | ตรวจทานเป็นรอบ ๆ |
.mcp.json ต่อ MCP server ที่ไม่น่าไว้ใจ |
เครื่องมือภายนอกเข้าถึงข้อมูลได้ | ตรวจที่มาและสิทธิ์ก่อนเชื่อมต่อ |
| สคริปต์ hook มีบั๊ก | บล็อกงานปกติหรือปล่อยคำสั่งอันตรายผ่าน | ทดสอบสคริปต์แยกก่อนเปิดใช้ |
| ทำตามภาพทุกไฟล์โดยไม่จำเป็น | ดูแลไฟล์เกินความต้องการ | เริ่มจากน้อยแล้วเพิ่มตามงาน |
ข้อจำกัดของหน้านี้: ภาพไม่แสดงเนื้อหาในไฟล์ ลำดับการโหลด หรือรูปแบบการตั้งค่า (ตัวอย่างเนื้อหาไฟล์ทั้งหมดต้องเขียนเอง) และไม่ได้เปิดเผยรุ่นของ Claude Code ที่โครงสร้างนี้ใช้ได้ ส่วนล่างของภาพถูกส่วนติดต่อของแอปบังบางข้อความ
✅ Decision / next steps
Recommendation เริ่มจาก
CLAUDE.mdก่อน แล้วเพิ่มทีละชั้นเมื่อพบปัญหาจริง: กฎซ้ำ →rules/, prompt ซ้ำ →commands/, ต้องบังคับ → hooks
- สร้าง
CLAUDE.mdและใส่ไฟล์.localใน.gitignore - วัด baseline 10 งาน
- เพิ่ม
rules/และcommands/แล้ววัดซ้ำ - ตรวจรายละเอียดรูปแบบไฟล์กับเอกสารทางการของ Anthropic ก่อนใช้ hooks และ skills จริง
📖 ศัพท์เฉพาะ
| คำ | ความหมาย |
|---|---|
| repo root | โฟลเดอร์บนสุดของ repository |
| slash command | คำสั่งที่พิมพ์ขึ้นต้นด้วย / เพื่อเรียก prompt ที่เตรียมไว้ |
| sub-agent | ผู้ช่วยเฉพาะทางที่รับงานบางประเภทแยกจากผู้ช่วยหลัก |
| hook | สคริปต์ที่รันก่อนหรือหลังการกระทำ |
| git-ignored | ไฟล์ที่ git ไม่ติดตามและไม่ถูก commit |
🔤 ตัวย่อที่ใช้ในหน้านี้
| ตัวย่อ | ชื่อเต็ม | คืออะไร | อ่านค่าอย่างไร |
|---|---|---|---|
| MCP | Model Context Protocol | มาตรฐานเชื่อมโมเดลกับเครื่องมือภายนอก (ชื่อเต็มเป็นความรู้ทั่วไป) | .mcp.json คือไฟล์ตั้งค่า MCP server |
| MD | Markdown | นามสกุลไฟล์ข้อความที่มีรูปแบบ (ความรู้ทั่วไป) | review.md คือไฟล์ Markdown ชื่อ review |
| JSON | JavaScript Object Notation | รูปแบบไฟล์ข้อมูลแบบคีย์-ค่า (ความรู้ทั่วไป) | settings.json คือไฟล์ตั้งค่าแบบ JSON |
| SH | Shell script | สคริปต์รันในเชลล์ (ความรู้ทั่วไป) | validate-bash.sh คือสคริปต์ bash |
| API | Application Programming Interface | ช่องทางให้โปรแกรมคุยกัน (ความรู้ทั่วไป) | api-conventions.md คือกติกาออกแบบ endpoint |
| PR | Pull Request | คำขอรวมโค้ดเข้า branch หลัก (ความรู้ทั่วไป) | "ตรวจ PR" คือไล่ดูโค้ดที่ขอรวม |
หมายเหตุ: ชื่อเต็มของทุกแถวเป็นความรู้ทั่วไป ภาพไม่ได้ให้ชื่อเต็มไว้ ส่วนชื่อไฟล์ CLAUDE.md และ SKILL.md เป็นชื่อไฟล์ ไม่ใช่ตัวย่อ
📌 Summary
- โครงสร้างแยกหน้าที่เป็นเจ็ดกลุ่ม: project config, settings, rules, commands, skills, agents, hooks (จากภาพ)
- ไฟล์ร่วมเข้า repo ไฟล์
.localเก็บเฉพาะตัวและต้องถูก git ละเว้น (จากภาพ) - ลำดับการทำงานมีหกขั้น ตั้งแต่อ่าน
CLAUDE.mdจนถึงรัน hooks (จากภาพ) - ผลลัพธ์ที่ดีขึ้นยังเป็นข้อความอ้าง ไม่มีตัวเลขวัด จึงต้องวัดเองด้วย baseline
- ตำแหน่งโฟลเดอร์ย่อยและวิธีผูก hooks ต้องตรวจกับเอกสารทางการก่อนใช้


