- ใน Claude Code Skills เป็นหนึ่งในจุดขยายความสามารถที่ถูกใช้งานมากที่สุด และบทความนี้ได้เปิดเผยแนวปฏิบัติจากการใช้งานจริงที่ Anthropic สั่งสมมาจากการดูแลสกิลหลายร้อยรายการภายในองค์กร
- สกิลไม่ใช่แค่ไฟล์ Markdown ธรรมดา แต่เป็น โครงสร้างโฟลเดอร์ที่รวมสคริปต์ แอสเซ็ต ข้อมูล และอื่น ๆ ในรูปแบบที่เอเจนต์สามารถสำรวจและนำไปใช้ได้
- สกิลถูกจัดเป็น 9 หมวดหมู่ เช่น library reference, product verification, data analysis, code scaffolding, CI/CD และสกิลที่ดีควรอยู่ในหมวดเดียวอย่างชัดเจน
- เคล็ดลับสำคัญในการเขียนสกิลคือ ส่วน Gotchas, การใช้ระบบไฟล์, การเปิดเผยแบบค่อยเป็นค่อยไป (Progressive Disclosure) และการจัดเก็บข้อมูล
- เมื่อขยายการใช้งานระดับองค์กร แนะนำให้เผยแพร่สกิลผ่าน ปลั๊กอินมาร์เก็ตเพลสภายใน และติดตามผลด้วยฮุกสำหรับวัดการใช้งาน
Skills คืออะไร
- ความเข้าใจผิดที่พบบ่อยเกี่ยวกับ Skills คือคิดว่า “เป็นแค่ไฟล์ Markdown” แต่ในความเป็นจริงมันคือ โฟลเดอร์ที่รวมสคริปต์ แอสเซ็ต ข้อมูล และอื่น ๆ
- เอเจนต์สามารถสำรวจโฟลเดอร์นี้ ค้นพบเนื้อหา และจัดการกับมันได้
- ใน Claude Code นั้น Skills มี ตัวเลือกการตั้งค่าหลากหลาย และยังสามารถลงทะเบียน dynamic hooks ได้
- สกิลที่น่าสนใจที่สุดมักเป็นสกิลที่ ใช้ตัวเลือกการตั้งค่าและโครงสร้างโฟลเดอร์เหล่านี้อย่างสร้างสรรค์
9 หมวดหมู่ของสกิล
- เมื่อนำสกิลที่ใช้งานภายในทั้งหมดมาจำแนก พบว่ามันจับกลุ่มเป็น หมวดหมู่ที่เกิดซ้ำอยู่ไม่กี่แบบ
- สกิลที่ดีควรเข้ากับหมวดหมู่ใดหมวดหมู่หนึ่งอย่างชัดเจน ส่วนสกิลที่ชวนสับสนมักคร่อมหลายหมวด
-
1. Library & API Reference
- สกิลที่อธิบายวิธีใช้ไลบรารี, CLI และ SDK ให้ถูกต้อง
- ไม่ได้จำกัดแค่ไลบรารีภายในองค์กร แต่รวมถึง ไลบรารีทั่วไป ที่ Claude Code มักใช้พลาดด้วย
- มักมีโฟลเดอร์สำหรับ reference code snippets และ รายการข้อควรระวัง (gotchas)
- ตัวอย่าง: billing-lib(กรณีขอบของไลบรารีชำระเงินภายใน), internal-platform-cli(ทุก subcommand และตัวอย่างการใช้ของ CLI wrapper ภายใน), frontend-design(ปรับปรุงการใช้ design system)
-
2. Product Verification
- สกิลที่อธิบายวิธี ทดสอบและตรวจสอบ ว่าโค้ดทำงานได้ถูกต้อง
- มักใช้งานร่วมกับเครื่องมือภายนอกอย่าง Playwright, tmux เป็นต้น
- มีประโยชน์มากต่อการรับประกันความถูกต้องของผลลัพธ์จาก Claude และคุ้มค่าที่วิศวกรจะ ลงทุนเวลาถึงหนึ่งสัปดาห์ เพื่อทำ verification skill ให้ยอดเยี่ยม
- แนะนำเทคนิคอย่างให้ Claude บันทึกวิดีโอ ของผลลัพธ์ หรือบังคับใช้ programmatic assertions เกี่ยวกับสถานะในแต่ละขั้นตอน
- ตัวอย่าง: signup-flow-driver(ทำขั้นตอนสมัคร→ยืนยันอีเมล→onboarding ด้วย headless browser), checkout-verifier(ขับ UI การชำระเงินด้วยบัตรทดสอบ Stripe แล้วตรวจสอบสถานะ invoice), tmux-cli-driver(สำหรับทดสอบ interactive CLI ที่ต้องใช้ TTY)
-
3. Data Fetching & Analysis
- สกิลที่เชื่อมต่อกับสแตกข้อมูลและมอนิเตอร์ริง
- อาจรวมไลบรารีดึงข้อมูลที่มี credential, dashboard ID เฉพาะ และคำแนะนำเวิร์กโฟลว์ทั่วไป
- ตัวอย่าง: funnel-query(ตารางที่มี event และ canonical user_id สำหรับฟันเนลสมัคร→เปิดใช้งาน→ชำระเงิน), cohort-compare(เปรียบเทียบ retention/อัตรา conversion ของสอง cohort พร้อมติดธงความมีนัยสำคัญทางสถิติ), grafana(data source UID, ชื่อคลัสเตอร์, ตาราง lookup ระหว่างปัญหากับ dashboard)
-
4. Business Process & Team Automation
- สกิลที่ทำเวิร์กโฟลว์ที่ทำซ้ำบ่อย ๆ ให้เป็น คำสั่งเดียวแบบอัตโนมัติ
- คำสั่งอาจค่อนข้างเรียบง่าย แต่มี dependency ที่ซับซ้อนกับสกิลอื่นหรือ MCP ได้
- หากเก็บผลลัพธ์จากการรันครั้งก่อนลงใน ไฟล์ล็อก จะช่วยให้โมเดลรักษาความสม่ำเสมอและสะท้อนผลการรันก่อนหน้าได้ดีขึ้น
- ตัวอย่าง: standup-post(สแตนด์อัปในรูปแบบที่สรุปจาก ticket tracker, กิจกรรม GitHub และ Slack), create-ticket(บังคับตามสคีมาและมีเวิร์กโฟลว์หลังการสร้าง), weekly-recap(เขียนโพสต์สรุปจาก PR ที่ merge แล้ว + ticket ที่ปิดแล้ว + การ deploy)
-
5. Code Scaffolding & Templates
- สกิลที่ สร้าง framework boilerplate สำหรับความสามารถเฉพาะในโค้ดเบส
- สามารถใช้ร่วมกับสคริปต์ที่ประกอบกันได้ และมีประโยชน์เป็นพิเศษเมื่อมี ข้อกำหนดภาษาธรรมชาติ ที่โค้ดอย่างเดียวครอบคลุมไม่หมด
- ตัวอย่าง: new-framework-workflow(สร้าง scaffold สำหรับ service/workflow/handler ใหม่พร้อม annotation), new-migration(เทมเพลตไฟล์ migration และข้อควรระวัง), create-app(สร้างแอปภายในใหม่ที่เชื่อม authentication, logging และ deployment settings ไว้ล่วงหน้า)
-
6. Code Quality & Review
- สกิลที่ช่วย บังคับใช้คุณภาพโค้ด ในองค์กรและช่วยงาน code review
- อาจมี สคริปต์หรือเครื่องมือแบบ deterministic เพื่อเพิ่มความแข็งแรงให้มากที่สุด
- สามารถให้รันอัตโนมัติเป็นส่วนหนึ่งของ hook หรือ GitHub Action ได้
- ตัวอย่าง: adversarial-review(subagent ที่มองจากมุมใหม่จะวิจารณ์→แก้ไข→วนซ้ำจนข้อทักท้วงเหลือแค่ระดับ nitpick), code-style(บังคับใช้ code style ที่ Claude ทำได้ไม่ดีโดยปริยาย), testing-practices(แนวทางการเขียนเทสต์และสิ่งที่ควรทดสอบ)
-
7. CI/CD & Deployment
- สกิลที่ ดึง, push และ deploy โค้ดภายในโค้ดเบส
- อาจอ้างอิงสกิลอื่นเพื่อรวบรวมข้อมูลได้
- ตัวอย่าง: babysit-pr(มอนิเตอร์ PR→retry flaky CI→แก้ merge conflict→เปิด auto-merge), deploy-service(build→smoke test→ทยอยปล่อยทราฟฟิก→เปรียบเทียบอัตรา error→rollback อัตโนมัติเมื่อเกิด regression), cherry-pick-prod(worktree แยก→cherry-pick→แก้ conflict→สร้าง PR จากเทมเพลต)
-
8. Runbooks
- สกิลที่รับอาการปัญหาเข้าไป (เช่น Slack thread, การแจ้งเตือน, error signature) แล้ว ทำการสืบสวนด้วยหลายเครื่องมือ พร้อมสร้างรายงานแบบมีโครงสร้าง
- ตัวอย่าง: service-debugging(แมปอาการ→เครื่องมือ→แพตเทิร์นคำสั่ง query), oncall-runner(ดึงการแจ้งเตือน→ตรวจสาเหตุที่พบบ่อย→จัดรูปแบบผลลัพธ์), log-correlator(รวบรวมล็อกของทุกระบบที่เกี่ยวข้องด้วย request ID)
-
9. Infrastructure Operations
- สกิลที่ทำงานบำรุงรักษาและขั้นตอนปฏิบัติการประจำวัน พร้อม guardrails สำหรับงานที่มีความเสี่ยงทำลายข้อมูลหรือระบบ
- ช่วยให้วิศวกรทำตาม best practices ได้ง่ายขึ้นในการปฏิบัติการสำคัญ
- ตัวอย่าง: resource-orphans(ค้นหา Pod/volume ที่เป็น orphan→แจ้งเตือนทาง Slack→รอช่วงเวลาหนึ่ง→ยืนยันจากผู้ใช้→เก็บกวาดต่อเนื่อง), dependency-management(เวิร์กโฟลว์อนุมัติ dependency ขององค์กร), cost-investigation(bucket และแพตเทิร์น query สำหรับสืบหาสาเหตุที่ค่า storage/egress พุ่งสูง)
เคล็ดลับการเขียนสกิล
-
อย่าเขียนสิ่งที่ชัดเจนอยู่แล้ว
- Claude Code รู้เรื่องโค้ดเบสมากอยู่แล้ว และมีมุมมองพื้นฐานเกี่ยวกับการเขียนโค้ดด้วย
- หากจะสร้างสกิลเชิงความรู้ ควรโฟกัสที่ ข้อมูลที่ทำให้ Claude เบี่ยงออกจากวิธีคิดทั่วไปของมัน
- frontend-design เป็นตัวอย่างที่ดี โดยเป็นสกิลที่วิศวกรของ Anthropic สร้างขึ้นจากการทำซ้ำร่วมกับลูกค้า เพื่อ ปรับปรุงเซนส์ด้านดีไซน์ ของ Claude และหลีกเลี่ยงแพตเทิร์นซ้ำ ๆ อย่างฟอนต์ Inter กับไล่สีม่วง
-
สร้างส่วน Gotchas
- ในทุกสกิล ส่วนที่มี คุณค่าสัญญาณสูงที่สุด คือส่วน Gotchas
- ควรสะสมจาก จุดที่มักล้มเหลว เมื่อ Claude ใช้งานสกิล
- อุดมคติคือคอยอัปเดต gotchas เหล่านี้อย่างต่อเนื่องเมื่อเวลาผ่านไป
-
ใช้ระบบไฟล์และการเปิดเผยแบบค่อยเป็นค่อยไป
- เพราะสกิลเป็นโฟลเดอร์ จึงควรใช้ ระบบไฟล์ทั้งหมดเป็นเครื่องมือสำหรับ context engineering และการเปิดเผยแบบค่อยเป็นค่อยไป
- หากบอก Claude ว่าในสกิลมีไฟล์อะไรบ้าง มันจะอ่านในจังหวะที่เหมาะสม
- รูปแบบที่ง่ายที่สุด: แยก signature ของฟังก์ชันโดยละเอียดและตัวอย่างการใช้ไปไว้ใน Markdown แยกต่างหาก เช่น references/api.md
- หากผลลัพธ์สุดท้ายเป็น Markdown ก็สามารถใส่ ไฟล์เทมเพลตในโฟลเดอร์ assets/ ได้
- โฟลเดอร์สำหรับ reference, สคริปต์, ตัวอย่าง และอื่น ๆ จะช่วยเพิ่มประสิทธิภาพการทำงานของ Claude
-
อย่าจำกัด Claude มากเกินไป
- Claude พยายามทำตามคำสั่ง แต่สกิลมีการนำกลับมาใช้ซ้ำสูง จึงควรระวัง คำสั่งที่เฉพาะเจาะจงเกินไป
- ให้ข้อมูลที่จำเป็น แต่เปิดพื้นที่ให้มัน ปรับตัวตามสถานการณ์ได้อย่างยืดหยุ่น
-
ออกแบบกระบวนการ Setup
- บางสกิลต้องมีขั้นตอนตั้งค่าเพื่อ เก็บบริบทจากผู้ใช้
- เช่น ถ้าเป็นสกิลที่โพสต์สแตนด์อัปลง Slack ก็ต้องถามว่าจะโพสต์ไปที่ช่องไหน
- แพตเทิร์นที่ดีคือเก็บข้อมูลการตั้งค่าไว้ใน ไฟล์ config.json ในไดเรกทอรีของสกิล และถ้ายังไม่ได้ตั้งค่า เอเจนต์จะถามผู้ใช้
- หากต้องการถามแบบหลายตัวเลือกที่มีโครงสร้าง สามารถสั่งให้ใช้ AskUserQuestion tool ได้
-
ฟิลด์ Description มีไว้เพื่อโมเดล
- เมื่อ Claude Code เริ่มเซสชัน มันจะ สร้างรายการ description ของสกิลทั้งหมดที่ใช้งานได้
- Claude จะสแกนรายการนี้เพื่อพิจารณาว่า “มีสกิลที่เหมาะกับคำขอนี้หรือไม่?”
- ดังนั้นฟิลด์ description ไม่ใช่สรุปเนื้อหา แต่คือ คำอธิบายว่าควรทริกเกอร์สกิลนี้เมื่อใด
-
หน่วยความจำและการจัดเก็บข้อมูล
- สกิลสามารถมี หน่วยความจำในรูปแบบของการเก็บข้อมูล ได้
- ตั้งแต่ไฟล์ล็อกข้อความธรรมดาหรือไฟล์ JSON ไปจนถึง ฐานข้อมูล SQLite
- เช่น หากสกิล standup-post เก็บประวัติการเขียนทั้งหมดไว้ใน standups.log เมื่อรันครั้งถัดไป Claude ก็จะอ่านประวัติของตัวเองและดูได้ว่ามีอะไรเปลี่ยนไปตั้งแต่เมื่อวาน
- ข้อมูลที่เก็บในไดเรกทอรีของสกิลอาจถูกลบเมื่ออัปเกรดสกิล จึงควรเก็บไว้ใน โฟลเดอร์ถาวร
${CLAUDE_PLUGIN_DATA}
-
การเก็บสคริปต์และการสร้างโค้ด
- หนึ่งในเครื่องมือที่ทรงพลังที่สุดที่ให้ Claude ได้คือ ตัวโค้ดเอง
- หากให้สคริปต์และไลบรารีไว้ Claude จะโฟกัสกับ การประกอบ (composition) แทนที่จะเสียเวลาเขียน boilerplate ใหม่
- เช่น ในสกิลด้าน data science อาจใส่ ไลบรารี helper functions สำหรับดึงข้อมูลจากแหล่ง event
- Claude สามารถนำความสามารถเหล่านี้มาผสมกันเพื่อ สร้างสคริปต์เฉพาะกิจได้ทันที และใช้กับการวิเคราะห์ที่ซับซ้อนอย่าง “วันอังคารเกิดอะไรขึ้นบ้าง?”
-
On Demand Hooks
- สกิลสามารถมีฮุกที่เปิดใช้งานเฉพาะเมื่อถูกเรียกใช้ และ คงอยู่เฉพาะระหว่างเซสชันเท่านั้น
- เหมาะกับ ฮุกที่มีความเห็นชัดเจนมาก ซึ่งหนักเกินกว่าจะให้รันตลอดเวลา แต่มีประโยชน์มากในบางสถานการณ์
- ตัวอย่าง:
/careful — บล็อก rm -rf, DROP TABLE, force-push, kubectl delete ด้วย PreToolUse matcher และเปิดใช้เฉพาะเวลาทำงานกับโปรดักชัน
/freeze — บล็อก Edit/Write ทั้งหมดนอกไดเรกทอรีที่กำหนด มีประโยชน์ในการดีบักเพื่อป้องกันการแก้ไขโดยไม่ตั้งใจ
การเผยแพร่สกิล
- ข้อดีสำคัญอย่างหนึ่งของสกิลคือ สามารถแชร์ให้ทั้งทีมใช้ร่วมกันได้
- มีสองวิธีในการแชร์:
- เช็กอินสกิลเข้าไปใน repo (ใต้
./.claude/skills)
- ทำเป็นปลั๊กอินแล้วอัปโหลดไปยัง Claude Code Plugin marketplace เพื่อให้ผู้ใช้ติดตั้ง
-
การดูแลมาร์เก็ตเพลส
- หากเป็นทีมเล็กที่ทำงานบนไม่กี่ repo วิธีเช็กอินลง repo จะเหมาะกว่า
- สกิลที่เช็กอินไว้จะ เพิ่มเข้าไปในบริบทของโมเดลทีละน้อย ดังนั้นเมื่อระบบใหญ่ขึ้น การมีปลั๊กอินมาร์เก็ตเพลสภายในจะได้เปรียบกว่า
- ไม่มี ทีมกลางที่คอยตัดสิน ว่าสกิลใดควรอยู่ในมาร์เก็ตเพลส แต่ปล่อยให้สกิลที่มีประโยชน์จริงถูกค้นพบตามธรรมชาติ
- หากมีสกิลที่อยากลองใช้ ให้ลองอัปโหลดไปยัง โฟลเดอร์ sandbox ใน GitHub และประกาศผ่าน Slack หรือช่องทางอื่น
- เมื่อได้แรงดึงดูดมากพอ เจ้าของสกิลจึงค่อยเปิด PR เพื่อย้ายเข้ามาร์เก็ตเพลส
- เพราะสกิลที่แย่หรือซ้ำซ้อนสามารถถูกสร้างได้ง่าย จึงควรมีกลไก คัดเลือกก่อนปล่อยใช้งานจริง
-
การประกอบสกิล (Composing Skills)
- อาจต้องมี dependency ระหว่างสกิล (เช่น สกิลอัปโหลดไฟล์ + สกิลสร้างและอัปโหลด CSV)
- แม้ว่ามาร์เก็ตเพลสหรือระบบสกิลจะยัง ไม่มี dependency management แบบเนทีฟ แต่ถ้าอ้างถึงสกิลอื่นด้วยชื่อ โมเดลก็จะเรียกใช้ได้หากติดตั้งอยู่
-
การวัดผลสกิล
- เพื่อดูว่าสกิลได้ผลแค่ไหน มีการใช้ PreToolUse hook สำหรับล็อกการใช้งานสกิลภายในบริษัท
- ใช้ค้นหาทั้งสกิลยอดนิยมและ สกิลที่ถูกทริกเกอร์น้อยกว่าที่คาด
บทสรุป
- Skills เป็นเครื่องมือที่ทรงพลังและยืดหยุ่นมากสำหรับเอเจนต์ แต่ยังอยู่ในช่วงเริ่มต้น และ ทุกคนยังอยู่ระหว่างค้นหาวิธีใช้งานที่ดีที่สุด
- บทความนี้ไม่ใช่คู่มือฉบับตายตัว แต่เป็น ชุดเคล็ดลับที่พิสูจน์แล้วว่าใช้ได้ผลจริง
- สกิลส่วนใหญ่เริ่มจากไม่กี่บรรทัดกับ gotcha เพียงข้อเดียว และผู้คนก็ ค่อย ๆ เติมและปรับปรุงต่อไป ทุกครั้งที่ Claude เจอกรณีขอบใหม่
1 ความคิดเห็น
ช่วงนี้สิ่งที่รู้สึกเมื่อมอง Anthropic คือ ฝ่ายพัฒนากำลังแชร์ประสบการณ์ที่ได้เจอมาให้มากที่สุด พร้อมทั้งชักชวนให้ผู้ใช้ใช้ผลิตภัณฑ์ของตัวเองได้ดีขึ้น
มันดูเหมือนเป็นตัวอย่างที่แสดงให้เห็นด้วยตัวเองว่า “ระบบนิเวศการพัฒนาในยุค AI สร้างกันแบบนี้”