ขยายโหมด Agent ด้วยทักษะ

ทักษะช่วยให้คุณเพิ่มขีดความสามารถของโหมด Agent ด้วยความเชี่ยวชาญเฉพาะทางและเวิร์กโฟลว์ที่กำหนดเอง โดยอิงตามมาตรฐานเปิดของทักษะ Agent

ทักษะแสดงถึงความเชี่ยวชาญตามความต้องการ ซึ่งแตกต่างจากไฟล์ AGENTS.md โครงสร้างนี้ช่วยให้โหมด Agent รักษาความสามารถเฉพาะทางจำนวนมากไว้ได้ เช่น การย้ายข้อมูลระหว่างไลบรารีเวอร์ชันที่เฉพาะเจาะจงหรือการปรับให้คอมโพเนนต์เข้ากับขนาดหน้าจอต่างๆ โดยไม่ทำให้หน้าต่างบริบททันทีของโมเดลรก

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

หากต้องการเปิดใช้งานทักษะตามความต้องการ ให้ขอให้ Agent ทำงานที่เกี่ยวข้องกับทักษะนั้น นอกจากนี้ คุณยังป้อน @ ในกล่องรับข้อมูลเพื่อเรียกใช้ทักษะที่เฉพาะเจาะจงได้ด้วย

สิทธิประโยชน์ที่สำคัญ

  • ความเชี่ยวชาญที่แชร์: จัดแพ็กเกจเวิร์กโฟลว์ที่ซับซ้อน (เช่น กระบวนการตรวจสอบคำขอรวมโค้ดของทีมที่เฉพาะเจาะจง) ลงในโฟลเดอร์เฉพาะที่ทุกคนใช้ได้
  • เวิร์กโฟลว์ที่ทำซ้ำได้: ทำให้มั่นใจว่างานที่ซับซ้อนและมีหลายขั้นตอนจะดำเนินการอย่างสม่ำเสมอโดยให้คำแนะนำมาตรฐาน
  • การจัดกลุ่มทรัพยากร: รวมสคริปต์ เทมเพลต หรือข้อมูลตัวอย่างไว้ในคำแนะนำเพื่อให้ Agent มีทุกสิ่งที่จำเป็นในที่เดียว
  • การใช้หน้าต่างบริบทอย่างมีประสิทธิภาพ: ระบบจะโหลดเฉพาะข้อมูลเมตาของทักษะ (ชื่อและคำอธิบาย) ในตอนแรกเพื่อประหยัดโทเค็นบริบท ระบบจะโหลดไฟล์ SKILL.md ทั้งหมดเมื่อเปิดใช้งานเท่านั้น ไฟล์สนับสนุนภายในไดเรกทอรี references/, scripts/ หรือ assets/ จะโหลดลงในบริบทเมื่อ Agent ต้องการไฟล์เหล่านั้นโดยเฉพาะเท่านั้น

สร้างทักษะของคุณเอง

Agent จะมองหาทักษะโดยเริ่มจากไดเรกทอรี .skills/ หรือ .agent/skills/ ที่อยู่ในรูทของโปรเจ็กต์ หากต้องการสร้างทักษะที่กำหนดเอง ให้ทำตามขั้นตอนต่อไปนี้

  1. สร้างไดเรกทอรี สำหรับทักษะ (เช่น my-new-skill/)
  2. สร้างไฟล์ 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