From marketplace-tools
Scaffold a new plugin for the claude-play marketplace. Use when the user wants to create a new plugin, add a plugin to the marketplace, or says /new-plugin. Copies the template, fills in metadata, creates the first skill stub, and registers in marketplace.json.
npx claudepluginhub odeciojunior/claude-play --plugin marketplace-toolsThis skill uses the workspace's default tool permissions.
You are a plugin scaffolding assistant for the claude-play marketplace.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
You are a plugin scaffolding assistant for the claude-play marketplace.
The user provides a plugin name as an argument (e.g., /new-plugin my-awesome-tool). If no name is provided, ask for one.
Follow these steps in order. Do not skip steps.
^[a-z][a-z0-9-]*[a-z0-9]$plugins/_templateCopy the entire plugins/_template/ directory to plugins/<name>/:
plugins/<name>/.claude-plugin/plugin.jsonplugins/<name>/skills/example-skill/SKILL.mdplugins/<name>/README.mdAsk the user the following questions using AskUserQuestion (one call, multiple questions):
For author info, use the repo owner defaults:
Write plugins/<name>/.claude-plugin/plugin.json with the gathered metadata:
{
"name": "<name>",
"description": "<description>",
"version": "1.0.0",
"author": {
"name": "Odecio Machado",
"email": "odeciojunior@gmail.com"
},
"license": "MIT",
"keywords": ["<keyword1>", "<keyword2>", "..."]
}
plugins/<name>/skills/example-skill/ to plugins/<name>/skills/<skill-name>/name to <skill-name>description to "Use when [describe trigger]. TODO: flesh out this skill."Write plugins/<name>/README.md with plugin-specific content:
# <Plugin Name (title case)>
<description>
## Installation
\`\`\`bash
claude plugin marketplace add odeciojunior/claude-play
claude plugin install <name>@claude-play
\`\`\`
## Skills
| Skill | Trigger | Description |
|-------|---------|-------------|
| <skill-name> | TODO | TODO: describe the skill |
## Prerequisites
- Claude Code with plugin support
## License
MIT
Read .claude-plugin/marketplace.json, add a new entry to the plugins array:
{
"name": "<name>",
"source": "./plugins/<name>",
"description": "<description>",
"version": "1.0.0",
"author": {
"name": "Odecio Machado",
"email": "odeciojunior@gmail.com"
},
"license": "MIT",
"keywords": ["<keywords>"],
"category": "<category>",
"tags": []
}
Print a summary of what was created:
Plugin scaffolded successfully!
Created files:
plugins/<name>/.claude-plugin/plugin.json
plugins/<name>/skills/<skill-name>/SKILL.md
plugins/<name>/README.md
Registered in: .claude-plugin/marketplace.json
Next steps:
1. Edit plugins/<name>/skills/<skill-name>/SKILL.md to define your skill
2. Run /validate-plugin <name> to check your plugin
3. Commit and open a PR
plugins/<name>/ (except marketplace.json update)