plugin-forge
by softaworksplugin-forge helps Claude Code plugin authors scaffold plugin structure, manage `plugin.json` and marketplace metadata, add components like commands or skills, test locally, and keep versions synchronized with the included helper scripts and workflow references.
This skill scores 82/100, which means it is a solid directory listing candidate for users who need repeatable Claude Code plugin creation and maintenance workflows. It gives agents clear triggers, actionable commands, and real automation beyond a generic prompt, though adopters should expect a few setup details and boundary conditions to still require judgment.
- Strong triggerability: SKILL.md and README clearly name when to use it for creating plugins, adding components, updating manifests, testing, and publishing.
- Material agent leverage: bundled scripts automate plugin scaffolding and synchronized version bumps across plugin.json and marketplace.json.
- Good operational support: reference docs cover plugin structure, marketplace schema, and development workflows with concrete file paths and examples.
- No explicit install command is provided in SKILL.md, so setup still requires some inference from the testing workflow and generated README.
- Constraints and edge-case handling are lightly documented; guidance focuses on the happy path for marketplace-style plugin creation and versioning.
Overview of plugin-forge skill
plugin-forge is a build-and-maintain skill for Claude Code plugin authors who want the right folder structure, manifest files, and marketplace registration without reinventing the workflow. The real job-to-be-done is not “write some JSON,” but “ship a plugin that is scaffolded correctly, versioned consistently, and installable in a marketplace-based workflow.”
Who plugin-forge is best for
Use the plugin-forge skill if you are:
- creating a new Claude Code plugin from scratch
- adding plugin parts such as
commands/,agents/,skills/, orhooks/ - updating
.claude-plugin/plugin.jsonand marketplace metadata together - testing plugins locally before publishing
- maintaining a marketplace-style plugin repository with multiple plugins
It is especially useful for developers who want repeatable structure, not just one-off prompt output.
What makes plugin-forge different from a generic prompt
A generic prompt can draft a plugin skeleton, but plugin-forge adds practical guardrails:
- a defined plugin directory layout
- explicit manifest locations and field expectations
- a marketplace schema reference
- a workflow for local install and testing
- automation scripts for scaffolding and version bumping
That combination matters because the most common plugin failure is not code quality; it is inconsistent structure or mismatched metadata.
What the skill actually covers
The repository evidence shows plugin-forge is centered on:
scripts/create_plugin.pyfor scaffolding a new pluginscripts/bump_version.pyfor synchronized version updatesreferences/plugin-structure.mdfor folder and manifest layoutreferences/marketplace-schema.mdfor marketplace entry rulesreferences/workflows.mdfor creation, testing, and publishing flow
So this is more of an implementation guide plus helper tooling than a broad theory document.
When plugin-forge is a strong fit for Code Generation
plugin-forge for Code Generation is most useful when you want the model to generate files that must land in the correct plugin shape, for example:
- a new plugin skeleton with valid metadata
- a new command or skill inserted into an existing plugin
- updates to
plugin.jsonplus matching marketplace entry changes - release prep that includes semantic version bumps
If your main need is pure business logic inside an already-working plugin, plugin-forge helps less than a domain-specific coding skill.
How to Use plugin-forge skill
Install context for plugin-forge
The upstream SKILL.md does not publish its own install command, so installation depends on how you load skills in your environment. If you are using the repository’s skill bundle, a common pattern is:
npx skills add softaworks/agent-toolkit --skill plugin-forge
After that, use plugin-forge when your task is about plugin creation, manifests, marketplace registration, local testing, or version management.
Read these files first
For fast adoption, start in this order:
skills/plugin-forge/SKILL.mdskills/plugin-forge/references/plugin-structure.mdskills/plugin-forge/references/marketplace-schema.mdskills/plugin-forge/references/workflows.mdskills/plugin-forge/scripts/create_plugin.pyskills/plugin-forge/scripts/bump_version.py
This path gives you the “what,” then the expected file layout, then the marketplace contract, then the runnable helpers.
What input plugin-forge needs from you
plugin-forge works best when you provide concrete repository and publishing context, not just “make me a plugin.” At minimum, specify:
- plugin name in kebab-case
- marketplace root path
- plugin purpose
- author name and email
- initial keywords
- category
- whether you need
commands,agents,skills,hooks, or MCP config - whether this is a new plugin or an update to an existing one
Without that information, the model can still draft files, but the output usually needs manual cleanup.
Turn a rough goal into a strong plugin-forge prompt
Weak prompt:
Create a Claude Code plugin for my project.
Stronger prompt:
Use plugin-forge to scaffold a new Claude Code plugin named
schema-auditinside/repos/internal-marketplace. Author isJane Doe <jane@example.com>. Description: “Validate JSON and OpenAPI schemas in CI.” Keywords:schema,openapi,json,validation. Category:developer-tools. Includecommands/andskills/, but no hooks yet. Generate the expected folder layout,plugins/schema-audit/.claude-plugin/plugin.json, the matching.claude-plugin/marketplace.jsonentry, and a short README. Follow the marketplace and plugin structure references.
The second prompt gives plugin-forge enough information to produce files that are much closer to usable.
Use the scaffolding script when you want speed
If you already know your metadata, use the helper script instead of manually building the initial tree:
python scripts/create_plugin.py plugin-name \
--marketplace-root /path/to/marketplace \
--author-name "Your Name" \
--author-email "your.email@example.com" \
--description "Plugin description" \
--keywords "keyword1,keyword2" \
--category "productivity"
This is the fastest path when you care more about correct setup than custom hand-crafted scaffolding.
Use the version script to avoid manifest drift
One of the most practical parts of plugin-forge usage is synchronized versioning. The skill includes scripts/bump_version.py to update both:
plugins/<plugin-name>/.claude-plugin/plugin.json.claude-plugin/marketplace.json
Example:
python scripts/bump_version.py plugin-name patch \
--marketplace-root /path/to/marketplace
This matters because version mismatch across those files is a common maintenance mistake.
Follow the actual plugin-forge workflow
A practical plugin-forge guide is:
- scaffold the plugin
- inspect generated
plugin.json - verify marketplace entry in
.claude-plugin/marketplace.json - add components such as commands or skills
- test locally via marketplace install flow
- iterate
- bump version before release
That workflow is more reliable than asking the model for everything in one huge prompt.
Local testing flow to plan for early
The references include a concrete local testing path:
/plugin marketplace add /path/to/marketplace-root
/plugin install plugin-name@marketplace-name
That means you should design prompts so plugin-forge outputs installable paths and metadata, not just descriptive files. If the source path or plugin name is inconsistent, testing breaks immediately.
Key files plugin-forge will often modify
In real usage, expect plugin-forge to create or edit:
plugins/<plugin-name>/.claude-plugin/plugin.json.claude-plugin/marketplace.jsonplugins/<plugin-name>/README.mdplugins/<plugin-name>/commands/plugins/<plugin-name>/agents/plugins/<plugin-name>/skills/plugins/<plugin-name>/hooks/hooks.jsonplugins/<plugin-name>/.mcp.json
That scope is useful for planning review, because plugin-forge is often a multi-file change generator.
Practical tips that improve plugin-forge output quality
Ask plugin-forge to:
- preserve existing plugin names and paths exactly
- keep all identifiers in kebab-case
- show both plugin manifest and marketplace entry together
- explain any required fields it could not infer
- separate “generated files” from “manual follow-up”
- validate that versions and names match across manifests
These requests reduce the chance of attractive but non-installable output.
plugin-forge skill FAQ
Is plugin-forge worth using if I can already prompt well?
Yes, if your main risk is structural correctness. The plugin-forge skill is more useful than an ordinary prompt when you need consistent manifests, marketplace entries, and directory layout. If you only need help writing one command file inside an existing plugin, the advantage is smaller.
Is plugin-forge beginner-friendly?
Mostly yes. plugin-forge gives beginners a concrete path through plugin creation and testing. The catch is that beginners still need to understand their marketplace root, naming conventions, and what components they actually want. It helps with structure more than with product design.
When should I not use plugin-forge?
Skip plugin-forge if:
- you are not building a Claude Code plugin
- you do not use marketplace-style distribution
- you only want generic Python or JavaScript code generation
- your repository has a custom plugin layout that intentionally differs from the documented structure
In those cases, plugin-forge may push you toward the wrong shape.
Does plugin-forge handle publishing automatically?
Not fully. The skill covers the prep work well: scaffolding, manifests, marketplace registration, local testing guidance, and version updates. But it is not an end-to-end release platform. You still need to review files, test locally, and run your own publishing or distribution process.
What is the biggest adoption blocker?
Usually missing repository context. plugin-forge assumes you know where the marketplace root lives and how your plugin should be categorized. If you cannot answer those questions, the output will still be draft-quality rather than production-ready.
How does plugin-forge compare with editing manifests by hand?
Manual edits work for one-off changes, but plugin-forge is better when you want repeatability or need to avoid drift between plugin.json and marketplace.json. The included scripts are the clearest practical advantage.
How to Improve plugin-forge skill
Give plugin-forge repository-aware inputs
The best improvement is to supply exact paths and current files. Instead of asking for “a version bump,” say:
Use plugin-forge to bump
schema-auditin/repos/internal-marketplacefrom its current version using aminorchange. Check bothplugins/schema-audit/.claude-plugin/plugin.jsonand.claude-plugin/marketplace.json, then show the diff.
That pushes the skill toward verifiable changes rather than generic advice.
Ask for file-by-file output, not just a summary
plugin-forge performs better when you ask for concrete deliverables:
- full
plugin.json - exact marketplace entry
- proposed directory tree
- README starter
- follow-up commands to test locally
This is especially important for plugin-forge for Code Generation, where the value comes from ready-to-apply files.
Prevent the most common failure modes
Watch for these issues in plugin-forge output:
- plugin name differs across files
- marketplace
sourcepath does not match actual folder layout - version updated in one manifest but not the other
- optional components are referenced in metadata but not created
- generated structure omits
.claude-plugin/plugin.json
A quick review against references/plugin-structure.md and references/marketplace-schema.md catches most of them.
Use a two-pass workflow for better results
A strong plugin-forge guide in practice is:
- first pass: generate structure and manifests
- second pass: generate plugin components and README improvements
Trying to do scaffolding, business logic, docs, testing setup, and publishing notes in one prompt often lowers quality. plugin-forge is strongest when structure comes first.
Iterate after the first output with targeted corrections
Do not just say “fix this.” Give precise repair instructions, for example:
- “Regenerate
marketplace.jsonentry sosourcepoints to./plugins/schema-audit.” - “Add
skills/to the tree and keep manifest fields unchanged.” - “Update only version fields; do not rewrite descriptions or keywords.”
- “Align the plugin name to kebab-case everywhere.”
That kind of constrained iteration makes plugin-forge much more reliable.
Pair plugin-forge with the reference docs, not instead of them
The best way to improve plugin-forge output is to make it cite or follow the repository references explicitly. In prompts, mention:
references/plugin-structure.mdfor directory expectationsreferences/marketplace-schema.mdfor marketplace fieldsreferences/workflows.mdfor install and testing flow
This keeps the skill anchored to the repo’s actual conventions instead of falling back to generic plugin assumptions.
