การมีส่วนร่วมในการสร้างปลั๊กอิน
คู่มือนี้อธิบายวิธีการสร้างปลั๊กอินใหม่และเพิ่มเข้าสู่ ตลาดกลาง f5-sales-demo
โครงสร้างของปลั๊กอิน
หัวข้อที่มีชื่อว่า “โครงสร้างของปลั๊กอิน”ปลั๊กอินทุกตัวอยู่ในไดเรกทอรีของตัวเองภายใต้ plugins/ และ
ปฏิบัติตามโครงสร้างนี้:
โฟลเดอร์plugins/
โฟลเดอร์example-plugin/
โฟลเดอร์.claude-plugin/
- plugin.json
โฟลเดอร์skills/
โฟลเดอร์example-skill/
- SKILL.md
โฟลเดอร์references/
- reference-data.md
โฟลเดอร์commands/
- example-command.md
โฟลเดอร์agents/
- example-agent.md
- README.md
การสร้างปลั๊กอิน
หัวข้อที่มีชื่อว่า “การสร้างปลั๊กอิน”-
สร้างไดเรกทอรีของปลั๊กอิน
Terminal window mkdir -p plugins/example-plugin/.claude-pluginmkdir -p plugins/example-plugin/skillsmkdir -p plugins/example-plugin/commands -
เขียน
plugin.jsonสร้าง
plugins/example-plugin/.claude-plugin/plugin.json:{"name": "example-plugin","description": "What this plugin does","version": "1.0.0","author": {"name": "f5-sales-demo"},"homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin","keywords": ["relevant", "keywords"],"license": "Apache-2.0","repository": "https://github.com/f5-sales-demo/marketplace"} -
เพิ่ม skills
สร้าง
plugins/example-plugin/skills/example-skill/SKILL.mdพร้อม frontmatter:---name: example-skilldescription: One-line description of what this skill does---Detailed instructions for Claude when this skill activates.วางข้อมูลอ้างอิงใดๆ ไว้ในไดเรกทอรีย่อย
references/ควบคู่กับSKILL.md -
เพิ่ม commands
สร้าง
plugins/example-plugin/commands/example-command.md:---description: What this command doesargument_hint: "[optional-args]"allowed_tools:- Read- Glob- Grep---Instructions for Claude when the user invokes this command. -
เพิ่มปลั๊กอินลงใน marketplace.json
เพิ่มรายการเข้าไปในอาร์เรย์
pluginsใน.claude-plugin/marketplace.json:{"name": "example-plugin","description": "What this plugin does","version": "1.0.0","author": { "name": "f5-sales-demo" },"source": "./plugins/example-plugin","category": "productivity","homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin","license": "Apache-2.0","keywords": ["relevant", "keywords"],"tags": ["searchable", "tags"],"repository": "https://github.com/f5-sales-demo/marketplace"} -
ทดสอบในเครื่อง
ทดสอบปลั๊กอินของคุณโดยไม่ต้องเผยแพร่ด้วยการชี้ Claude Code ไปยังไดเรกทอรีในเครื่อง:
Terminal window claude --plugin-dir ./plugins/example-pluginตรวจสอบว่า skills เปิดใช้งานในบริบทที่ถูกต้องและ commands ให้ผลลัพธ์ตามที่คาดหวัง
การส่งปลั๊กอินของคุณ
หัวข้อที่มีชื่อว่า “การส่งปลั๊กอินของคุณ”- สร้าง GitHub issue ที่อธิบายปลั๊กอินใหม่
- สร้าง feature branch จาก
main - เพิ่มไดเรกทอรีปลั๊กอินของคุณและอัปเดต
marketplace.json - เพิ่มหน้าเอกสารที่
docs/plugins/example-plugin.mdx - เปิด PR ที่เชื่อมโยงไปยัง issue ด้วย
Closes #N - แก้ไขความล้มเหลวของ CI และรวมโค้ดหลังจากการตรวจสอบผ่าน
แนวทางปฏิบัติที่ดีที่สุด
หัวข้อที่มีชื่อว่า “แนวทางปฏิบัติที่ดีที่สุด”- ทำให้ skills มุ่งเน้น — skill หนึ่งตัวควรทำสิ่งเดียวได้ดี
- ใช้ไฟล์อ้างอิง — วางชุดข้อมูลขนาดใหญ่ สคีมา และ
ตารางค้นหาไว้ใน
references/แทนที่จะฝังไว้ใน SKILL.md - กำหนดขอบเขตอย่างชาญฉลาด — ตรวจสอบการเปลี่ยนแปลงที่ยังไม่ได้ commit เพื่อ จำกัดชุดการทำงานเมื่อเป็นไปได้
- จัดกลุ่มผลลัพธ์ตามความรุนแรง — ใช้ระดับ ERROR, WARNING และ INFO เพื่อให้ผู้ใช้สามารถจัดลำดับความสำคัญในการแก้ไขได้
- เขียน README — รวมตัวอย่างการใช้งานและคำอธิบาย ว่า skill และ command แต่ละตัวทำอะไร