Anthropic ได้ปล่อยวิดีโอสอนการใช้งาน Agent Skills อย่างเป็นทางการแล้ว ประกอบด้วย 6 บทเรียน ความยาวรวม 22 นาที ครอบคลุมวงจรการใช้งาน Skills ตั้งแต่ความหมาย วิธีการสร้าง การตั้งค่าแบบหลายไฟล์ การแยกความแตกต่างจากฟีเจอร์อื่น การแชร์ และการแก้ไขปัญหา
คุณค่าที่สำคัญที่สุดของบทช่วยสอนนี้ไม่ได้อยู่ที่การสอนวิธีเขียน Skill เพียงอย่างเดียว แต่เป็นการอธิบายปรัชญาการออกแบบและกลไกเบื้องหลังของ Skills ปัญหามากมายที่ผู้คนพบเมื่อใช้ Skills เกิดจากความเข้าใจที่ไม่เพียงพอเกี่ยวกับกลไกเหล่านี้
Skills แก้ปัญหาอะไรได้บ้าง?

ทุกครั้งที่คุณอธิบายมาตรฐานการเขียนโค้ดของทีมให้ Claude ฟัง คุณกำลังพูดซ้ำๆ ทุกครั้งที่มีการตรวจสอบ Pull Request คุณต้องอธิบายอีกครั้งว่าคุณต้องการให้จัดระเบียบข้อเสนอแนะอย่างไร ทุกครั้งที่เขียนข้อความ Commit คุณต้องเตือน Claude ถึงรูปแบบที่คุณต้องการ
Skills ถูกออกแบบมาเพื่อขจัดความซ้ำซากนี้ Skill คือไฟล์ Markdown ที่สอน Claude ถึงวิธีการทำสิ่งใดสิ่งหนึ่งเพียงครั้งเดียว และ Claude จะนำความรู้นั้นไปใช้โดยอัตโนมัติในสถานการณ์ที่เกี่ยวข้อง
พูดให้ถูกต้องยิ่งขึ้น Agent Skill คือโฟลเดอร์ที่มีคำแนะนำ สคริปต์ และทรัพยากรต่างๆ Claude สามารถค้นพบและใช้งานสิ่งเหล่านี้โดยอัตโนมัติเพื่อทำงานได้อย่างแม่นยำและมีประสิทธิภาพมากขึ้น
กลไกหลักคือฟิลด์ description เมื่อ Claude เริ่มทำงาน มันจะโหลดชื่อและคำอธิบายของ Skills ทั้งหมด เมื่อคุณส่งคำขอ Claude จะทำการจับคู่ความหมายระหว่างคำขอของคุณกับคำอธิบายของ Skills ที่มีอยู่ทั้งหมด เพื่อค้นหาและเปิดใช้งาน Skill ที่ตรงกัน เมื่อเปิดใช้งานแล้ว เนื้อหา Skill ทั้งหมดจะถูกโหลดเข้าสู่หน้าต่างบริบท
สิ่งนี้แตกต่างโดยพื้นฐานจาก claude.md เนื้อหาของ claude.md จะถูกโหลดในทุกการสนทนา ไม่ว่าคุณจะทำอะไรอยู่ Skill จะถูกโหลดเมื่อจำเป็นเท่านั้น รายการตรวจสอบ PR Review ของคุณไม่จำเป็นต้องอยู่ในบริบทขณะดีบัก มันจะปรากฏขึ้นเมื่อคุณขอให้ตรวจสอบจริงๆ เท่านั้น
คุณควรใช้ Skill เมื่อใด? หากคุณพบว่าตัวเองต้องอธิบายสิ่งเดิมซ้ำแล้วซ้ำเล่าให้ Claude ฟัง นั่นคือ Skill ที่รอการพัฒนา
สร้าง Skill แรกของคุณตั้งแต่เริ่มต้น

