การมีส่วนร่วมในการสร้าง Plugin
คู่มือนี้อธิบายวิธีการสร้าง plugin ใหม่และเพิ่มเข้าสู่ ตลาดกลาง f5-sales-demo
โครงสร้าง Plugin
หัวข้อที่มีชื่อว่า “โครงสร้าง Plugin”Plugin แต่ละตัวอยู่ในไดเรกทอรีของตนเองภายใต้ 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
การสร้าง Plugin
หัวข้อที่มีชื่อว่า “การสร้าง Plugin”-
สร้างไดเรกทอรี plugin
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"} -
เพิ่ม skill
สร้าง
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 -
เพิ่ม command
สร้าง
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. -
เพิ่ม plugin เข้าสู่ 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"} -
ทดสอบในเครื่อง
ทดสอบ plugin ของคุณโดยไม่ต้องเผยแพร่ โดยชี้ Claude Code ไปยังไดเรกทอรีในเครื่อง:
Terminal window claude --plugin-dir ./plugins/example-pluginตรวจสอบว่า skill ทำงานในบริบทที่ถูกต้องและ command สร้างผลลัพธ์ตามที่คาดหวัง
การส่ง Plugin ของคุณ
หัวข้อที่มีชื่อว่า “การส่ง Plugin ของคุณ”- สร้าง GitHub issue ที่อธิบาย plugin ใหม่
- สร้าง feature branch จาก
main - เพิ่มไดเรกทอรี plugin ของคุณและอัปเดต
marketplace.json - เพิ่มหน้าเอกสารที่
docs/plugins/example-plugin.mdx - เปิด PR ที่เชื่อมโยงกับ issue ด้วย
Closes #N - แก้ไขข้อผิดพลาด CI ใด ๆ และ merge หลังจากการตรวจสอบผ่าน
แนวทางปฏิบัติที่ดีที่สุด
หัวข้อที่มีชื่อว่า “แนวทางปฏิบัติที่ดีที่สุด”- รักษา skill ให้มีจุดมุ่งเน้น — skill หนึ่งตัวควรทำสิ่งเดียวได้ดี
- ใช้ไฟล์อ้างอิง — วางชุดข้อมูลขนาดใหญ่ schema และ
ตารางค้นหาไว้ใน
references/แทนที่จะฝังโดยตรงใน SKILL.md - กำหนดขอบเขตอย่างชาญฉลาด — ตรวจสอบการเปลี่ยนแปลงที่ยังไม่ได้ commit เพื่อ จำกัดชุดงานที่ต้องดำเนินการเมื่อเป็นไปได้
- จัดกลุ่มผลลัพธ์ตามความรุนแรง — ใช้ระดับ ERROR, WARNING และ INFO เพื่อให้ผู้ใช้สามารถจัดลำดับความสำคัญของการแก้ไขได้
- เขียน README — ระบุตัวอย่างการใช้งานและคำอธิบาย ของ skill และ command แต่ละรายการ