สวัสดีครับ

ผมทำสคริปต์ตัวหนึ่งขึ้นมาเพื่อทำงานนี้ให้เป็นอัตโนมัติ เพราะการคอยอัปเดต 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 ไว้จะขอบคุณมากจริง ๆ

ขอบคุณที่อ่านและให้ความสนใจครับ

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น