เคล็ดลับการพัฒนา Skills ภายใน Anthropic: จากประสบการณ์จริงสู่แนวปฏิบัติที่ดีที่สุด (ตอนที่ 1)

Skills ได้กลายเป็นหนึ่งในวิธีการขยายความสามารถที่ใช้กันอย่างแพร่หลายที่สุดใน Claude Code พวกมันมีความยืดหยุ่น สร้างง่าย และแจกจ่ายได้สะดวก
แต่ความยืดหยุ่นนี้ก็มาพร้อมกับปัญหา: มันยากที่จะตัดสินว่าแนวปฏิบัติที่ดีที่สุดคืออะไร Skills ประเภทไหนที่คุ้มค่าต่อการพัฒนา? เคล็ดลับในการเขียน Skill ที่ดีคืออะไร? และควรแบ่งปันให้ผู้อื่นเมื่อไหร่?
ภายใน Anthropic เราใช้ Skills อย่างแพร่หลายใน Claude Code แล้ว และปัจจุบันมี Skills หลายร้อยตัวที่ทำงานอยู่จริง
ต่อไปนี้คือประสบการณ์บางส่วนที่เราได้สรุปจากการใช้ Skills เพื่อเร่งกระบวนการพัฒนา
Skills คืออะไร?
หากคุณเพิ่งเริ่มใช้ Skills แนะนำให้อ่านเอกสารทางการก่อน:
ลิงก์ที่เกี่ยวข้อง: https://code.claude.com/docs/en/skills
บทความนี้ถือว่าคุณมีความเข้าใจเกี่ยวกับ Skills ในระดับหนึ่งแล้ว
เรามักได้ยินความเข้าใจผิดที่พบบ่อย: คิดว่า Skills “เป็นแค่ไฟล์ Markdown บางไฟล์” แต่จริงๆ แล้ว สิ่งที่น่าสนใจที่สุดเกี่ยวกับ Skills คือ—พวกมันไม่ใช่แค่ไฟล์ข้อความ แต่เป็นโฟลเดอร์ที่สามารถบรรจุสคริปต์ ทรัพยากร ข้อมูล และอื่นๆ เพื่อให้เอเจนต์ค้นพบ สำรวจ และดำเนินการได้
ใน Claude Code Skills ยังมีตัวเลือกการกำหนดค่าหลายอย่าง รวมถึงการลงทะเบียนฮุค (hooks) แบบไดนามิก
ลิงก์ที่เกี่ยวข้อง: https://code.claude.com/docs/en/skills#frontmatter-reference
เราพบว่า Skills ที่น่าสนใจที่สุดบางตัว เกิดขึ้นจากการใช้ประโยชน์จากตัวเลือกการกำหนดค่าและโครงสร้างไฟล์เหล่านี้อย่างชาญฉลาด
ประเภทของ Skills
หลังจากจัดระเบียบ Skills ทั้งหมดของเรา เราพบว่าพวกมันสามารถแบ่งออกเป็นหมวดหมู่ทั่วไปได้หลายหมวด
Skills ที่ดีที่สุดมักจะจัดอยู่ในหมวดหมู่ใดหมวดหมู่หนึ่งได้อย่างชัดเจน ในขณะที่ Skills ที่ซับซ้อนหรือเข้าใจยากกว่าอาจข้ามหลายหมวดหมู่ นี่ไม่ใช่รายการการจำแนกประเภทที่เป็นทางการ แต่มันให้แนวคิดที่ดีในการตัดสินว่าองค์กรของคุณขาด Skills ประเภทใดไปบ้าง

