เครื่องมือสำหรับซิงก์ Claude Code/Codex Skills จาก Git repository แบบอัตโนมัติ
(github.com/leshleekor)สวัสดีครับ
ผมทำสคริปต์ตัวหนึ่งขึ้นมาเพื่อทำงานนี้ให้เป็นอัตโนมัติ เพราะการคอยอัปเดต Skills ที่ใช้ร่วมกันในโปรเจกต์ข้างเคียงหรือในทีมให้เป็นเวอร์ชันล่าสุดบนเครื่องโลคัลอยู่เสมอนั้นค่อนข้างยุ่งยาก
ผมตั้งชื่อมันว่า silent-casting เพราะมันให้ความรู้สึกเหมือนเวทมนตร์ร่ายไร้เสียงของพ่อมด ที่ช่วยตัดขั้นตอนการ Pull ทุกครั้งออกไป
มันเป็นสคริปต์ bash และ python ที่ใช้ Git repository ซึ่งมีไดเรกทอรี skills/ อยู่ที่รูทเป็น SSOT จากนั้นตอนรันจะทำการ clone/fetch repository นั้นลงในแคชบนเครื่อง แล้วซิงก์ไปยังไดเรกทอรี Skills บนเครื่องโลคัลที่ Claude Code และ Codex ใช้อ่าน
พาธปลายทางสำหรับการซิงก์เริ่มต้นมีดังนี้ และสามารถเปลี่ยนได้ด้วย environment variable
- Claude Code: ~/.claude/skills
- Codex: ~/.agents/skills
รายละเอียดการติดตั้ง / วิธีใช้งานเพิ่มเติม ผมเขียนไว้ใน README.md แล้ว
ฟีเจอร์หลักมีดังนี้
- ซิงก์ tree
skills/จาก Git repository เช่น GitHub ไปยังไดเรกทอรี Skills บนเครื่องโลคัล - เลือกติดตั้งให้ Claude Code, Codex หรือทั้งสองอย่างก็ได้
- ลงทะเบียน hook เพื่อซิงก์อัตโนมัติก่อนเริ่มรันเอเจนต์
- ใช้
profiles.jsonและselection.jsonเพื่อกรองติดตั้งเฉพาะ Skill ที่ต้องการภายใน repository - อัปเดตเฉพาะพาธ Skill ที่ Silent Casting เป็นผู้จัดการ และคง Skills อื่นที่มีอยู่เดิมไว้
- หากซิงก์ล้มเหลวและมีสถานะที่ซิงก์สำเร็จครั้งล่าสุดอยู่แล้ว จะคง Skills บนเครื่องโลคัลชุดเดิมไว้
เป็นเครื่องมือแบบสคริปต์ที่เรียบง่าย ต่อไปผมอยากลองเพิ่มความสามารถอย่างการซิงก์จากหลาย repository และตัวเลือกควบคุมที่ละเอียดขึ้น
ยินดีรับ feedback มาก ๆ ครับ โดยเฉพาะในประเด็นต่อไปนี้
- รูปแบบการใช้งานของแต่ละทีม: จากประสบการณ์ของผม เคยจัดการ Skills ระดับทีมด้วย Git เลยอยากรู้ว่าการแชร์แบบอิง Git เป็นวิธีที่แพร่หลายสำหรับการจัดการ Skills ระดับทีมหรือไม่
- feedback จากการใช้งาน: แม้ว่าผมจะใช้งานทดสอบอยู่ แต่เพราะยังเป็นเวอร์ชันแรก น่าจะยังมีบั๊กที่ไม่คาดคิดระหว่างใช้งานอยู่บ้าง หากพบบั๊กแล้วเปิด issue ไว้จะขอบคุณมากจริง ๆ
ขอบคุณที่อ่านและให้ความสนใจครับ
ยังไม่มีความคิดเห็น