การสร้าง Skill ต้องใช้เพียงสองขั้นตอน: สร้างไดเรกทอรีและเขียนไฟล์
ขั้นตอนที่หนึ่ง: สร้างไดเรกทอรีที่ตั้งชื่อตาม Skill ภายใต้ ~/.claude/skills/ การวางไว้ที่นี่หมายความว่าเป็น Skill ระดับบุคคล ซึ่งสามารถใช้ได้ในทุกโปรเจกต์
ขั้นตอนที่สอง: สร้างไฟล์ SKILL.md ในไดเรกทอรี ไฟล์แบ่งออกเป็นสองส่วน คั่นด้วยเครื่องหมายขีดสามขีด ส่วนบนคือข้อมูลเมตา YAML ที่ประกอบด้วย name และ description ส่วนล่างประกอบด้วยคำแนะนำเฉพาะสำหรับ Claude ให้ปฏิบัติตาม
เมื่อ Claude Code เริ่มทำงาน มันจะสแกนสี่ตำแหน่งเพื่อหา Skills: พาธระดับองค์กร, ไดเรกทอรี Skills ส่วนบุคคล, ไดเรกทอรี Skills ของโปรเจกต์ และปลั๊กอินที่ติดตั้งไว้ มันจะโหลดเฉพาะชื่อและคำอธิบายของแต่ละ Skill ไม่ใช่เนื้อหาทั้งหมด
เมื่อคุณส่งคำขอ Claude จะเปรียบเทียบคำขอของคุณกับคำอธิบาย Skills ทั้งหมด หากเจตนาตรงกัน มันจะขอให้คุณยืนยันก่อนที่จะโหลด Skill ก่อน หลังจากยืนยันแล้วเท่านั้นจึงจะอ่านไฟล์เต็มและดำเนินการตามคำแนะนำ ขั้นตอนการยืนยันนี้ช่วยให้คุณรับรู้ว่า Claude กำลังใช้บริบทอะไรอยู่
หากมี Skills ที่มีชื่อเดียวกัน ลำดับความสำคัญจากสูงไปต่ำคือ: ระดับองค์กร (managed-settings.json), ระดับบุคคล (~/.claude/skills), ระดับโปรเจกต์ (project/.claude/skills) และระดับปลั๊กอิน (project/.claude-plugins/skills)
ซึ่งหมายความว่าบริษัทสามารถบังคับใช้มาตรฐานผ่าน Skills ระดับองค์กร ในขณะที่อนุญาตให้แต่ละบุคคลปรับแต่งผ่าน Skills ที่มีชื่อแตกต่างกันได้ หากบริษัทของคุณมี Skill การตรวจสอบโค้ดระดับองค์กร คุณสามารถสร้าง Skill ส่วนบุคคลที่ชื่อ front-end-pr-review เพื่อเสริมแทนที่จะเขียนทับ
การกำหนดค่าขั้นสูง: ฟิลด์ข้อมูลเมตาและการเปิดเผยแบบค่อยเป็นค่อยไป

Skills พื้นฐานต้องการเพียง name และ description แต่การกำหนดค่าขั้นสูงหลายอย่างสามารถทำให้ Skills มีประสิทธิภาพมากขึ้น
ฟิลด์ allowed-tools สามารถจำกัดเครื่องมือที่ Claude สามารถใช้ได้เมื่อ Skill ทำงานอยู่ ตัวอย่างเช่น หากคุณมี Skill การวิเคราะห์แบบอ่านอย่างเดียว คุณสามารถห้ามการแก้ไข การเขียน และคำสั่ง Bash หากละเว้นฟิลด์นี้ Skill จะไม่มีข้อจำกัดใดๆ และ Claude จะใช้โมเดลสิทธิ์ปกติ
ฟิลด์ model สามารถระบุเวอร์ชันของโมเดล Claude ที่จะใช้
วิธีการเขียน description เป็นตัวกำหนดโดยตรงว่า Skill จะถูกเรียกใช้อย่างถูกต้องหรือไม่ คำอธิบายที่ดีควรตอบสองคำถาม: Skill นี้ทำอะไร? Claude ควรใช้เมื่อใด? หาก Skill ไม่ถูกเรียกใช้ ให้เพิ่มคีย์เวิร์ดที่ตรงกับวลีในคำขอของคุณมากขึ้น
แนวคิดขั้นสูงที่สำคัญที่สุดคือการเปิดเผยแบบค่อยเป็นค่อยไป Skills แบ่งปันหน้าต่างบริบทกับการสนทนาของคุณ หากคุณยัดทุกอย่างลงใน SKILL.md ที่มี 20,000 บรรทัด มันจะกินพื้นที่บริบทจำนวนมหาศาล
แนวทางที่ถูกต้องคือ: ใส่คำแนะนำที่จำเป็นใน SKILL.md และใส่เอกสารอ้างอิงโดยละเอียดในไฟล์แยกต่างหาก ซึ่ง Claude จะอ่านเมื่อจำเป็นเท่านั้น โครงสร้างไดเรกทอรีที่แนะนำสำหรับมาตรฐานเปิดคือ: โฟลเดอร์ scripts สำหรับโค้ดที่สามารถเรียกใช้งานได้, references สำหรับเอกสารอ้างอิง และ resources สำหรับไฟล์ข้อมูล เช่น รูปภาพและเทมเพลต ใช้ลิงก์ใน SKILL.md เพื่ออ้างอิงไฟล์เหล่านี้
กฎสำคัญ: SKILL.md ไม่ควรเกิน 500 บรรทัด หากเกิน ควรแยกออก สคริปต์สามารถเรียกใช้งานได้โดยตรงโดยไม่ต้องโหลดเนื้อหาลงในบริบท มีเพียงเอาต์พุตเท่านั้นที่ใช้โทเค็น ดังนั้น ให้บอก Claude ให้รันสคริปต์แทนที่จะอ่านมัน ซึ่งมีประโยชน์อย่างยิ่งสำหรับการตรวจสอบสภาพแวดล้อมและการแปลงข้อมูล เนื่องจากโค้ดสคริปต์ที่ทดสอบแล้วมีความน่าเชื่อถือมากกว่าการสร้างขึ้นมาเฉพาะกิจ
ความแตกต่างระหว่าง Skills และฟีเจอร์อื่นๆ ของ Claude Code