1. ไลบรารีและเอกสารอ้างอิง API
Skills เหล่านี้อธิบายวิธีใช้ไลบรารี CLI หรือ SDK อย่างถูกต้อง Skills เหล่านี้อาจเป็นสำหรับไลบรารีภายใน หรือสำหรับไลบรารีที่ Claude Code มีปัญหาในการใช้งานทั่วไป พวกมันมักประกอบด้วยชุดตัวอย่างโค้ดอ้างอิง พร้อมกับปัญหาทั่วไปบางประการที่ Claude ควรหลีกเลี่ยงเมื่อเขียนสคริปต์
ตัวอย่าง:
* billing-lib — ไลบรารีการเรียกเก็บเงินภายในของคุณ: กรณีขอบเขต ปัญหาทั่วไป ฯลฯ
* internal-platform-cli — ทุกคำสั่งย่อยของ CLI wrapper ภายในของคุณ พร้อมตัวอย่างเวลาใช้
* frontend-design — ทำให้ Claude เข้าใจระบบการออกแบบของคุณได้ดีขึ้น
2. การตรวจสอบผลิตภัณฑ์
Skills เหล่านี้อธิบายวิธีการทดสอบหรือตรวจสอบว่าโค้ดทำงานได้อย่างถูกต้องหรือไม่ พวกมันมักทำงานร่วมกับเครื่องมือภายนอก (เช่น Playwright, tmux ฯลฯ) เพื่อทำการตรวจสอบ
Skills การตรวจสอบมีประโยชน์มากในการทำให้แน่ใจว่า Claude ให้ผลลัพธ์ที่ถูกต้อง อาจคุ้มค่าที่จะให้วิศวกรใช้เวลาหนึ่งสัปดาห์ในการมุ่งเน้นปรับปรุงคุณภาพของ Skills การตรวจสอบ
พิจารณาใช้เทคนิค เช่น การให้ Claude บันทึกวิดีโอผลลัพธ์ เพื่อให้คุณเห็นได้อย่างชัดเจนว่ามันทดสอบอะไร หรือการบังคับให้มีการยืนยันสถานะแบบโปรแกรมในแต่ละขั้นตอน สิ่งเหล่านี้มักทำได้โดยการรวมสคริปต์ต่างๆ ไว้ใน Skills
ตัวอย่าง:
* signup-flow-driver — รันขั้นตอนการสมัครสมาชิก → ยืนยันอีเมล → เริ่มงาน ในเบราว์เซอร์แบบไม่มีส่วนต่อประสาน และยืนยันสถานะในแต่ละขั้นตอน
* checkout-verifier — ขับเคลื่อนอินเทอร์เฟซการชำระเงินด้วยบัตรทดสอบ Stripe ตรวจสอบว่าใบแจ้งหนี้ตกอยู่ในสถานะที่ถูกต้องจริงๆ
* tmux-cli-driver — สำหรับการทดสอบ CLI แบบโต้ตอบที่ต้องการ TTY
3. การดึงข้อมูลและการวิเคราะห์
Skills เหล่านี้เชื่อมต่อกับระบบข้อมูลและการตรวจสอบของคุณ Skills เหล่านี้อาจรวมถึงไลบรารีสำหรับดึงข้อมูลโดยใช้ข้อมูลประจำตัว รหัสแดชบอร์ดเฉพาะ ฯลฯ พร้อมคำอธิบายเวิร์กโฟลว์ทั่วไปหรือวิธีการดึงข้อมูล
ตัวอย่าง:
* funnel-query — “ฉันต้องการเหตุการณ์ใดบ้างเพื่อดูการสมัครสมาชิก → การเปิดใช้งาน → การชำระเงิน” และตารางที่รวม user_id มาตรฐานจริงๆ
* cohort-compare — เปรียบเทียบอัตราการคงอยู่หรือการแปลงของสองกลุ่ม ทำเครื่องหมายความแตกต่างที่มีนัยสำคัญทางสถิติ เชื่อมโยงไปยังคำจำกัดความของกลุ่มย่อย
* grafana — UID แหล่งข้อมูล ชื่อคลัสเตอร์ ตารางค้นหาแผงควบคุมจากปัญหา
4. กระบวนการทางธุรกิจและระบบอัตโนมัติสำหรับทีม
Skills เหล่านี้ทำให้เวิร์กโฟลว์ที่ซ้ำกันเป็นอัตโนมัติด้วยคำสั่งเดียว แม้ว่า Skills เหล่านี้มักจะเป็นคำสั่งที่ค่อนข้างง่าย แต่ก็อาจมีความซับซ้อนในการพึ่งพา ซึ่งเกี่ยวข้องกับ Skills อื่นๆ หรือ MCP (Multiple Control Points)
สำหรับ Skills เหล่านี้ การบันทึกผลลัพธ์ก่อนหน้าไว้ในไฟล์บันทึกจะช่วยให้โมเดลมีความสม่ำเสมอ และสะท้อนถึงการดำเนินการเวิร์กโฟลว์ก่อนหน้า
ตัวอย่าง:
* standup-post — สรุปตัวติดตามงานของคุณ กิจกรรม GitHub และเนื้อหา Slack → การประชุมยืนรายงานรูปแบบที่แสดงเฉพาะการเปลี่ยนแปลงเพิ่มเติม
* create–ticket — บังคับใช้รูปแบบ (ค่าที่ถูกต้องของ enum ฟิลด์ที่จำเป็น) และเวิร์กโฟลว์หลังสร้าง (แจ้งผู้ตรวจสอบ เชื่อมโยงใน Slack)
* weekly-recap — PR ที่รวมแล้ว + ตั๋วที่ปิดแล้ว + การปรับใช้ → รายงานสรุปรายสัปดาห์ที่จัดรูปแบบ
5. การสร้างโครงโค้ดและเทมเพลต
Skills เหล่านี้ใช้สำหรับสร้างเทมเพลตโครงสำหรับฟีเจอร์เฉพาะในฐานโค้ด คุณสามารถใช้ Skills เหล่านี้ร่วมกับสคริปต์ที่สามารถประกอบเข้าด้วยกันได้ พวกมันมีประโยชน์อย่างยิ่งเมื่อโครงสร้างของคุณมีข้อกำหนดที่เป็นภาษาธรรมชาติ ซึ่งไม่สามารถครอบคลุมได้ด้วยโค้ดเพียงอย่างเดียว
ตัวอย่าง:
* new–workflow — ใช้คำอธิบายประกอบของคุณสร้างโครงสำหรับบริการ / เวิร์กโฟลว์ / โปรเซสเซอร์ใหม่
* new-migration — เทมเพลตไฟล์การย้ายข้อมูลของคุณ และปัญหาทั่วไป
* create-app — แอปพลิเคชันภายในใหม่ ที่กำหนดค่าการรับรองความถูกต้อง การบันทึก และการปรับใช้ของคุณไว้ล่วงหน้า
6. คุณภาพโค้ดและการตรวจสอบ
Skills เหล่านี้บังคับใช้คุณภาพโค้ดในองค์กรของคุณและช่วยตรวจสอบโค้ด พวกมันสามารถรวมสคริปต์หรือเครื่องมือที่กำหนดได้ เพื่อให้มั่นใจในความแข็งแกร่งสูงสุด คุณอาจต้องการให้ Skills เหล่านี้ทำงานอัตโนมัติ เป็นส่วนหนึ่งของฮุคหรือใน GitHub Actions
ตัวอย่าง:
* adversarial-review — เปิดตัวเอเจนต์ย่อยที่มีมุมมองใหม่เพื่อวิจารณ์ ดำเนินการแก้ไข ทำซ้ำจนกว่าข้อเสนอแนะจะลดระดับลงเป็นข้อบกพร่องเล็กน้อย
* code-style — บังคับใช้สไตล์โค้ด โดยเฉพาะสไตล์ที่ Claude จัดการได้ไม่ดีโดยค่าเริ่มต้น
* testing-practices — คำแนะนำเกี่ยวกับวิธีการเขียนทดสอบและสิ่งที่จำเป็นต้องทดสอบ
7. CI/CD และการปรับใช้
7. การดำเนินการกับโค้ด
Skills เหล่านี้ช่วยให้คุณดำเนินการต่างๆ เช่น การดึง การส่ง และการปรับใช้โค้ดภายในฐานโค้ด พวกมันสามารถอ้างอิงถึง Skills อื่นๆ เพื่อรวบรวมข้อมูลที่จำเป็น
ตัวอย่าง:
* babysit-pr — ตรวจสอบ PR → ลองใหม่กับ CI ที่ไม่เสถียร → แก้ไขความขัดแย้งในการรวม → เปิดใช้งานการรวมอัตโนมัติ
* deploy — สร้าง → ทดสอบควัน → เปิดตัวปริมาณการใช้งานแบบค่อยเป็นค่อยไปพร้อมเปรียบเทียบอัตราความผิดพลาด → ย้อนกลับ
* cherry-pick-prod — แยกพื้นที่ทำงาน → สร้างการเลือกเชอร์รี่ → แก้ไขความขัดแย้ง → สร้าง PR พร้อมเทมเพลต
8. คู่มือปฏิบัติการ
Skills เหล่านี้ถูกทริกเกอร์โดยอาการ (เช่น เธรด Slack การแจ้งเตือน หรือลายเซ็นข้อผิดพลาด) ดำเนินการตรวจสอบด้วยเครื่องมือหลายอย่าง และสร้างรายงานการวินิจฉัยที่มีโครงสร้าง
ตัวอย่าง:
* debugging — จับคู่อาการ → เครื่องมือ → รูปแบบการสอบถาม สำหรับบริการที่มีปริมาณการใช้งานสูง
* oncall-runner — รับการแจ้งเตือน → ตรวจสอบปัญหาทั่วไป → จัดรูปแบบผลลัพธ์
* log-correlator — ดึงบันทึกที่ตรงกันจากระบบที่เกี่ยวข้องทั้งหมดตามรหัสคำขอที่กำหนด
9. การดำเนินงานโครงสร้างพื้นฐาน
Skills เหล่านี้ดำเนินขั้นตอนการบำรุงรักษาและการปฏิบัติงานตามปกติ ซึ่งบางส่วนเกี่ยวข้องกับการดำเนินการที่อาจสร้างความเสียหายและต้องการการป้องกัน พวกมันถูกออกแบบมาเพื่อช่วยให้นักวิศวกรรมปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด และหลีกเลี่ยงข้อผิดพลาดในการดำเนินการที่สำคัญ
ตัวอย่าง:
* clean-orphans — ค้นหา pods/volumes ที่ถูกทิ้ง → โพสต์ไปยัง Slack → ระยะเวลารอ → การยืนยันจากผู้ใช้ → การทำความสะอาดแบบต่อเนื่อง
* dependency-management — ดำเนินการเวิร์กโฟลว์การอนุมัติการพึ่งพาขององค์กรของคุณ
* cost-investigation — ตรวจสอบว่า “ทำไมบิลการจัดเก็บ/ปริมาณการใช้งานขาออกของเราจึงพุ่งสูงขึ้นอย่างกะทันหัน” และให้บักเก็ตและรูปแบบการสอบถามที่เฉพาะเจาะจง
เคล็ดลับในการสร้าง Skills

