Agent Skills คืออะไร ทำงานอย่างไร และต่างจาก MCP อย่างไร
ทำความเข้าใจโครงสร้าง Agent Skills ที่ใช้ไฟล์ SKILL.md ในการจัดการคำสั่ง ช่วยลดภาระของ Prompt ขนาดใหญ่และเพิ่มประสิทธิภาพการทำงานให้แม่นยำกว่าการใช้ MCP ทั่วไป
ทักษะของเอเจนต์คืออะไร
ทักษะของเอเจนต์คือโฟลเดอร์บนดิสก์ที่มีไฟล์ชื่อ SKILL.md อยู่ภายใน ไฟล์ดังกล่าวประกอบด้วยชื่อ คำอธิบายโดยย่อ และคำสั่งที่เขียนด้วยรูปแบบ markdown ปกติ เอเจนต์จะโหลดคำอธิบายเมื่อเริ่มทำงาน และจะอ่านคำสั่งก็ต่อเมื่อคำขอของคุณตรงกับคำอธิบายนั้นเท่านั้น เกือบทุกอย่างเกี่ยวกับทักษะล้วนเป็นผลมาจากสองประโยคนี้
โฟลเดอร์อาจมีไฟล์อื่นนอกเหนือจากไฟล์เดียวนี้ ข้อกำหนด Agent Skills ระบุไดเรกทอรีทางเลือกไว้ 3 รายการ ได้แก่ scripts/ สำหรับโค้ดที่เอเจนต์เรียกใช้ references/ สำหรับเอกสารที่เอเจนต์อ่านเมื่อจำเป็น และ assets/ สำหรับเทมเพลตและข้อมูล ทั้งหมดนี้ไม่จำเป็นต้องมีก็ได้ โฟลเดอร์ที่ไม่มีอะไรเลยนอกจาก SKILL.md ก็ถือเป็นทักษะที่สมบูรณ์แล้ว
restore-drill/
SKILL.md
references/retention-policy.md
scripts/verify_snapshot.shคำอธิบายเป็นส่วนที่ผู้คนมักประเมินค่าต่ำไป มันเป็นข้อความเดียวที่เอเจนต์เห็นก่อนที่จะตัดสินใจว่าจะเปิดใช้ทักษะนั้นหรือไม่ ดังนั้นมันจึงต้องระบุว่าทักษะนั้นทำอะไรและควรใช้เมื่อใด โดยใช้คำที่คนทั่วไปพิมพ์จริง ๆ
เหตุผลที่ทักษะแทบไม่มีต้นทุนจนกว่าจะถูกเรียกใช้งาน
นี่คือเหตุผลที่ทำให้รูปแบบนี้คุ้มค่าที่จะทำความเข้าใจ และมันเป็นเรื่องของบริบท ไม่ใช่เรื่องของฟีเจอร์ การโหลดข้อมูลจะเกิดขึ้นเป็นลำดับขั้น ซึ่งในข้อกำหนดเรียกว่าการเปิดเผยข้อมูลแบบก้าวหน้า (progressive disclosure)
เมื่อเริ่มต้นทำงาน เอเจนต์จะโหลด name และ description ของทุกทักษะที่ติดตั้งไว้เท่านั้น ข้อกำหนด Agent Skills ระบุว่าใช้โทเค็นประมาณ 100 โทเค็นต่อหนึ่งทักษะ (ตามคำแนะนำที่เผยแพร่ ณ เดือนสิงหาคม 2026) หากติดตั้งทักษะไว้หนึ่งโหล คุณจะใช้พื้นที่บริบทไปเพียงเท่ากับย่อหน้ายาวๆ หนึ่งย่อหน้าเท่านั้น
เมื่อคำขอตรงกับคำอธิบาย เอเจนต์จะอ่านเนื้อหาของ SKILL.md นั้นเพียงตัวเดียว ข้อกำหนดแนะนำให้รักษาเนื้อหาไว้ไม่เกิน 5,000 โทเค็นและไฟล์ไม่เกิน 500 บรรทัด ไฟล์ใน references/ และ scripts/ จะยังไม่มีต้นทุนในขั้นตอนนี้ ไฟล์อ้างอิงจะถูกโหลดก็ต่อเมื่อคำสั่งระบุให้เอเจนต์ไปที่ไฟล์นั้น ส่วนสคริปต์ที่รวมมา (bundled script) จะมีลักษณะต่างออกไป คือเอเจนต์จะรันผ่านเชลล์ ดังนั้นซอร์สโค้ดของสคริปต์จะไม่เข้าสู่หน้าต่างบริบท จะมีเพียงผลลัพธ์เท่านั้นที่ถูกนำเข้ามา
ลองเปรียบเทียบกับสิ่งที่ผู้คนมักเลือกใช้เป็นอันดับแรก นั่นคือการเขียนพรอมต์ขนาดใหญ่เพียงอันเดียว ทุกบรรทัดในพรอมต์ระบบหรือไฟล์คำสั่งที่ทำงานตลอดเวลาจะต้องเสียค่าใช้จ่ายในทุกคำขอและทุกเซสชัน ไม่ว่างานนั้นจะจำเป็นต้องใช้หรือไม่ก็ตาม และมันยังแย่งพื้นที่ความสนใจไปจากคำถามจริงอีกด้วย คำสั่งที่ยาวหนึ่งหมื่นโทเค็นคือค่าใช้จ่ายที่คุณต้องจ่ายแม้แต่ตอนที่ถามว่าตอนนี้กี่โมงแล้ว ทักษะหนึ่งโหลมีต้นทุนประมาณ 1,200 โทเค็นในสถานะพัก และจะขยายขนาดเฉพาะงานที่จำเป็นต้องใช้เท่านั้น นี่คือเหตุผลทั้งหมดที่สนับสนุนการใช้ทักษะ และเป็นเหตุผลว่าทำไมคลังทักษะขนาดเล็กจึงดีกว่าพรอมต์ที่ยาวเหยียด
มีข้อควรระวังประการหนึ่งที่มักทำให้คนเข้าใจผิด เมื่อทักษะถูกโหลดแล้ว เนื้อหาของมันจะยังคงอยู่ในบริบทตลอดช่วงเวลาที่เหลือของเซสชัน ดังนั้น SKILL.md ที่ยาวจึงเป็นต้นทุนที่เกิดขึ้นซ้ำ ไม่ใช่จ่ายเพียงครั้งเดียว การย้ายรายละเอียดไปไว้ใน references/ ไม่ใช่แค่การจัดระเบียบ แต่เป็นกลไกที่ทำงานตามที่ออกแบบไว้
ทักษะของเอเจนต์ไม่ใช่การเรียกใช้เครื่องมือ
เครื่องมือ (tool) หรือที่เรียกอีกอย่างว่าการเรียกใช้ฟังก์ชัน (function call) คือสิ่งที่โมเดลสามารถเรียกใช้งานได้ ระบบจะส่ง schema ไปให้โมเดล ซึ่งประกอบด้วยชื่อ คำอธิบาย และรูปแบบของอาร์กิวเมนต์ จากนั้นโมเดลจะส่งคำสั่งเรียกใช้งานออกมา โค้ดของคุณจะดำเนินการตามนั้น และผลลัพธ์จะถูกส่งกลับมาในรูปแบบข้อความ เครื่องมือมีไว้เพื่อทำงานบางอย่าง
ทักษะ (skill) ไม่ได้ดำเนินการใดๆ ด้วยตัวมันเอง เอเจนต์จะอ่านทักษะเหล่านั้นแล้วจึงลงมือทำโดยใช้เครื่องมือที่มีอยู่เดิม โมเดลไม่สามารถส่งอาร์กิวเมนต์ไปยังทักษะในลักษณะเดียวกับที่ส่งไปยังเครื่องมือได้ สิ่งที่ทักษะทำได้คือการบอกโมเดลว่าควรใช้เครื่องมือใด ตามลำดับอย่างไร และควรตรวจสอบสิ่งใดหลังจากนั้น
สรุปสั้นๆ คือ เครื่องมือช่วยเพิ่มความสามารถใหม่ให้กับเอเจนต์ ส่วนทักษะช่วยเพิ่มวิจารณญาณในการใช้ความสามารถที่มีอยู่เดิม หากขั้นตอนใดจำเป็นต้องได้ผลลัพธ์ที่ถูกต้องและผ่านการตรวจสอบทุกครั้ง คุณควรใช้เครื่องมือหรือสคริปต์ แต่หากขั้นตอนใดต้องการกระบวนการคิดที่สม่ำเสมอ คุณควรใช้ทักษะ ทักษะอาจเป็นเพียงเรื่องของวิจารณญาณ แต่ก็ยังเป็นสิ่งที่คุณจะเลือกใช้บ่อยที่สุด ดังที่แสดงให้เห็นใน Ponytail ซึ่งผลักดันให้เอเจนต์เขียนโค้ดโดยทำการเปลี่ยนแปลงที่เล็กที่สุดเท่าที่จะทำได้ โดยทักษะนี้ไม่ได้เพิ่มความสามารถใหม่ แต่เปลี่ยนวิธีการที่เอเจนต์ใช้ความสามารถที่มีอยู่เดิมเท่านั้น
ทักษะของเอเจนต์ไม่ใช่ MCP server
MCP (model context protocol) คือโปรโตคอลสำหรับเชื่อมต่อเอเจนต์เข้ากับระบบภายนอก MCP server เป็นกระบวนการทำงาน (process) ที่สื่อสารด้วยโปรโตคอลดังกล่าวและเปิดเผยเครื่องมือ (tools) ให้เอเจนต์ใช้งาน โดยปกติแล้วจำเป็นต้องมีการตั้งค่า ข้อมูลรับรอง (credentials) และต้องใช้คำสั่งในเครื่องหรือ endpoint บนเครือข่าย ในขณะที่ทักษะ (skill) เป็นเพียงโฟลเดอร์ที่มีไฟล์ markdown อยู่ภายในเท่านั้น ซึ่งไม่มีกระบวนการทำงาน ไม่มีพอร์ต และไม่มีโปรโตคอลใดๆ
ต้นทุนด้านบริบท (context cost) ก็มีความแตกต่างในลักษณะเดียวกัน เครื่องมือทุกอย่างที่ MCP server เปิดเผยจะมีชื่อ คำอธิบาย และ schema ของอาร์กิวเมนต์ ซึ่งโดยค่าเริ่มต้นข้อมูลเหล่านี้จะอยู่ในคำขอ (request) ตลอดทั้งเซสชันไม่ว่าจะมีการใช้งานหรือไม่ก็ตาม แม้ว่าไคลเอนต์บางตัวจะเริ่มดึงข้อมูล schema ของเครื่องมือตามความต้องการแล้ว แต่การโหลดข้อมูลทั้งหมดไว้ล่วงหน้ายังคงเป็นกรณีปกติ ในขณะที่ทักษะที่ไม่ได้ถูกเรียกใช้งานจะเป็นเพียงข้อความบรรทัดเดียวเท่านั้น
ทั้งสองอย่างนี้เป็นส่วนเติมเต็มซึ่งกันและกัน และการตั้งค่าที่มีประสิทธิภาพสูงสุดคือการใช้งานทั้งสองอย่างควบคู่กัน MCP server ทำหน้าที่จัดหาการเข้าถึง ส่วนทักษะทำหน้าที่จัดหาขั้นตอนการทำงาน: ว่าควรเรียกใช้เครื่องมือใดสำหรับเวิร์กโฟลว์จริงของทีมคุณ ควรเรียกตามลำดับอย่างไร และผลลัพธ์ที่ดีควรเป็นอย่างไร หากคุณต้องการโฮสต์ระบบด้วยตนเอง การรัน MCP servers บน VPS จะครอบคลุมเนื้อหาในส่วนนั้น
ทักษะของ Agent ไม่ใช่ system prompt หรือไฟล์ AGENTS.md
ทั้งสองอย่างเป็นคำสั่งในรูปแบบ markdown จึงไม่แปลกที่จะเกิดความสับสน ความแตกต่างอยู่ที่ช่วงเวลาในการโหลด โดย AGENTS.md, CLAUDE.md และ system prompt จะทำงานอยู่ตลอดเวลา ในขณะที่ทักษะ (skill) จะถูกเรียกใช้เมื่อต้องการเท่านั้น
วิธีทดสอบคือให้ถามคำถามเดียวว่า: การละเลยย่อหน้านี้จะส่งผลเสียต่องานที่ไม่เกี่ยวข้องกับมันหรือไม่? รูปแบบการเขียน (house style), คำสั่ง build และกฎการตั้งชื่อ branch นั้นใช้กับทุกงาน จึงควรอยู่ในไฟล์ที่ทำงานตลอดเวลา เพราะการโหลดทุกครั้งคือจุดประสงค์หลัก แต่รายการตรวจสอบการ release (release checklist) ที่คุณทำเดือนละ 2 ครั้งนั้นไม่ได้ใช้กับทุกงาน จึงควรอยู่ในทักษะ เมื่อส่วนใดส่วนหนึ่งของไฟล์ที่ทำงานตลอดเวลาของคุณขยายตัวจนกลายเป็นขั้นตอนที่มีลำดับเลข นั่นคือสัญญาณว่าควรย้ายส่วนนั้นออกไป
ไฟล์เหล่านั้นมีธรรมเนียมปฏิบัติของตัวเองที่ควรทำให้ถูกต้อง ดูข้อมูลเพิ่มเติมได้ที่ สิ่งที่ควรอยู่ใน AGENTS.md และสิ่งที่ควรอยู่ในไฟล์สำหรับมนุษย์ และ ไฟล์ design.md ที่อธิบายโครงสร้างของ codebase สำหรับไฟล์ทั้งสองประเภทที่เราใช้งาน
ทักษะขั้นต่ำมีลักษณะอย่างไร
ใน Claude Code ทักษะส่วนบุคคลจะอยู่ใน ~/.claude/skills/<name>/SKILL.md และมีผลกับทุกโปรเจกต์ของคุณ ส่วนทักษะระดับโปรเจกต์จะอยู่ใน .claude/skills/<name>/SKILL.md และถูก commit ลง git เพื่อให้ทุกคนและทุก agent ที่ทำงานใน repository นั้นใช้งานได้เหมือนกัน ทั้งนี้ GitHub Copilot และ VS Code จะอ่านทักษะระดับ workspace จาก .github/skills/ แทน ซึ่งไฟล์ที่อยู่ภายในเป็นไฟล์เดียวกัน
mkdir -p ~/.claude/skills/restore-drill---
name: restore-drill
description: Run a restic restore drill and report what was recovered. Use when the user asks to test backups, verify a restore, or check that a snapshot is readable.
---
# Restore drill
1. Run `restic snapshots` and pick the newest snapshot for the host in question.
2. Restore it into a scratch directory under `/tmp`, never over live data.
3. Compare the restored file count and total size against the snapshot summary.
4. Report the snapshot ID and anything that failed to restore.
If `restic snapshots` prints `Fatal: unable to open config file`, the repository path or the password is wrong. Stop and report that instead of guessing.นั่นคือทักษะที่สมบูรณ์ ชื่อไดเรกทอรีจะกลายเป็นคำสั่งที่คุณพิมพ์ ดังนั้นทักษะนี้จึงเป็น /restore-drill ใน Claude Code เมนู /skills จะแสดงรายการสิ่งที่ติดตั้งไว้ ซึ่งเป็นวิธีที่เร็วที่สุดในการยืนยันว่าระบบตรวจพบไฟล์แล้ว หากไม่พบในเมนู แสดงว่าชื่อไม่ถูกต้อง ไฟล์ต้องมีชื่อว่า SKILL.md และชื่อไดเรกทอรีต้องเป็นตัวอักษรพิมพ์เล็ก ตัวเลข และเครื่องหมายยัติภังค์ (hyphen) เท่านั้น ขั้นตอนเดียวกันนี้หากเขียนเป็นกระบวนการที่ agent ของคุณสามารถรันซ้ำได้ จะเป็นสิ่งที่ใช้ควบคู่กันได้ดีกับ การสำรองข้อมูลด้วย restic ตามกำหนดเวลาบน VPS ซึ่งการรันการสำรองข้อมูลกับการกู้คืนข้อมูลนั้นไม่ใช่สิ่งเดียวกัน
เมื่อใดที่ทักษะควรเปลี่ยนเป็นสคริปต์
ขั้นตอนใดก็ตามที่มีคำตอบที่ถูกต้องเพียงคำตอบเดียวเสมอ ควรเปลี่ยนให้เป็นสคริปต์ โดยลดทอนทักษะดังกล่าวให้เหลือเพียงคำสั่งไม่กี่บรรทัดที่ระบุว่าควรเรียกใช้เมื่อใดและจะอ่านผลลัพธ์อย่างไร เหตุผลมีอยู่สองประการและเป็นเรื่องของการปฏิบัติจริงทั้งสิ้น
ประการแรก ซอร์สโค้ดของสคริปต์จะไม่ถูกนำเข้าสู่ context window ของโมเดล ตัวแยกวิเคราะห์ (parser) ความยาว 300 บรรทัดจะใช้พื้นที่เพียงแค่ผลลัพธ์ที่ได้เท่านั้น ในขณะที่ตรรกะเดียวกันหากเขียนเป็นคำแนะนำในรูปแบบ markdown จะต้องใช้พื้นที่เต็มความยาวของมันทุกครั้งที่โหลดทักษะขึ้นมา
ประการที่สอง สคริปต์จะให้คำตอบที่เหมือนเดิมทุกครั้ง หากขอให้โมเดลวิเคราะห์กฎการแยก log เดิมซ้ำทุกครั้งที่รัน โมเดลอาจให้ผลลัพธ์ที่แตกต่างกันเล็กน้อยในวันที่ประสิทธิภาพไม่ดี และคุณจะไม่สังเกตเห็นจนกว่าตัวเลขสองชุดจะไม่ตรงกัน
ดังนั้น ให้แบ่งงานตามประเภท "แยกวิเคราะห์ไฟล์ CSV และพิมพ์ทุกแถวที่ยอดรวมไม่ตรงกับรายการย่อย" คือหน้าที่ของสคริปต์ ส่วน "ดูแถวที่สคริปต์พิมพ์ออกมาแล้วอธิบายว่าแถวใดดูเหมือนเป็นความผิดพลาดจากการป้อนข้อมูล" คือคำแนะนำเชิงทักษะ การเก็บส่วนของการตัดสินใจไว้ใน markdown และส่วนของความแน่นอนไว้ในโค้ด คือระเบียบวินัยเดียวกันกับการ สร้างลูปที่เอเจนต์สามารถรันได้โดยที่คุณไม่ต้องคอยเฝ้าดู
เหตุใดทักษะของฉันจึงไม่ทำงานเสียที
เพราะ description ของคุณระบุเพียงว่าทักษะทำหน้าที่อะไร แต่ไม่ได้ระบุว่าควรใช้เมื่อใด ข้อความบรรทัดเดียวนั้นคือสิ่งที่เอเจนต์ใช้จับคู่กับคำขอของคุณ "ช่วยงานด้านฐานข้อมูล" ไม่ได้จับคู่กับสิ่งใดเป็นพิเศษ แต่ "เรียกใช้การย้ายโครงสร้างฐานข้อมูล (schema migration) กับฐานข้อมูล staging ให้ใช้เมื่อผู้ใช้ขอให้ย้ายตาราง เพิ่มคอลัมน์ หรือเปลี่ยนแปลงโครงสร้าง" มีคำที่ผู้ใช้พิมพ์จริง จึงทำให้ทักษะทำงานได้
ความล้มเหลวในทางตรงกันข้ามคือทักษะที่ทำงานตลอดเวลา คำอธิบายเช่น "ใช้สำหรับการเปลี่ยนแปลงโค้ดใดๆ ใน repository นี้" จะจับคู่กับทุกอย่าง ทำให้ตัวทักษะถูกโหลดเข้าสู่ทุกงานและค้างอยู่ในบริบทตลอดทั้งเซสชัน ให้จำกัดขอบเขตคำอธิบายให้แคบลงตามกรณีการใช้งานที่คุณต้องการ ใน Claude Code คุณยังสามารถตั้งค่า disable-model-invocation: true ในส่วน frontmatter ซึ่งจะหยุดการโหลดอัตโนมัติและคงทักษะไว้ให้เรียกใช้ได้เมื่อคุณพิมพ์ชื่อทักษะเท่านั้น
ความล้มเหลวประการที่สามคือทักษะที่ซ้ำซ้อนกับเครื่องมือที่มีอยู่แล้ว คำสั่งที่บอกให้เอเจนต์ curl API ที่เซิร์ฟเวอร์ MCP ของมันเปิดใช้งานอยู่แล้ว หรือการใช้ grep ค้นหาไฟล์ในขณะที่ระบบมีเครื่องมือค้นหาอยู่แล้ว จะทำให้คุณได้เส้นทางที่ช้าลงและชุดคำสั่งสองชุดที่อาจขัดแย้งกันเอง ให้ลบทักษะที่ซ้ำซ้อนออกแล้วอธิบายถึงเจตนาแทน
อย่าเดาว่าคุณกำลังเจอปัญหาใดในสามข้อนี้ ให้รัน prompt เดิมสองครั้งในเซสชันใหม่ ครั้งหนึ่งโดยเปิดใช้งานทักษะและอีกครั้งโดยปิดใช้งานทักษะ จากนั้นเปรียบเทียบคำตอบที่ได้ เซสชันใหม่มีความสำคัญเพราะเซสชันที่คุณเขียนทักษะไว้นั้นมีข้อมูลทุกอย่างที่ทักษะระบุอยู่แล้ว ซึ่งจะบดบังช่องโหว่ในเวอร์ชันที่เขียนไว้ ปลั๊กอิน skill-creator ของ Anthropic จะช่วยทำขั้นตอนการเปรียบเทียบนี้โดยอัตโนมัติภายใน Claude Code รวมถึงการสร้าง prompt ที่ควรและไม่ควรเรียกใช้ทักษะ และวัดผลว่าแต่ละ prompt เรียกใช้ทักษะบ่อยเพียงใด
รูปแบบนี้เป็นของผู้จำหน่ายรายเดียวหรือเป็นมาตรฐานสากล
Anthropic เผยแพร่รูปแบบนี้ในช่วงปลายปี 2025 จากนั้นจึงปล่อยออกมาเป็นมาตรฐานเปิดที่โฮสต์ไว้บน agentskills.io ณ เดือนสิงหาคม 2026 ข้อกำหนดดังกล่าวได้ระบุฟิลด์ที่จำเป็นคือ name และ description, ฟิลด์ทางเลือกคือ license, compatibility, metadata และ allowed-tools, ไดเรกทอรีทางเลือกสามรายการ และพฤติกรรมการโหลดแบบแบ่งขั้นตอน นอกจากนี้ยังมีการจัดส่งตัวตรวจสอบความถูกต้องอ้างอิงมาให้ด้วย ดังนั้น skills-ref validate ./my-skill จึงสามารถตรวจสอบโฟลเดอร์เทียบกับข้อกำหนดก่อนที่คุณจะแชร์โฟลเดอร์นั้นได้
รายการไคลเอนต์คือตัวบ่งชี้ที่แท้จริง โฟลเดอร์เดียวกันนี้สามารถอ่านได้โดย Claude Code, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands และ opencode รวมถึงโปรแกรมอื่นๆ Microsoft เผยแพร่ทักษะของตนเองในรูปแบบนี้ที่ github.com/microsoft/skills และจัดส่งเครื่องมือเดสก์ท็อปที่เรียกว่า Skill Recorder ซึ่งจะคอยเฝ้าดูคุณทำงานหนึ่งอย่างจนเสร็จสิ้น จากนั้นจะสร้างงานนั้นขึ้นมาใหม่ในรูปแบบของเจตนา (intent) บวกกับขั้นตอนที่เรียงลำดับไว้ และเขียนผลลัพธ์ออกมาเป็นทักษะ การที่ผู้จำหน่ายสร้างเครื่องมือบันทึกที่ผลลัพธ์มีรูปแบบตรงตามข้อกำหนดของผู้อื่น ถือเป็นสัญญาณที่ดีว่ารูปแบบนี้ไม่ได้เป็นเพียงฟีเจอร์ของผลิตภัณฑ์ใดผลิตภัณฑ์หนึ่งอีกต่อไป
สิ่งที่ควรเขียนเป็นอันดับแรก
อย่าเพิ่งวางแผนสร้างคลังความรู้ ให้รอจนกว่าคุณจะพบว่าตนเองกำลังคัดลอกคำสั่งเดิมๆ ลงในแชทเป็นครั้งที่ 3 แล้วจึงย้ายข้อความนั้นไปไว้ใน SKILL.md และลบสิ่งที่คัดลอกไว้นั้นทิ้งไป การทำซ้ำที่คุณรู้สึกได้ด้วยตนเองเป็นตัวกระตุ้นที่เชื่อถือได้เพียงอย่างเดียวสำหรับทักษะที่ควรค่าแก่การเก็บรักษา ขั้นตอนการค้นหาเป็นทักษะแรกที่ดี และ ทักษะการค้นหาที่สนับสนุนโดยอินสแตนซ์ SearXNG ของคุณเอง จะแสดงให้เห็นถึงรูปแบบดังกล่าว
นิสัย 2 ประการที่จะช่วยให้คลังความรู้มีคุณภาพคือ ให้อ่านทักษะทุกอย่างที่คุณไม่ได้เขียนเองก่อนที่จะติดตั้ง รวมถึงสคริปต์ต่างๆ ด้วย เพราะทักษะคือชุดคำสั่งที่เอเจนต์ของคุณจะปฏิบัติตามและเป็นโค้ดที่มันอาจจะรัน ให้ปฏิบัติกับมันเหมือนกับการติดตั้งซอฟต์แวร์จากคนแปลกหน้า และอย่าเก็บข้อมูลรับรอง (credentials) ไว้ในโฟลเดอร์นั้น เนื่องจากทักษะเป็นเพียงไฟล์ข้อความที่ถูกคอมมิตและแชร์ต่อได้ การเก็บความลับให้ห่างจากเอเจนต์ของคุณ จะครอบคลุมถึงตำแหน่งที่ควรจัดเก็บค่าเหล่านั้นแทน และ แผนผังการเรียนรู้สำหรับเอเจนต์ในปีนี้ จะช่วยจัดลำดับทักษะต่างๆ ให้สอดคล้องกับส่วนที่เหลือของการตั้งค่าระบบ
FAQ
ทักษะของเอเจนต์ (agent skill) กับ MCP server แตกต่างกันอย่างไร
MCP (model context protocol) server คือกระบวนการ (process) ที่ทำงานอยู่เบื้องหลังเพื่อเปิดให้เอเจนต์เข้าถึงเครื่องมือต่างๆ ผ่านโปรโตคอล จึงจำเป็นต้องมีการตั้งค่าและข้อมูลรับรอง (credentials) โดยปกติแล้วคำจำกัดความของเครื่องมือเหล่านี้จะใช้พื้นที่ context ตลอดทั้งเซสชันไม่ว่าจะมีการใช้งานหรือไม่ก็ตาม ส่วนทักษะของเอเจนต์ (agent skill) คือโฟลเดอร์ที่เก็บไฟล์ SKILL.md โดยไม่มีกระบวนการทำงานและไม่มีโปรโตคอล และใช้พื้นที่เพียงประมาณ 100 tokens จนกว่าเอเจนต์จะตัดสินใจอ่านไฟล์นั้น ให้ใช้ MCP server เพื่อให้เอเจนต์เข้าถึงระบบ และใช้ทักษะเพื่อสอนขั้นตอนการใช้งานการเข้าถึงนั้นอย่างมีประสิทธิภาพ หลายระบบเลือกใช้งานทั้งสองอย่างร่วมกัน
ทักษะของเอเจนต์ใช้งานได้กับ Claude Code เท่านั้นหรือไม่
ไม่จริง Anthropic พัฒนามาตรฐานนี้ขึ้นและเผยแพร่เป็นมาตรฐานเปิดที่ agentskills.io ซึ่งโฟลเดอร์เดียวกันนี้สามารถอ่านได้โดย Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands และไคลเอนต์อื่นๆ สิ่งที่แตกต่างกันคือตำแหน่งที่ไคลเอนต์แต่ละตัวตรวจสอบและฟิลด์ frontmatter เพิ่มเติมที่ไคลเอนต์นั้นรองรับ Claude Code จะอ่าน ~/.claude/skills/ และ .claude/skills/ ในขณะที่ GitHub Copilot และ VS Code จะอ่าน .github/skills/ ใน repository โดยที่ไฟล์ SKILL.md นั้นสามารถนำไปใช้ข้ามไคลเอนต์ได้โดยไม่ต้องแก้ไข
ติดตั้งทักษะได้กี่รายการก่อนที่ระบบจะเริ่มช้าลง
ข้อจำกัดอยู่ที่งบประมาณในการเริ่มต้น (startup budget) ไม่ใช่จำนวนรายการ ทักษะที่ติดตั้งแต่ละรายการจะใช้ชื่อและคำอธิบาย ซึ่งตามคำแนะนำของมาตรฐานจะใช้พื้นที่ประมาณ 100 tokens ดังนั้นทักษะ 30 รายการจะใช้พื้นที่ประมาณ 3,000 tokens ก่อนที่จะมีการใช้งานจริง สิ่งที่จะลดประสิทธิภาพลงก่อนคือความแม่นยำในการจับคู่ (matching) ไม่ใช่ความเร็ว เนื่องจากทักษะจำนวนมากที่มีคำอธิบายซ้ำซ้อนกันจะทำให้โมเดลเลือกใช้ทักษะที่ถูกต้องได้ยากขึ้น ควรเขียนคำอธิบายไม่ให้ซ้ำซ้อนกันและลบทักษะที่ไม่ได้ใช้งานออก
ควรใส่คำสั่งนี้ไว้ในทักษะหรือใน AGENTS.md
ให้พิจารณาว่าคำสั่งนั้นใช้กับทุกงานใน repository หรือไม่ คำสั่ง build, รูปแบบการเขียนโค้ด (house style) และกฎการตั้งชื่อเป็นสิ่งที่ใช้กับทุกงาน จึงควรอยู่ในไฟล์ที่เปิดใช้งานตลอดเวลา (always-on) ซึ่งการโหลดทุกครั้งเป็นสิ่งที่จำเป็น ส่วนขั้นตอนที่ทำเป็นครั้งคราว เช่น รายการตรวจสอบการปล่อยซอฟต์แวร์ (release checklist) หรือการซ้อมกู้คืนระบบ ควรทำเป็นทักษะเพื่อให้ไม่เสียพื้นที่ context ในงานที่ไม่จำเป็นต้องใช้ ส่วนของ AGENTS.md ที่ขยายตัวจนกลายเป็นขั้นตอนที่มีหมายเลขกำกับ มักจะเป็นทักษะที่ควรแยกออกมาต่างหาก