Summary
Today spec-driven ships only through npm (npx @igoruehara/spec-driven). Claude Code now supports plugins installed from a marketplace. Adding a thin plugin layer on top of the existing CLI would let Claude Code users install and run the whole SDD pipeline without leaving the chat.
npm distribution stays exactly as-is. The plugin is an additive second channel that wraps the CLI we already ship — not a rewrite.
Why
- Zero-context install. Discover, install and update from inside Claude Code (
/plugin marketplace add …), no terminal round-trip.
- Discoverability. Listed in a marketplace instead of only findable on npm.
- Native slash commands. The pipeline skills (
/kickoff, /nova-feature, /clarificar, /validar, …) surface as first-class commands.
- The CLI scaffold stays the single source of truth — the plugin only invokes it.
Proposed changes
-
Add a .claude-plugin/ directory with:
plugin.json — manifest (name, version, description, author).
marketplace.json — a single-repo marketplace entry with source: "./".
-
Add a /spec-driven:install skill that runs the existing bin/cli.mjs, reusing its flags (--agent, --all, --force, --yes) so no logic is forked.
-
Add a /spec-driven:update skill mapping to the existing update command (.spec-driven/manifest.json already tracks which clients were generated).
-
Add .claude-plugin (and skills) to the npm files array so both channels stay in sync.
-
README: a short "Install as a Claude Code plugin" section next to the current npx instructions:
/plugin marketplace add igoruehara/spec-driven
/plugin install spec-driven@spec-driven
/spec-driven:install # scaffolds SDD into the current repo
Update flow (version pinned in the marketplace):
/plugin update spec-driven # fetch newer plugin, then RESTART Claude Code
/spec-driven:update # re-scaffold this repo
Non-goals
- Removing or changing npm distribution.
- Reworking the CLI — the plugin wraps it.
Open question
Self-hosted single-repo marketplace (add igoruehara/spec-driven) vs. submitting to a shared community marketplace. The single-repo route is the lowest-friction start and can coexist with a later community listing.
Summary
Today
spec-drivenships only through npm (npx @igoruehara/spec-driven). Claude Code now supports plugins installed from a marketplace. Adding a thin plugin layer on top of the existing CLI would let Claude Code users install and run the whole SDD pipeline without leaving the chat.npm distribution stays exactly as-is. The plugin is an additive second channel that wraps the CLI we already ship — not a rewrite.
Why
/plugin marketplace add …), no terminal round-trip./kickoff,/nova-feature,/clarificar,/validar, …) surface as first-class commands.Proposed changes
Add a
.claude-plugin/directory with:plugin.json— manifest (name, version, description, author).marketplace.json— a single-repo marketplace entry withsource: "./".Add a
/spec-driven:installskill that runs the existingbin/cli.mjs, reusing its flags (--agent,--all,--force,--yes) so no logic is forked.Add a
/spec-driven:updateskill mapping to the existingupdatecommand (.spec-driven/manifest.jsonalready tracks which clients were generated).Add
.claude-plugin(andskills) to the npmfilesarray so both channels stay in sync.README: a short "Install as a Claude Code plugin" section next to the current
npxinstructions:Update flow (version pinned in the marketplace):
Non-goals
Open question
Self-hosted single-repo marketplace (
add igoruehara/spec-driven) vs. submitting to a shared community marketplace. The single-repo route is the lowest-friction start and can coexist with a later community listing.