เมื่อคุณตัดสินใจที่จะสร้าง Skill แล้ว คุณจะเขียนมันอย่างไร? ต่อไปนี้คือแนวปฏิบัติที่ดีที่สุด เคล็ดลับ และเทคนิคบางส่วนที่เราได้สรุปไว้
อย่าบอกสิ่งที่เห็นได้ชัด
Claude Code มีความเข้าใจเกี่ยวกับฐานโค้ดและพื้นฐานการเขียนโค้ดของคุณในระดับหนึ่งแล้ว หาก Skill ของคุณมีจุดประสงค์หลักเพื่อถ่ายทอดความรู้ โฟกัสไปที่ข้อมูลที่สามารถทำให้ Claude ออกนอกกรอบการคิดปกติได้
ตัวอย่าง:
Skill “frontend-design” เป็นตัวอย่างที่ดี มันมีจุดมุ่งหมายเพื่อยกระดับรสนิยมการออกแบบของ Claude และหลีกเลี่ยงการใช้รูปแบบการออกแบบคลาสสิกบางอย่างที่อาจล้าสมัย
สร้างส่วน “กับดัก”

ใน Skill ใดๆ ส่วน “ปัญหาทั่วไป” เป็นหนึ่งในเนื้อหาที่มีค่าที่สุด ส่วนนี้ควรสร้างขึ้นจากจุดล้มเหลวทั่วไปที่ Claude พบเมื่อใช้ Skill นั้น โดยอุดมคติแล้ว คุณควรอัปเดต Skill ตามเวลา โดยรวมปัญหาเหล่านี้เข้าไปอย่างต่อเนื่อง เพื่อให้แน่ใจว่ามีประสิทธิภาพและความแม่นยำ
ใช้ประโยชน์จากระบบไฟล์และการเปิดเผยข้อมูลแบบค่อยเป็นค่อยไป

