From plugin-dev
Create a new plugin for Claude Code marketplace with validation, ADR, and release automation. TRIGGERS - create plugin, new plugin, scaffold plugin
How this skill is triggered — by the user, by Claude, or both
Slash command
/plugin-dev:create [plugin-name] (optional - will prompt if not provided)[plugin-name] (optional - will prompt if not provided)This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- ⛔⛔⛔ MANDATORY: READ THIS ENTIRE FILE BEFORE ANY ACTION ⛔⛔⛔ -->
DO NOT ACT ON ASSUMPTIONS. Read this file first.
This is a structured workflow command for creating a new plugin in a Claude Code marketplace.
Your FIRST and ONLY action right now: Execute the TodoWrite below.
Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
YOUR FIRST ACTION MUST BE the TodoWrite call below.
DO NOT:
Before executing TodoWrite, verify you're in a marketplace directory:
/usr/bin/env bash << 'PREFLIGHT_EOF'
# Check for marketplace.json in cwd
if [ -f ".claude-plugin/marketplace.json" ]; then
echo "✅ Marketplace detected: $(jq -r .name .claude-plugin/marketplace.json)"
else
echo "❌ Not a marketplace directory. Run from a marketplace root."
exit 1
fi
PREFLIGHT_EOF
Execute TodoWrite NOW with this template:
TodoWrite with todos:
- "[Plugin] Phase 0: Detect marketplace root" | in_progress
- "[Plugin] Phase 0: Interactive prompts (name, category, components)" | pending
- "[Plugin] Phase 0: Confirm plugin doesn't exist" | pending
- "[Plugin] Phase 1: Skill → plugin-structure (scaffold)" | pending
- "[Plugin] Phase 1: Create plugin directory + plugin.json" | pending
- "[Plugin] Phase 1: Skill → implement-plan-preflight (ADR)" | pending
- "[Plugin] Phase 2: Skill → skill-architecture (if has-skills)" | pending
- "[Plugin] Phase 2: Skill → hook-development (if has-hooks)" | pending
- "[Plugin] Phase 2: Skill → command-development (if has-commands)" | pending
- "[Plugin] Phase 2: Skill → agent-development (if has-agents)" | pending
- "[Plugin] Phase 2: Agent → skill-reviewer (if skills created)" | pending
- "[Plugin] Phase 3: Add to marketplace.json" | pending
- "[Plugin] Phase 3: Run validate-plugins.mjs" | pending
- "[Plugin] Phase 3: Skill → code-hardcode-audit" | pending
- "[Plugin] Phase 3: Agent → plugin-validator" | pending
- "[Plugin] Phase 4: Git commit (conventional format)" | pending
- "[Plugin] Phase 4: Push to remote" | pending
- "[Plugin] Phase 4: Skill → semantic-release" | pending
After TodoWrite completes, proceed to Phase 0 section below.
| Order | Skill | Phase | Purpose | Invocation |
|---|---|---|---|---|
| 1 | plugin-structure | 1 | Directory & manifest | Skill(plugin-dev:plugin-structure) |
| 2 | implement-plan-preflight | 1 | ADR + Design Spec + Diagrams | Skill(itp:implement-plan-preflight) |
| 3 | skill-architecture | 2 | Create skills (if has-skills) | Skill(plugin-dev:skill-architecture) |
| 4 | hook-development | 2 | Create hooks (if has-hooks) | Skill(plugin-dev:hook-development) |
| 5 | command-development | 2 | Create commands (if has-commands) | Skill(plugin-dev:command-development) |
| 6 | agent-development | 2 | Create agents (if has-agents) | Skill(plugin-dev:agent-development) |
| 7 | code-hardcode-audit | 3 | Quality audit | Skill(itp:code-hardcode-audit) |
| 8 | plugin-validator | 3 | Silent failure audit | Skill(plugin-dev:plugin-validator) |
| 9 | run-full-release | 4 | Run repo's mise release pipeline | Skill(mise:run-full-release) |
| Skill | Reason Excluded |
|---|---|
| plugin-dev:skill-development | Use skill-architecture instead (3x more comprehensive) |
| plugin-dev:plugin-settings | Merged into hook-development |
| itp:adr-graph-easy-architect | Invoked BY implement-plan-preflight (not separately) |
| Phase | Agent | Purpose | Invocation |
|---|---|---|---|
| 2 | skill-reviewer | Review skill quality | Task(plugin-dev:skill-reviewer) |
| 3 | plugin-validator | Validate final structure | Task(plugin-dev:plugin-validator) |
| Artifact | Path | Notes |
|---|---|---|
| Plugin Directory | plugins/{name}/ | Main plugin folder |
| Plugin Manifest | plugins/{name}/plugin.json | Required manifest |
| Plugin README | plugins/{name}/README.md | Documentation |
| Marketplace JSON | .claude-plugin/marketplace.json | Must add plugin entry |
| ADR | docs/adr/YYYY-MM-DD-{name}.md | Created by preflight skill |
| Design Spec | docs/design/YYYY-MM-DD-{name}/spec.md | Created by preflight skill |
Detect marketplace root, gather plugin name/category/components via interactive prompts, confirm the plugin does not already exist.
Detailed steps: Phase 0 Reference
.claude-plugin/marketplace.json exists)Skill(plugin-dev:plugin-structure) -- directory & manifest patternsplugin.json using marketplace versionSkill(itp:implement-plan-preflight) -- creates ADR + Design Spec + diagramsDetailed steps: Phase 1 Reference
plugins/$PLUGIN_NAME/docs/adr/$ADR_ID.mddocs/design/$ADR_ID/spec.mdExecute ONLY the skills for components the user selected:
| Component | Skill Invocation | Then |
|---|---|---|
| Skills | Skill(plugin-dev:skill-architecture) | Spawn Task(plugin-dev:skill-reviewer) |
| Hooks | Skill(plugin-dev:hook-development) | -- |
| Commands | Skill(plugin-dev:command-development) | -- |
| Agents | Skill(plugin-dev:agent-development) | -- |
Detailed steps: Phase 2 Reference
marketplace.json (include hooks field if hooks exist)node scripts/validate-plugins.mjs -- expect all-passSkill(itp:code-hardcode-audit) -- quality auditTask(plugin-dev:plugin-validator) -- structural validationDetailed steps: Phase 3 Reference
feat($PLUGIN_NAME): add plugin for [brief description]Skill(mise:run-full-release) -- run repo's mise release pipeline for tag, changelog, GitHub releaseDetailed steps: Phase 4 Reference
See Troubleshooting Reference for common issues and fixes.
After this skill completes, reflect before closing the task:
Do NOT defer. The next invocation inherits whatever you leave behind.
Guides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.
npx claudepluginhub terrylica/cc-skills --plugin plugin-dev