ทักษะช่วยให้คุณเพิ่มขีดความสามารถของโหมด Agent ด้วยความเชี่ยวชาญเฉพาะทางและเวิร์กโฟลว์ที่กำหนดเอง โดยอิงตามมาตรฐานเปิดของทักษะ Agent
ทักษะแสดงถึงความเชี่ยวชาญตามความต้องการ ซึ่งแตกต่างจากไฟล์ AGENTS.md โครงสร้างนี้ช่วยให้โหมด Agent รักษาความสามารถเฉพาะทางจำนวนมากไว้ได้ เช่น การย้ายข้อมูลระหว่างไลบรารีเวอร์ชันที่เฉพาะเจาะจงหรือการปรับให้คอมโพเนนต์เข้ากับขนาดหน้าจอต่างๆ โดยไม่ทำให้หน้าต่างบริบททันทีของโมเดลรก
โมเดลจะตัดสินใจเองว่าจะใช้ทักษะเมื่อใดโดยพิจารณาจากคำขอและคำอธิบายของทักษะ เมื่อระบุทักษะที่เกี่ยวข้องได้ โมเดลจะดึงคำแนะนำและทรัพยากรทั้งหมดที่จำเป็นต่อการทำงานให้เสร็จสมบูรณ์แบบไดนามิก
หากต้องการเปิดใช้งานทักษะตามความต้องการ ให้ขอให้ Agent ทำงานที่เกี่ยวข้องกับทักษะนั้น นอกจากนี้ คุณยังป้อน @ ในกล่องรับข้อมูลเพื่อเรียกใช้ทักษะที่เฉพาะเจาะจงได้ด้วย
สิทธิประโยชน์ที่สำคัญ
- ความเชี่ยวชาญที่แชร์: จัดแพ็กเกจเวิร์กโฟลว์ที่ซับซ้อน (เช่น กระบวนการตรวจสอบคำขอรวมโค้ดของทีมที่เฉพาะเจาะจง) ลงในโฟลเดอร์เฉพาะที่ทุกคนใช้ได้
- เวิร์กโฟลว์ที่ทำซ้ำได้: ทำให้มั่นใจว่างานที่ซับซ้อนและมีหลายขั้นตอนจะดำเนินการอย่างสม่ำเสมอโดยให้คำแนะนำมาตรฐาน
- การจัดกลุ่มทรัพยากร: รวมสคริปต์ เทมเพลต หรือข้อมูลตัวอย่างไว้ในคำแนะนำเพื่อให้ Agent มีทุกสิ่งที่จำเป็นในที่เดียว
- การใช้หน้าต่างบริบทอย่างมีประสิทธิภาพ: ระบบจะโหลดเฉพาะข้อมูลเมตาของทักษะ (ชื่อและคำอธิบาย) ในตอนแรกเพื่อประหยัดโทเค็นบริบท ระบบจะโหลดไฟล์
SKILL.mdทั้งหมดเมื่อเปิดใช้งานเท่านั้น ไฟล์สนับสนุนภายในไดเรกทอรีreferences/,scripts/หรือassets/จะโหลดลงในบริบทเมื่อ Agent ต้องการไฟล์เหล่านั้นโดยเฉพาะเท่านั้น
สร้างทักษะของคุณเอง
Agent จะมองหาทักษะโดยเริ่มจากไดเรกทอรี .skills/ หรือ .agent/skills/ ที่อยู่ในรูทของโปรเจ็กต์ หากต้องการสร้างทักษะที่กำหนดเอง ให้ทำตามขั้นตอนต่อไปนี้
- สร้างไดเรกทอรี สำหรับทักษะ (เช่น
my-new-skill/) - สร้างไฟล์
SKILL.md(คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) ภายในไดเรกทอรีใหม่
ทักษะต้องเป็นไปตามกฎต่อไปนี้
- 1 ไดเรกทอรีต่อ 1 ทักษะ: ทักษะแต่ละอย่างต้องมีไดเรกทอรีที่ไม่ซ้ำกันของตัวเอง
ซึ่งรวมถึงไฟล์
SKILL.mdและ ทรัพยากรเพิ่มเติม - การซ้อน: ทักษะทั้งหมดต้องอยู่ในไดเรกทอรี
.skills/หรือ.agent/skills/ที่รูทของโปรเจ็กต์ อย่างไรก็ตาม คุณสามารถใช้ไดเรกทอรีย่อยเพื่อการจัดระเบียบที่ดีขึ้นได้ (เช่นskills/ui-flows/<skill name>/SKILL.mdหรือskills/testing/<skill name>/SKILL.md) - ขอบเขต: ปัจจุบันระบบรองรับเฉพาะทักษะที่อยู่ในฐานของโค้ดของโปรเจ็กต์
ไฟล์ SKILL.md ใช้บล็อก YAML สำหรับข้อมูลเมตาและ Markdown มาตรฐานสำหรับคำแนะนำ
name: ตัวระบุที่ไม่ซ้ำกันสำหรับทักษะ ซึ่งควรตรงกับชื่อไดเรกทอรีdescription: คำอธิบายที่ชัดเจนเกี่ยวกับสิ่งที่ทักษะทำและเวลาที่ Agent ควรใช้ทักษะ- เนื้อหา: เนื้อหา Markdown ใต้บล็อก YAML มีคำแนะนำที่กำหนดลักษณะการทำงานของ Agent เมื่อทักษะทำงานอยู่
---
name: skill-name
description: A description of what this skill does and when to use it.
metadata:
author: example-org
version: "1.0"
---
Skill content
หลักเกณฑ์รูปแบบ
- ชื่อ: สูงสุด 64 อักขระ (ตัวอักษรพิมพ์เล็ก ตัวเลข และยัติภังค์เท่านั้น)
- คำอธิบาย: สูงสุด 1024 อักขระ
- เนื้อหา: ตั้งเป้าไว้ที่ 10,000-20,000 อักขระ (~2,500-5,000 โทเค็น) หากคำแนะนำยาวเกินกว่านี้ ให้พิจารณาย้ายเอกสารประกอบโดยละเอียดไปยังไฟล์ทรัพยากรตามที่อธิบายไว้ใน ไดเรกทอรีทักษะที่ไม่บังคับ
ไดเรกทอรีทักษะที่ไม่บังคับ
คุณสามารถใส่ทรัพยากรเพิ่มเติมในไดเรกทอรีที่ไม่บังคับต่อไปนี้ภายในโฟลเดอร์ของทักษะเพื่อให้ไฟล์ SKILL.md กระชับและเป็นโมดูล
scripts/: มีโค้ดที่เรียกใช้งานได้ (เช่น Python หรือ Bash) ที่ Agent สามารถเรียกใช้ได้references/: มีเอกสารประกอบทางเทคนิคโดยละเอียด ข้อมูลอ้างอิง API หรือคำแนะนำเฉพาะโดเมนassets/: มีทรัพยากรแบบคงที่ เช่น เทมเพลตเอกสาร ไดอะแกรม UI หรือสคีมา JSON
เมื่ออ้างอิงไฟล์เหล่านี้ภายในคำแนะนำ SKILL.md ให้ใช้เส้นทางแบบสัมพัทธ์จากรูทของทักษะ เช่น Run the script at scripts/cleanup.py