Skill คือโฟลเดอร์ ไม่ใช่แค่ไฟล์ Markdown คุณควรมองว่าระบบไฟล์ทั้งหมดเป็นวิธีการหนึ่งในการจัดการบริบทและการเปิดเผยข้อมูลแบบค่อยเป็นค่อยไป บอก Claude ว่า Skill ของคุณมีไฟล์อะไรบ้าง และมันจะอ่านไฟล์เหล่านั้นเมื่อถึงเวลาที่เหมาะสม
รูปแบบที่ง่ายที่สุดของการเปิดเผยข้อมูลแบบค่อยเป็นค่อยไปคือการชี้ไปยังไฟล์ Markdown อื่นๆ สำหรับ Claude ใช้ ตัวอย่างเช่น คุณสามารถแยกลายเซ็นฟังก์ชันโดยละเอียดและตัวอย่างการใช้งานออกไปไว้ใน references/api.md
อีกตัวอย่างหนึ่ง: หากผลลัพธ์สุดท้ายของคุณคือไฟล์ Markdown คุณสามารถรวมไฟล์เทมเพลตไว้ในโฟลเดอร์ assets/ เพื่อให้ Claude คัดลอกและใช้ได้
คุณสามารถสร้างโฟลเดอร์หลายโฟลเดอร์เพื่อเก็บเอกสารอ้างอิง สคริปต์ ตัวอย่าง ฯลฯ ซึ่งทั้งหมดนี้ช่วยให้ Claude ทำงานได้มีประสิทธิภาพมากขึ้น
หลีกเลี่ยงการ “ผูกมัด” Claude
Claude มักจะพยายามทำตามคำแนะนำของคุณ อย่างไรก็ตาม เนื่องจาก Skills มีความสามารถในการนำกลับมาใช้ใหม่ได้สูง คุณต้องระวังอย่าให้คำแนะนำเจาะจงเกินไป ให้ข้อมูลที่จำเป็นแก่ Claude ในขณะเดียวกันก็ปล่อยให้มีความยืดหยุ่นเพียงพอเพื่อปรับให้เข้ากับสถานการณ์ต่างๆ

