การใช้งานกับผู้ช่วย AI
codeknit มาพร้อมกับทักษะที่พร้อมใช้งานซึ่งสอนผู้ช่วยเขียนโค้ด AI ให้ใช้งานได้อย่างมีประสิทธิภาพ ทักษะเหล่านี้ช่วยให้ผู้ช่วยสามารถดึงโครงสร้างโค้ด ตรวจจับรายการซ้ำ และทำการวิเคราะห์โครงสร้างได้โดยไม่ต้องมีการพร้อมท์ด้วยตนเอง
ภาพรวมทักษะ
หัวข้อที่มีชื่อว่า “ภาพรวมทักษะ”codeknit มีทักษะให้สองรายการ:
codeknit-parse: สอนผู้ช่วยให้ดึงโครงสร้างโค้ด (ฟังก์ชัน คลาส เมธอด ตัวแปร) และความสัมพันธ์ (การเรียกใช้ การสืบทอด การบรรจุ) ไปยังไฟล์.sktcodeknit-fingerprint: สอนผู้ช่วยให้ตรวจจับโค้ดที่ซ้ำและเกือบซ้ำโดยใช้ fuzzy hashing
ทักษะแต่ละรายการมีเอกสารประกอบที่ผู้ช่วยสามารถอ่านตามต้องการเพื่อทำความเข้าใจการใช้งาน แฟล็ก รูปแบบเอาต์พุต และขั้นตอนการทำงาน
การติดตั้ง
หัวข้อที่มีชื่อว่า “การติดตั้ง”ใช้ตัวช่วยติดตั้งเพื่อคัดลอกไดเรกทอรีทักษะไปยังโฟลเดอร์ทักษะของผู้ช่วยของคุณ ตัวติดตั้งจะดาวน์โหลดเฉพาะไฟล์ทักษะที่รวมมาด้วย คุณจึงไม่จำเป็นต้องโคลน repository
ติดตั้งสำหรับ Codex, Kiro, และ Claude Code:
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bashติดตั้งสำหรับผู้ช่วยหนึ่งรายการ:
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant codexcurl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant kirocurl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant claudeจากการเช็คเอาต์ในเครื่อง คุณสามารถใช้ตัวช่วย Makefile:
make skills-install-dry-runmake skills-installตัวติดตั้งจะข้ามไดเรกทอรีทักษะที่มีอยู่โดยค่าเริ่มต้น หากต้องการแทนที่ ให้เพิ่ม --force:
curl -fsSL https://raw.githubusercontent.com/awslabs/codeknit/main/scripts/install-skills.sh | bash -s -- --assistant all --forceหลังจากการติดตั้ง ผู้ช่วยจะรู้วิธีเรียกใช้คำสั่ง codeknit เลือกแฟล็กที่เหมาะสม และตีความเอาต์พุต .skt โดยอัตโนมัติ
สิ่งที่ทักษะแต่ละรายการสอน
หัวข้อที่มีชื่อว่า “สิ่งที่ทักษะแต่ละรายการสอน”codeknit-parse
หัวข้อที่มีชื่อว่า “codeknit-parse”ทักษะ codeknit-parse สอนผู้ช่วยให้:
- รัน
codeknit parseพร้อมแฟล็กที่เหมาะสมสำหรับสถานการณ์ต่าง ๆ - เลือกโหมดเอาต์พุตที่ถูกต้อง:
directory-flat(ค่าเริ่มต้น) สำหรับโปรเจ็กต์ส่วนใหญ่inlineสำหรับไฟล์เดียวหรืออินพุตขนาดเล็กdirectory-treeเพื่อสะท้อนโครงสร้างต้นทาง
- อ่านและตีความไฟล์เอาต์พุต
.sktรวมถึงส่วน[symbols],[edges]และส่วน[dict]ที่เป็นตัวเลือก - ใช้ข้อมูลโครงสร้างสำหรับการปรับโครงสร้าง การทำแผนที่การพึ่งพา และการตรวจสอบโค้ด
- รัน
codeknit graph analyzeเพื่อให้ได้ข้อมูลเชิงลึกด้านคุณภาพโค้ดที่ลึกขึ้น (การพึ่งพาแบบวนรอบ สัญลักษณ์ศูนย์กลาง คลาส god ฯลฯ)
codeknit-fingerprint
หัวข้อที่มีชื่อว่า “codeknit-fingerprint”ทักษะ codeknit-fingerprint สอนผู้ช่วยให้:
- ใช้
codeknit fingerprintสำหรับการตรวจจับรายการซ้ำ การตรวจสอบ DRY และการระบุการปรับโครงสร้าง - เลือกระดับความคล้ายคลึงที่เหมาะสม (
--min-similarity,--max-similarity) - อ่านส่วน
[duplicates]เพื่อระบุโค้ดที่เกือบซ้ำ - เข้าใจว่าฟิงเกอร์พรินต์วัดรูปร่างโครงสร้าง ไม่ใช่ความหมายเชิงความหมาย
- ใช้
--rerankกับ Ollama embeddings เพื่อลดผลบวกลวงเมื่อจำเป็น
ตัวอย่างขั้นตอนการทำงาน
หัวข้อที่มีชื่อว่า “ตัวอย่างขั้นตอนการทำงาน”การวิเคราะห์โครงสร้าง
หัวข้อที่มีชื่อว่า “การวิเคราะห์โครงสร้าง”- ขอให้ผู้ช่วยวิเคราะห์โครงสร้างโค้ดของคุณ
- ผู้ช่วยจะรัน
codeknit parse ./srcและอ่านไฟล์.sktที่ได้ - ผู้ช่วยจะตอบคำถามเกี่ยวกับโครงสร้าง: การพึ่งพา โซ่การเรียกใช้ โค้ดที่ไม่ใช้งาน
- สำหรับข้อมูลเชิงลึกที่ลึกขึ้น ผู้ช่วยจะรัน
codeknit graph analyze ./srcและตีความรายงาน
[symbols]## src/service.goS1 type/struct L5-L8 AuthService {}S2 callable/method L10-L15 Authenticate(token: string) {receiver=*AuthService}
[edges]S1 --contains--> S2การตรวจจับรายการซ้ำ
หัวข้อที่มีชื่อว่า “การตรวจจับรายการซ้ำ”- ขอให้ผู้ช่วยค้นหารหัสที่ซ้ำกัน
- ผู้ช่วยจะรัน
codeknit fingerprint ./src - ผู้ช่วยจะอ่านส่วน
[duplicates]ในเอาต์พุต - ผู้ช่วยจะตรวจสอบคู่ที่ถูกทำเครื่องหมายและเสนอการรวม
[duplicates]S1, S2: 87% similarityS3, S4: 76% similarityเคล็ดลับ
หัวข้อที่มีชื่อว่า “เคล็ดลับ”- อ่านไฟล์
.sktเสมอ ไม่ใช่ซอร์สโค้ดดิบ สำหรับคำถามเกี่ยวกับโครงสร้าง — ไฟล์เหล่านี้มีโครงสร้างที่ดึงออกมาในรูปแบบที่กระชับและเชื่อถือได้ - ใช้
codeknit graph analyzeเพื่อเปิดเผยปัญหาคุณภาพโค้ด เช่น การพึ่งพาแบบวนรอบ สัญลักษณ์ศูนย์กลาง และโซ่การสืบทอดที่ลึก - รัน
codeknit fingerprintก่อนการปรับโครงสร้างขนาดใหญ่เพื่อระบุโค้ดที่คัดลอกมาซึ่งควรจะถูกรวม - รูปแบบ
.sktได้รับการออกแบบให้ใช้โทเค็นอย่างมีประสิทธิภาพ ทำให้เหมาะสำหรับหน้าต่างบริบทของ LLM - ใช้
--minifyเพื่อลดการใช้โทเค็นลงอีกเมื่อประมวลผลโค้ดเบสขนาดใหญ่