Skills กับ claude.md: claude.md จะถูกโหลดเข้าสู่ทุกการสนทนาเสมอ สำหรับมาตรฐานและกฎของโปรเจกต์ที่ใช้ตลอดเวลา เช่น "โปรเจกต์นี้ใช้ TypeScript strict mode" Skills จะถูกโหลดตามความต้องการ เปิดใช้งานเมื่อ Claude จับคู่กับคำขอเท่านั้น
Skills กับ Sub Agents: Skills เพิ่มความรู้ให้กับการสนทนาปัจจุบัน เมื่อเปิดใช้งานแล้ว คำแนะนำจะถูกเพิ่มเข้าไปในบริบทที่มีอยู่ Sub Agents ทำงานในบริบทที่เป็นอิสระ ทำงานให้เสร็จและส่งผลลัพธ์แยกต่างหาก โดยแยกจากการสนทนาหลักอย่างสมบูรณ์
Skills กับ Hooks: Hooks ขับเคลื่อนโดยเหตุการณ์ จะทำงานเมื่อมีเหตุการณ์เฉพาะเกิดขึ้น เช่น Claude รัน Linter ทุกครั้งที่บันทึกไฟล์ Skills ขับเคลื่อนโดยคำขอ จะทำงานตามคำถามที่คุณถาม
Skills กับ MCP: MCP ให้การเชื่อมต่อเครื่องมือภายนอก ทำให้ Claude สามารถเรียกใช้บริการต่างๆ เช่น Gmail หรือ Notion Skills ให้ความรู้และเวิร์กโฟลว์ บอก Claude ถึงวิธีใช้เครื่องมือเหล่านั้นเพื่อทำงานเฉพาะให้สำเร็จ
สรุปในหนึ่งประโยค: claude.md เก็บคำแนะนำที่เปิดตลอดเวลา Skills เก็บความเชี่ยวชาญที่จับคู่อัตโนมัติ Sub Agents ทำงานที่ได้รับมอบหมายในบริบทที่แยกออกมา Hooks ตอบสนองต่อเหตุการณ์ และ MCP เชื่อมต่อกับเครื่องมือภายนอก สามารถใช้ร่วมกันได้
การแชร์ Skills: จากบุคคลสู่ทีมสู่ระดับองค์กร

คุณค่าของ Skills อยู่ที่การแชร์ Skill การตรวจสอบ PR ที่ใช้โดยตัวคุณเองเท่านั้นมีประโยชน์ แต่ Skill ที่แชร์ในทีมสามารถสร้างมาตรฐานการตรวจสอบโค้ดและมอบประสบการณ์ที่สอดคล้องกัน
สามวิธีในการแชร์:
วิธีแรกคือไดเรกทอรีของโปรเจกต์ Commit Skill ไปยังไดเรกทอรี .claude/skills ของที่เก็บโค้ด ใครก็ตามที่โคลน repo จะได้รับ Skills เหล่านี้โดยอัตโนมัติโดยไม่ต้องติดตั้งเพิ่มเติม การอัปเดตจะได้รับในการดึงข้อมูลครั้งถัดไป วิธีนี้เหมาะสำหรับมาตรฐานการเขียนโค้ดของทีมและเวิร์กโฟลว์เฉพาะของโปรเจกต์
วิธีที่สองคือปลั๊กอิน มองว่าปลั๊กอินเป็นวิธีแจกจ่าย Skills ข้ามโปรเจกต์ เมื่ออัปโหลดไปยัง App Store แล้ว ผู้ใช้รายอื่นสามารถดาวน์โหลดและติดตั้งได้ หาก Skill ของคุณเป็นแบบทั่วไปและไม่เฉพาะเจาะจงกับโปรเจกต์ใดโปรเจกต์หนึ่ง นี่คือตัวเลือกที่ดีที่สุดสำหรับสมาชิกในชุมชน
วิธีที่สามคือการปรับใช้ระดับองค์กร ผู้ดูแลระบบผลักดัน Skills ไปยังทั้งองค์กรผ่านการตั้งค่าที่จัดการ Skills ระดับองค์กรมีลำดับความสำคัญสูงสุดและจะเขียนทับ Skills ส่วนบุคคลและโปรเจกต์ที่มีชื่อเดียวกัน วิธีนี้ใช้สำหรับมาตรฐานบังคับ ข้อกำหนดด้านความปลอดภัย และเวิร์กโฟลว์การปฏิบัติตามข้อกำหนด
หมายเหตุสำคัญ: Sub Agents จะไม่สืบทอด Skills ของคุณโดยอัตโนมัติ เมื่อคุณมอบหมายงานให้กับ Sub Agent มันจะเริ่มต้นด้วยบริบทใหม่ เอเจนต์ในตัว (Explorer, Plan, Verify) ไม่สามารถเข้าถึง Skills ได้เลย มีเพียง Sub Agent ที่กำหนดเองที่คุณกำหนดเท่านั้นที่สามารถใช้ Skills ได้ และต้องระบุอย่างชัดเจนใน agent.md
ในการสร้าง Sub Agent ที่กำหนดเองพร้อม Skills ให้สร้างไฟล์ agent.md ในไดเรกทอรี .claude/agents และเพิ่มฟิลด์ skills ที่แสดงรายการชื่อ Skills ที่จำเป็น ควรแสดงเฉพาะ Skills ที่เกี่ยวข้องกับเป้าหมายของ Sub Agent เสมอ เนื่องจาก Skills เหล่านี้จะถูกโหลดเมื่อ Sub Agent เริ่มทำงาน
คู่มือการแก้ไขปัญหา: หกสาเหตุที่ Skills ล้มเหลวและวิธีแก้ไข