คิดถึงการตั้งค่า Skill

Skills บางตัวอาจต้องการให้ผู้ใช้ให้ข้อมูลบริบทเพื่อทำการตั้งค่า ตัวอย่างเช่น หากคุณกำลังสร้าง Skill ที่โพสต์เนื้อหาการประชุมยืนไปยัง Slack คุณอาจต้องการให้ Claude ถามว่าจะโพสต์ไปยังช่อง Slack ไหน
วิธีปฏิบัติที่ดีวิธีหนึ่งคือการเก็บข้อมูลการตั้งค่าเหล่านี้ไว้ในไฟล์ config.json ภายในไดเรกทอรีของ Skill หากการกำหนดค่าไม่ได้ถูกตั้งค่าไว้ เอเจนต์สามารถแจ้งให้ผู้ใช้ให้ข้อมูลที่จำเป็นได้
หากคุณต้องการให้เอเจนต์นำเสนอคำ
⚠️ หมายเหตุ: เนื้อหาได้รับการแปลโดย AI และตรวจสอบโดยมนุษย์ หากมีข้อผิดพลาดโปรดแจ้ง
本文来自网络搜集,不代表คลื่นสร้างอนาคต立场,如有侵权,联系删除。转载请注明出处:http://www.itsolotime.com/th/archives/26703
