agent-skill-cast - CLI สำหรับซิงก์สกิล AI เอเจนต์ข้ามหลายรีโพ
(github.com/Shin-JaeHeon)ผมได้ลองสร้างเครื่องมือ CLI สำหรับแชร์สกิลของ AI เอเจนต์ด้วย git แทนการใช้ zip หรือวิกิ
ตั้งชื่อว่า cast จากความหมายของการร่ายสกิลเหมือนกับการร่ายเวทมนตร์
[ ที่มาของการพัฒนา ]
มีเหตุผลหลักอยู่ 2 ข้อ
ปัญหาแรก
การสร้างสกิลแล้วแชร์ภายในองค์กรนั้นไม่ใช่เรื่องง่าย
- ถ้าส่งกันทางแชต เวลาจะกลับมาค้นหาในภายหลังก็ทำได้ยาก และ
- ระบบวิกิภายในองค์กร (เช่น Notion หรือ Confluence) ก็ยากต่อการดูแลอย่างต่อเนื่อง
ตอนนั้นเคยแชร์ผ่านระบบวิกิภายในองค์กร แต่พอคิดว่า “จะแชร์อย่างมีประสิทธิภาพได้อย่างไร?” สุดท้ายก็ลงเอยที่ความคิดว่าควรจัดการด้วย git
ปัญหาที่สอง
ในอีกด้านหนึ่ง สกิลที่เกี่ยวข้องกับผลิตภัณฑ์ถูกจัดการโดยคอมมิตไว้ในรีโพซิทอรี
แต่ก็มีปัญหาดังนี้
- เปลี่ยนบรันช์แล้วต้อง cherry-pick: จนกว่าจะ merge เข้า main ถ้าจะใช้สกิลในบรันช์อื่นก็ต้อง cherry-pick ทุกครั้ง
- คัดลอก-วางข้ามหลายรีโพ: เพราะมีหลายรีโพ จึงต้องคัดลอกสกิลหลายรอบ
- Claude Code และ Codex: เพราะเป็นสภาพแวดล้อมที่ใช้ทั้ง Claude Code และ Codex จึงต้องคัดลอกหลายรอบ
ผลก็คือแต่ละรีโพมีสกิลที่ต่างกันไปเล็กน้อย และยิ่งสกิลเพิ่มขึ้นก็ยิ่งกลายเป็นภาระมากขึ้นเรื่อย ๆ
[ ฟีเจอร์หลัก ]
มีฟีเจอร์ที่ช่วยแก้ปัญหาข้างต้นอยู่
- การซิงก์บนพื้นฐานของ Git
- ซิงก์ด้วย
gitเพื่อให้อัปเดตสกิลได้สะดวก - ถ้าเป็น Git repo ก็ใช้ได้ จึงรองรับการใช้งานในบริษัทได้สบาย
- ซิงก์ด้วย
- การซิงก์บนพื้นฐานของ symbolic link
- ติดตั้งด้วย symbolic link เพื่อให้หลายรีโพอ้างอิงสกิลเดียวกัน
- เมื่ออัปเดตซอร์ส รีโพที่ใช้งานอยู่จะอัปเดตตามโดยอัตโนมัติ
- รองรับหลายเอเจนต์
- ซิงก์ Claude Code, Codex, Gemini ได้พร้อมกันในครั้งเดียว
[ แผนต่อไป ]
ตอนนี้ CLI นี้ยังโฟกัสที่การซิงก์ (ดาวน์โหลด) เป็นหลัก จึงมีแผนจะปรับปรุงให้เป็นเครื่องมือที่ทำให้การแจกจ่าย (อัปโหลด) ได้ง่ายด้วย
และเพราะการเลือกว่าจะใช้สกิลไหนก็เป็นงานอย่างหนึ่ง จึงมีแผนจะทำให้สามารถซิงก์หลายสกิลได้ในแบบอิงโฟลเดอร์
4 ความคิดเห็น
ขอบคุณครับ แล้วมีเหตุผลอะไรหรือเปล่าที่ไม่ได้สร้าง
skill.mdสำหรับใช้กับ CLI นี้?ตอนแรกคิดว่าไม่จำเป็นเพราะเป็นเครื่องมือที่คนใช้ครับ
แต่พอได้อ่านคอมเมนต์แล้วก็รู้สึกว่า มันเหมือนตกอยู่ในความย้อนแย้งที่ว่าเป็นเครื่องมือที่จำเป็นต่อการใช้งาน AI เอเจนต์ แต่ตัว AI เอเจนต์กลับใช้มันไม่ได้ เลยอัปเดตและเพิ่มเข้าไปแล้วครับ
ขอบคุณสำหรับความเห็นดี ๆ ครับ!
ไอเดียดีนะ
ขอบคุณครับ!