PATIPHAN DEV
หน้าแรกคอร์สเรียนผลงานสินค้าบทความเกี่ยวกับผมติดต่อ
เข้าสู่ระบบ
ศัพท์และพื้นฐาน Claude สำหรับผู้เริ่มต้น
ความคืบหน้า0/15 บทเรียน (0%)

บทที่ 1 · รู้จัก Claude ก่อนเริ่มใช้งาน

  • Claude คืออะไร มีกี่แบบ ต่างกันตรงไหน15 นาที
  • รู้จักตระกูลโมเดล Claude: Opus, Sonnet, Haiku, Fable เลือกใช้ตัวไหนดี18 นาที
  • Prompt, Token และ Context Window คืออะไร15 นาที

บทที่ 2 · ไฟล์และโฟลเดอร์สำคัญที่ Claude Code ใช้

  • CLAUDE.md ทำหน้าที่อะไร ต่างจาก README ยังไง15 นาที
  • settings.json กับ settings.local.json ต่างกันตรงไหน18 นาที
  • ข้างในโฟลเดอร์ .claude/ มีอะไรบ้าง18 นาที

บทที่ 3 · ศัพท์เทคนิคที่เจอบ่อยตอนใช้งาน

  • Subagent คืออะไร ใช้ตอนไหน16 นาที
  • Skill กับ Slash Command ต่างกันยังไง16 นาที
  • MCP (Model Context Protocol) คืออะไร ทำไมสำคัญ18 นาที

บทที่ 4 · เตรียมพร้อมก่อนเริ่มใช้งานจริง

  • ศัพท์ที่เจอบ่อยแบบสรุปย่อ (Cheat Sheet)12 นาที
  • คำถามที่พบบ่อยสำหรับผู้เริ่มต้น (FAQ)15 นาที
100%

ข้างในโฟลเดอร์ .claude/ มีอะไรบ้าง

ใช้เวลาประมาณ 18 นาที

ในบทนี้

  1. 1.ภาพรวมโฟลเดอร์ .claude/
  2. 2.agents/ — subagent ที่นิยามเอง
  3. 3.skills/ — workflow ที่ใช้ซ้ำได้
  4. 4.commands/ — custom slash command
  5. 5.rules/ — กฎแยกไฟล์ตามหัวข้อ
  6. 6.สรุปความแตกต่างในโฟลเดอร์เดียว

ภาพรวมโฟลเดอร์ .claude/

โฟลเดอร์ .claude/ คือศูนย์รวม config และ extension ทั้งหมดของ Claude Code สำหรับโปรเจกต์นั้น เปรียบเทียบง่ายๆ คล้ายโฟลเดอร์ .vscode/ หรือ .github/ ที่ผู้ใช้เครื่องมืออื่นคุ้นเคย โดยทั่วไปหน้าตาจะประมาณนี้:

your-project/
├── .claude/
│   ├── settings.json        # config ที่แชร์กับทีม
│   ├── settings.local.json  # config ส่วนตัว ไม่ commit
│   ├── CLAUDE.md            # (ทางเลือก) วางไว้ในนี้แทน root ก็ได้
│   ├── agents/               # นิยาม subagent
│   ├── skills/                # นิยาม skill / workflow ที่ใช้ซ้ำได้
│   ├── commands/              # นิยาม custom slash command
│   └── rules/                  # กฎแยกไฟล์ตามหัวข้อ/ตาม path

ทุกโฟลเดอร์ย่อยเป็น "ทางเลือก" — โปรเจกต์เล็กๆ อาจมีแค่ settings.json อย่างเดียวก็ได้ ค่อยๆ เพิ่มตามความจำเป็น

agents/ — subagent ที่นิยามเอง

บทถัดไป

.env และการเก็บ API key อย่างปลอดภัย

ใช้เวลาประมาณ 15 นาที

