From agentic-plugin-dev
Scaffolds complete Claude Code plugins with guided workflows. Use when the user asks to "create a plugin", "scaffold a plugin", "generate a new plugin", "make a plugin", or "set up a plugin from scratch". Covers plugin manifest, commands, skills, agents, hooks, and MCP server scaffolding. Does NOT scaffold individual skills (use skill-reviewer:planning-skills), individual agents (use agent-creator), or marketplace infrastructure (use marketplace-builder).
npx claudepluginhub shawn-sandy/agentics --plugin agentic-plugin-devThis skill uses the workspace's default tool permissions.
**If plan mode is active, STOP immediately.** Do not proceed to any step below. Instead, respond:
Writes articles, guides, blog posts, tutorials, and newsletters in a voice from examples or brand guidance. For polished long-form content with structure, pacing, and credibility.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Executes repo commands, inspects git state, debugs CI failures, and pushes narrow fixes with exact proof of execution and verification. Use for command runs, repo checks, or evidence-based changes.
If plan mode is active, STOP immediately. Do not proceed to any step below. Instead, respond:
"The plugin-creator skill writes files and directories, which is not allowed in plan mode. Please exit plan mode first (
/exit-plan), then invoke this skill again."
Walks users through a structured workflow to scaffold a complete Claude Code plugin — producing a ready-to-use plugin directory with manifest, components, and changelog.
Follow these steps exactly.
Before proceeding, check if the user's intent is ambiguous. If the request could mean something other than creating a full plugin, clarify:
skill-reviewer:planning-skills."agent-creator."marketplace-builder instead."If the user clearly wants a full plugin, proceed to Step 1.
Ask the user up to 4 questions using AskUserQuestion to understand the plugin they want. Skip questions already answered.
Questions to consider (pick the most relevant):
anthropic or claude substrings./plugin:commandplugins/[name]/. Confirm with user.After gathering answers, summarize:
**Plugin concept:**
- Name: [name]
- Purpose: [description]
- Components: [list]
- Location: plugins/[name]/
For each component type selected in Step 1, gather specifics:
For each command:
$ARGUMENTSFor each skill:
For each agent:
For each hook:
For each server:
Present the complete component plan for confirmation before proceeding.
Generate plugin.json using the schema from references/plugin-json-schema.md.
Rules:
name is requiredversion (relative-path convention — version lives in marketplace.json only)description, author, license, keywords, homepage, repositoryhttps://github.com/[owner]/[repo]/tree/main/plugins/[name]Present the manifest for confirmation:
"Here's the plugin manifest. Should I proceed?"
{
"name": "[name]",
"description": "[description]",
...
}
After the user confirms, show the full file list before writing:
"I'll generate the following files at
plugins/[name]/:
.claude-plugin/plugin.json- [list all component files]
CHANGELOG.mdShould I proceed?"
Write files sequentially using templates from references/component-templates.md:
.claude-plugin/plugin.json — Plugin manifest (from Step 3)CHANGELOG.md — Initial entry using Keep a Changelog formatFor each component type:
commands/[name].md with YAML frontmatter + markdown bodyskills/[name]/SKILL.md with YAML frontmatter + structured body. Create references/ subdirectory if the skill needs reference filesagents/[name].md with YAML frontmatter + system prompt bodyhooks.json at plugin root.mcp.json at plugin rootError handling: If any file write fails, report which files succeeded and which failed. Do not stop on first failure.
Undo guidance: After all files are written, inform the user: "To undo, remove the plugins/[name]/ directory or run git checkout to revert."
This step is conditional — only offer when a marketplace.json file exists.
Glob to check for .claude-plugin/marketplace.json in the project rootplugin-manager."If the user confirms:
marketplace.json[name] v[version]. Register here?"plugins array:
{
"name": "[plugin-name]",
"source": "./plugins/[plugin-name]",
"version": "1.0.0",
"description": "[from plugin.json]",
"category": "[ask user or infer]",
"tags": ["relevant", "tags"]
}
marketplace.jsonAfter all steps, present:
## Plugin Created
**Location:** plugins/[name]/
**Components:** [count] commands, [count] skills, [count] agents
**Marketplace:** [registered/not registered]
**Files created:**
- [list with line counts]
**Next steps:**
1. Load the plugin: `claude --plugin-dir ./plugins/[name]`
2. Test each component
3. Refine descriptions and instructions as needed