{"id":"9cb7210b-6e0f-48a5-9f16-d0ee1a0a45ba","shortId":"vdVXPa","kind":"skill","title":"plugin-forge","tagline":"Create and manage Claude Code plugins with proper structure, manifests, and marketplace integration. Use when creating plugins for a marketplace, adding plugin components (commands, agents, hooks), bumping plugin versions, or working with plugin.json/marketplace.json manifests.","description":"# CC Plugin Forge\n\n## Purpose\n\nBuild and manage Claude Code plugins with correct structure, manifests, and marketplace integration. Includes workflows, automation scripts, and reference docs.\n\n## When to Use\n\n- Creating new plugins for a marketplace\n- Adding/modifying plugin components (commands, skills, agents, hooks)\n- Updating plugin versions\n- Working with plugin or marketplace manifests\n- Setting up local plugin testing\n- Publishing plugins\n\n## Getting Started\n\n### Create New Plugin\n\nUse `create_plugin.py` to generate plugin structure:\n\n```bash\npython scripts/create_plugin.py plugin-name \\\n  --marketplace-root /path/to/marketplace \\\n  --author-name \"Your Name\" \\\n  --author-email \"your.email@example.com\" \\\n  --description \"Plugin description\" \\\n  --keywords \"keyword1,keyword2\" \\\n  --category \"productivity\"\n```\n\nThis automatically:\n\n- Creates plugin directory structure\n- Generates `plugin.json` manifest\n- Creates README template\n- Updates `marketplace.json`\n\n### Bump Version\n\nUse `bump_version.py` to update versions in both manifests:\n\n```bash\npython scripts/bump_version.py plugin-name major|minor|patch \\\n  --marketplace-root /path/to/marketplace\n```\n\nSemantic versioning:\n\n- **major**: Breaking changes (1.0.0 → 2.0.0)\n- **minor**: New features, refactoring (1.0.0 → 1.1.0)\n- **patch**: Bug fixes, docs (1.0.0 → 1.0.1)\n\n## Development Workflow\n\n### 1. Create Structure\n\nManual approach (if not using script):\n\n```bash\nmkdir -p plugins/plugin-name/.claude-plugin\nmkdir -p plugins/plugin-name/commands\nmkdir -p plugins/plugin-name/skills\n```\n\n### 2. Plugin Manifest\n\nFile: `plugins/plugin-name/.claude-plugin/plugin.json`\n\n```json\n{\n  \"name\": \"plugin-name\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Plugin description\",\n  \"author\": {\n    \"name\": \"Your Name\",\n    \"email\": \"your.email@example.com\"\n  },\n  \"keywords\": [\"keyword1\", \"keyword2\"]\n}\n```\n\n### 3. Register in Marketplace\n\nUpdate `.claude-plugin/marketplace.json`:\n\n```json\n{\n  \"name\": \"plugin-name\",\n  \"source\": \"./plugins/plugin-name\",\n  \"description\": \"Plugin description\",\n  \"version\": \"0.1.0\",\n  \"keywords\": [\"keyword1\", \"keyword2\"],\n  \"category\": \"productivity\"\n}\n```\n\n### 4. Add Components\n\nCreate in respective directories:\n\n| Component | Location | Format |\n|-----------|----------|--------|\n| Commands | `commands/` | Markdown with frontmatter |\n| Skills | `skills/<name>/` | Directory with `SKILL.md` |\n| Agents | `agents/` | Markdown definitions |\n| Hooks | `hooks/hooks.json` | Event handlers |\n| MCP Servers | `.mcp.json` | External integrations |\n\n### 5. Local Testing\n\n```bash\n# Add marketplace\n/plugin marketplace add /path/to/marketplace-root\n\n# Install plugin\n/plugin install plugin-name@marketplace-name\n\n# After changes: reinstall\n/plugin uninstall plugin-name@marketplace-name\n/plugin install plugin-name@marketplace-name\n```\n\n## Plugin Patterns\n\n### Framework Plugin\n\nFor framework-specific guidance (React, Vue, etc.):\n\n```\nplugins/framework-name/\n├── .claude-plugin/plugin.json\n├── skills/\n│   └── framework-name/\n│       ├── SKILL.md\n│       └── references/\n├── commands/\n│   └── prime/\n│       ├── components.md\n│       └── framework.md\n└── README.md\n```\n\n### Utility Plugin\n\nFor tools and commands:\n\n```\nplugins/utility-name/\n├── .claude-plugin/plugin.json\n├── commands/\n│   ├── action1.md\n│   └── action2.md\n└── README.md\n```\n\n### Domain Plugin\n\nFor domain-specific knowledge:\n\n```\nplugins/domain-name/\n├── .claude-plugin/plugin.json\n├── skills/\n│   └── domain-name/\n│       ├── SKILL.md\n│       ├── references/\n│       └── scripts/\n└── README.md\n```\n\n## Command Naming\n\nSubdirectory-based namespacing with `:` separator:\n\n- `commands/namespace/command.md` → `/namespace:command`\n- `commands/simple.md` → `/simple`\n\nExamples:\n\n- `commands/prime/vue.md` → `/prime:vue`\n- `commands/docs/generate.md` → `/docs:generate`\n\n## Version Management\n\n**Important:** Update version in BOTH locations:\n\n1. `plugins/<name>/.claude-plugin/plugin.json`\n2. `.claude-plugin/marketplace.json`\n\nUse `bump_version.py` to automate.\n\n## Git Commits\n\nUse conventional commits:\n\n```bash\ngit commit -m \"feat: add new plugin\"\ngit commit -m \"fix: correct plugin manifest\"\ngit commit -m \"docs: update plugin README\"\ngit commit -m \"feat!: breaking change\"\n```\n\n## Reference Docs\n\nDetailed documentation included:\n\n| Reference | Content |\n|-----------|---------|\n| `references/plugin-structure.md` | Directory structure, manifest schema, components |\n| `references/marketplace-schema.md` | Marketplace format, plugin entries, distribution |\n| `references/workflows.md` | Step-by-step workflows, patterns, publishing |\n\n### Scripts\n\n| Script | Purpose |\n|--------|---------|\n| `scripts/create_plugin.py` | Scaffold new plugin |\n| `scripts/bump_version.py` | Update versions |","tags":["plugin","forge","agent","toolkit","softaworks","agent-skills","automation","claude","claude-code","coding-agent","development"],"capabilities":["skill","source-softaworks","skill-plugin-forge","topic-agent-skills","topic-automation","topic-claude","topic-claude-code","topic-coding-agent","topic-development"],"categories":["agent-toolkit"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/softaworks/agent-toolkit/plugin-forge","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add softaworks/agent-toolkit","source_repo":"https://github.com/softaworks/agent-toolkit","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1847 github stars · SKILL.md body (4,749 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:58.601Z","embedding":null,"createdAt":"2026-04-18T20:27:53.690Z","updatedAt":"2026-05-18T18:52:58.601Z","lastSeenAt":"2026-05-18T18:52:58.601Z","tsv":"'/.claude-plugin/plugin.json':426 '/docs':414 '/marketplace.json':38,243,431 '/namespace':405 '/path/to/marketplace':116,170 '/path/to/marketplace-root':303 '/plugin':300,306,317,325 '/plugin.json':349,371,387 '/plugins/plugin-name':250 '/prime':411 '/simple':408 '0.1.0':222,255 '1':192,424 '1.0.0':176,182,188 '1.0.1':189 '1.1.0':183 '2':211,427 '2.0.0':177 '3':235 '4':261 '5':294 'action1.md':373 'action2.md':374 'ad':24 'add':262,298,302,446 'adding/modifying':73 'agent':28,78,281,282 'approach':196 'author':118,123,226 'author-email':122 'author-nam':117 'autom':59,435 'automat':135 'base':400 'bash':107,158,201,297,441 'break':174,467 'bug':185 'build':44 'bump':30,148 'bump_version.py':151,433 'categori':132,259 'cc':40 'chang':175,315,468 'claud':7,47,241,347,369,385,429 'claude-plugin':240,346,368,384,428 'code':8,48 'command':27,76,271,272,356,366,372,396,406 'commands/docs/generate.md':413 'commands/namespace/command.md':404 'commands/prime/vue.md':410 'commands/simple.md':407 'commit':437,440,443,450,457,464 'compon':26,75,263,268,481 'components.md':358 'content':475 'convent':439 'correct':51,453 'creat':4,19,67,98,136,143,193,264 'create_plugin.py':102 'definit':284 'descript':126,128,223,225,251,253 'detail':471 'develop':190 'directori':138,267,278,477 'distribut':487 'doc':63,187,459,470 'document':472 'domain':376,380,390 'domain-nam':389 'domain-specif':379 'email':124,230 'entri':486 'etc':344 'event':287 'exampl':409 'extern':292 'feat':445,466 'featur':180 'file':214 'fix':186,452 'forg':3,42 'format':270,484 'framework':335,339,352 'framework-nam':351 'framework-specif':338 'framework.md':359 'frontmatt':275 'generat':104,140,415 'get':96 'git':436,442,449,456,463 'guidanc':341 'handler':288 'hook':29,79,285 'hooks/hooks.json':286 'import':418 'includ':57,473 'instal':304,307,326 'integr':16,56,293 'json':216,244 'keyword':129,232,256 'keyword1':130,233,257 'keyword2':131,234,258 'knowledg':382 'local':91,295 'locat':269,423 'm':444,451,458,465 'major':164,173 'manag':6,46,417 'manifest':13,39,53,88,142,157,213,455,479 'manual':195 'markdown':273,283 'marketplac':15,23,55,72,87,114,168,238,299,301,312,323,331,483 'marketplace-nam':311,322,330 'marketplace-root':113,167 'marketplace.json':147 'mcp':289 'mcp.json':291 'minor':165,178 'mkdir':202,205,208 'name':112,119,121,163,217,220,227,229,245,248,310,313,321,324,329,332,353,391,397 'namespac':401 'new':68,99,179,447,501 'p':203,206,209 'patch':166,184 'pattern':334,494 'plugin':2,9,20,25,31,41,49,69,74,81,85,92,95,100,105,111,127,137,162,212,219,224,242,247,252,305,309,320,328,333,336,348,362,370,377,386,425,430,448,454,461,485,502 'plugin-forg':1 'plugin-nam':110,161,218,246,308,319,327 'plugin.json':37,141 'plugin.json/marketplace.json':36 'plugins/domain-name':383 'plugins/framework-name':345 'plugins/plugin-name/.claude-plugin':204 'plugins/plugin-name/.claude-plugin/plugin.json':215 'plugins/plugin-name/commands':207 'plugins/plugin-name/skills':210 'plugins/utility-name':367 'prime':357 'product':133,260 'proper':11 'publish':94,495 'purpos':43,498 'python':108,159 'react':342 'readm':144,462 'readme.md':360,375,395 'refactor':181 'refer':62,355,393,469,474 'references/marketplace-schema.md':482 'references/plugin-structure.md':476 'references/workflows.md':488 'regist':236 'reinstal':316 'respect':266 'root':115,169 'scaffold':500 'schema':480 'script':60,200,394,496,497 'scripts/bump_version.py':160,503 'scripts/create_plugin.py':109,499 'semant':171 'separ':403 'server':290 'set':89 'skill':77,276,277,350,388 'skill-plugin-forge' 'skill.md':280,354,392 'sourc':249 'source-softaworks' 'specif':340,381 'start':97 'step':490,492 'step-by-step':489 'structur':12,52,106,139,194,478 'subdirectori':399 'subdirectory-bas':398 'templat':145 'test':93,296 'tool':364 'topic-agent-skills' 'topic-automation' 'topic-claude' 'topic-claude-code' 'topic-coding-agent' 'topic-development' 'uninstal':318 'updat':80,146,153,239,419,460,504 'use':17,66,101,150,199,432,438 'util':361 'version':32,82,149,154,172,221,254,416,420,505 'vue':343,412 'work':34,83 'workflow':58,191,493 'your.email@example.com':125,231","prices":[{"id":"31ace257-1b41-4d7c-9236-b74609c467d9","listingId":"9cb7210b-6e0f-48a5-9f16-d0ee1a0a45ba","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"softaworks","category":"agent-toolkit","install_from":"skills.sh"},"createdAt":"2026-04-18T20:27:53.690Z"}],"sources":[{"listingId":"9cb7210b-6e0f-48a5-9f16-d0ee1a0a45ba","source":"github","sourceId":"softaworks/agent-toolkit/plugin-forge","sourceUrl":"https://github.com/softaworks/agent-toolkit/tree/main/skills/plugin-forge","isPrimary":false,"firstSeenAt":"2026-04-18T21:54:41.703Z","lastSeenAt":"2026-05-18T18:52:58.601Z"},{"listingId":"9cb7210b-6e0f-48a5-9f16-d0ee1a0a45ba","source":"skills_sh","sourceId":"softaworks/agent-toolkit/plugin-forge","sourceUrl":"https://skills.sh/softaworks/agent-toolkit/plugin-forge","isPrimary":true,"firstSeenAt":"2026-04-18T20:27:53.690Z","lastSeenAt":"2026-05-07T22:40:51.045Z"}],"details":{"listingId":"9cb7210b-6e0f-48a5-9f16-d0ee1a0a45ba","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"softaworks","slug":"plugin-forge","github":{"repo":"softaworks/agent-toolkit","stars":1847,"topics":["agent-skills","ai","automation","claude","claude-code","coding-agent","development"],"license":"mit","html_url":"https://github.com/softaworks/agent-toolkit","pushed_at":"2026-03-05T16:46:24Z","description":"A curated collection of skills for AI coding agents. Skills are packaged instructions and scripts that extend agent capabilities across development, documentation, planning, and professional workflows.","skill_md_sha":"6b314395db1330b9dd60a663dd08e980230776f0","skill_md_path":"skills/plugin-forge/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/softaworks/agent-toolkit/tree/main/skills/plugin-forge"},"layout":"multi","source":"github","category":"agent-toolkit","frontmatter":{"name":"plugin-forge","description":"Create and manage Claude Code plugins with proper structure, manifests, and marketplace integration. Use when creating plugins for a marketplace, adding plugin components (commands, agents, hooks), bumping plugin versions, or working with plugin.json/marketplace.json manifests."},"skills_sh_url":"https://skills.sh/softaworks/agent-toolkit/plugin-forge"},"updatedAt":"2026-05-18T18:52:58.601Z"}}