บทก่อนหน้า: settings.json กับ settings.local.json ต่างกันตรงไหน
.env และการเก็บ API key อย่างปลอดภัย
15 นาที
Hook คืออะไร ใช้ทำอะไรได้บ้าง
16 นาที
  • Permission Mode คืออะไร ควบคุมอะไรบ้าง15 นาที
  • Plan Mode คืออะไร ช่วยอะไรก่อนลงมือทำงานจริง14 นาที
  • Subagent คือ "ผู้ช่วยเฉพาะทาง" ที่ทำงานในบริบท (context window) ของตัวเอง แยกจาก conversation หลัก เหมาะกับงานที่ต้องค้นหา/อ่านไฟล์เยอะๆ แล้วสรุปกลับมาสั้นๆ เพื่อไม่ให้ context หลักเปลืองโดยไม่จำเป็น

    ไฟล์ subagent เป็น Markdown ที่มี YAML frontmatter ด้านบน วางไว้ที่ .claude/agents/ (ระดับโปรเจกต์) หรือ ~/.claude/agents/ (ระดับผู้ใช้ ใช้ได้ทุกโปรเจกต์)

    ---
    name: code-reviewer
    description: Reviews code for quality and best practices
    tools: Read, Glob, Grep
    model: sonnet
    ---
    
    You are a code reviewer. When invoked, analyze the code and provide
    specific, actionable feedback on quality, security, and best practices.
    

    field ที่รองรับใน frontmatter (มีแค่ name กับ description ที่บังคับ): name, description, tools (จำกัดเครื่องมือที่ subagent ใช้ได้), disallowedTools, model (sonnet, opus, haiku, หรือ inherit), permissionMode, maxTurns

    ทำไมต้องแยก subagent

    ข้อดีหลักคือ ประหยัด context — ถ้าให้ Claude หลักไปไล่อ่านไฟล์ log ยาวๆ เอง context หลักจะเต็มไปด้วยข้อมูลที่ไม่ต้องใช้ต่อ แต่ถ้ามอบหมายให้ subagent ทำ แล้วให้มันสรุปกลับมาสั้นๆ context หลักจะสะอาดกว่ามาก

    skills/ — workflow ที่ใช้ซ้ำได้

    Skill คือชุดคำสั่ง/ความรู้เฉพาะทางที่ Claude จะ "โหลดมาใช้เมื่อจำเป็น" เท่านั้น (ต่างจาก CLAUDE.md ที่โหลดทุก session) เหมาะกับ workflow ที่ทำเป็นครั้งคราว เช่น ขั้นตอน deploy, การสร้างรายงานเฉพาะแบบ, การจัดการไฟล์ PDF

    แต่ละ skill อยู่ในโฟลเดอร์ของตัวเองใต้ .claude/skills/ (โปรเจกต์) หรือ ~/.claude/skills/ (ผู้ใช้) ไฟล์ที่ต้องมีคือ SKILL.md เท่านั้น ไฟล์อื่นเป็นตัวเลือกเสริม:

    .claude/skills/
    └── deploy-checklist/
        ├── SKILL.md          # บังคับต้องมี
        ├── scripts/          # สคริปต์เสริม (ถ้ามี)
        └── references/        # เอกสารอ้างอิงเสริม (ถ้ามี)
    
    ---
    name: deploy-checklist
    description: ขั้นตอนตรวจสอบก่อน deploy ขึ้น production ใช้เมื่อผู้ใช้ขอ deploy
    ---
    
    # ขั้นตอน deploy
    1. รัน `npm run build` แล้วเช็คว่าไม่มี error
    2. รัน `npm test`
    3. ตรวจสอบ env variable บน production
    ...
    

    commands/ — custom slash command

    ถ้าคุณมี prompt ที่ใช้ซ้ำบ่อยๆ (เช่น พิมพ์คำสั่งยาวๆ ทุกครั้งที่ขอให้ Claude เขียน commit message ตาม format เฉพาะของทีม) สามารถเก็บเป็น custom slash command ไว้ในโฟลเดอร์ .claude/commands/ เพื่อเรียกใช้สั้นๆ ผ่าน /ชื่อคำสั่ง ได้ในภายหลัง โดยไม่ต้องพิมพ์ prompt เต็มซ้ำทุกครั้ง

    rules/ — กฎแยกไฟล์ตามหัวข้อ

    สำหรับโปรเจกต์ใหญ่ที่ CLAUDE.md เดียวเริ่มยาวเกินไป สามารถแยกกฎเป็นไฟล์ย่อยในโฟลเดอร์ .claude/rules/ แต่ละไฟล์คุมหัวข้อเดียว (เช่น testing.md, security.md) และยังกำหนดให้กฎนั้น "โหลดเฉพาะเมื่อ Claude ทำงานกับไฟล์ที่ตรง pattern" ได้ ผ่าน YAML frontmatter paths:

    ---
    paths:
      - "src/api/**/*.ts"
    ---
    
    # API Development Rules
    - ทุก endpoint ต้อง validate input
    - ใช้ error response format มาตรฐาน
    

    วิธีนี้ช่วยประหยัด context เพราะกฎเฉพาะทางจะไม่ถูกโหลดเข้าไปทุก session ถ้าไม่ได้เกี่ยวข้องกับไฟล์ที่กำลังทำอยู่

    สรุปความแตกต่างในโฟลเดอร์เดียว

    จำง่ายๆ ตามคำถาม "โหลดตอนไหน":

    • CLAUDE.md / rules ที่ไม่มี paths → โหลดทุก session
    • rules ที่มี paths → โหลดเมื่อแตะไฟล์ที่ตรง pattern เท่านั้น
    • skills/ → โหลดเมื่อ Claude ตัดสินใจว่าเกี่ยวข้องกับ prompt หรือถูกเรียกใช้ตรงๆ
    • agents/ → ทำงานแยก context ต่างหาก ไม่ได้โหลดเข้า context หลัก
    • commands/ → ทำงานเมื่อผู้ใช้พิมพ์ /ชื่อคำสั่ง เท่านั้น

    การแยกให้ถูกประเภทช่วยให้ context window ของ Claude ไม่เต็มไปด้วยข้อมูลที่ไม่จำเป็น และทำให้ทีมขยาย config ได้อย่างเป็นระบบเมื่อโปรเจกต์โตขึ้น