ปัญหาเกี่ยวกับ Skills มักจะอยู่ในหกประเภท:
- Skill ไม่ถูกเรียกใช้: สาเหตุเกือบทั้งหมดมาจาก
descriptionที่เขียนไม่ดี Claude ใช้การจับคู่ความหมาย คำขอของคุณต้องสอดคล้องกับความหมายของคำอธิบาย หากไม่มีการทับซ้อนกันเพียงพอ ก็จะไม่ตรงกัน วิธีแก้ไข: เปรียบเทียบคำอธิบายกับวลีในคำขอของคุณ และเพิ่มวลีทริกเกอร์ที่ผู้ใช้พูดจริง เช่น "ช่วยฉันวิเคราะห์หน่อย" "ทำไมถึงช้า" หรือ "ทำให้เร็วขึ้น"
- Skill โหลดไม่สำเร็จ: ตรวจสอบพาธและชื่อไฟล์
SKILL.mdต้องอยู่ในไดเรกทอรีที่มีชื่อ ไม่ใช่โดยตรงใน root ของ skills ชื่อไฟล์ต้องเป็นSKILL.mdตัวพิมพ์ใหญ่ทั้งหมด รันclaude --debugเพื่อดูข้อผิดพลาดในการโหลด
- Claude ใช้ Skill ผิด: หมายความว่าคุณมีหลาย Skills ที่มีคำอธิบายคล้ายกันเกินไป ทำให้ Claude ไม่สามารถแยกแยะได้ วิธีแก้ไข: ทำให้แต่ละคำอธิบายเฉพาะเจาะจงมากที่สุดเพื่อช่วยให้ Claude ตัดสินใจได้ว่าเมื่อใดควรใช้ Skill ใด
- Skill ส่วนบุคคลถูกมองข้าม: Skill ที่มีลำดับความสำคัญสูงกว่า (เช่น ระดับองค์กร) ที่มีชื่อเดียวกันอาจเขียนทับมัน ตรวจสอบลำดับความสำคัญสี่ระดับ วิธีแก้ไข: เปลี่ยนชื่อ Skill ของคุณให้มีเอกลักษณ์มากขึ้น
- ติดตั้งปลั๊กอินแล้วแต่ไม่เห็น Skill: ล้างแคชด้วย
rm ~/.claude/plugins/cacheรีสตาร์ท Claude Code และติดตั้งใหม่ หากยังไม่ทำงาน โครงสร้างไดเรกทอรีของปลั๊กอินอาจผิดพลาด ใช้เครื่องมือตรวจสอบskills-ref validateเพื่อตรวจสอบ
- Skill โหลดแล้วแต่ล้มเหลวระหว่างการทำงาน: หาก Skill ใช้แพ็คเกจภายนอก ตรวจสอบให้แน่ใจว่าติดตั้งแล้ว เพิ่มข้อมูลการพึ่งพาลงในคำอธิบายของ Skill
Anthropic ยังมีเครื่องมือตรวจสอบที่เรียกว่า skills-ref เพื่อตรวจสอบว่าโครงสร้างไฟล์และไวยากรณ์ YAML ของ Skill ถูกต้องหรือไม่ แนะนำให้ติดตั้งผ่าน uv เพื่อวิธีที่เร็วที่สุด





