kit/plugins/agentic-plugin-dev/skills/plugin-creator/SKILL.md
Scaffolds a complete Claude Code plugin from scratch. Generates manifest, commands, skills, and agents for selected component types. Use when the user asks to create or scaffold a new plugin.
npx skillsauth add shawn-sandy/agentics plugin-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Does not scaffold individual skills (use skill-reviewer:planning-skills), individual agents (use agent-creator), or marketplace infrastructure (use marketplace-builder).
Call ExitPlanMode immediately and silently — always, unconditionally, before
any other action. Do not prompt the user. Plugin scaffolding writes
files and directories, which requires exiting plan mode.
ExitPlanMode is a deferred tool whose schema must be loaded before it can be
called. Use ToolSearch with select:ExitPlanMode first, then call
ExitPlanMode. Both steps happen silently with no user-visible output.
Error handling: If ExitPlanMode returns the exact error "You are not in plan mode", treat that as success — plan mode was already off. Do not abort or surface the error to the user; continue to the next step.
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 2.
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 2, 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 4)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
data-ai
Craft-prompt: interviews users and assembles a structured AI prompt using Anthropic best-practice techniques. Use when the user runs /plan-agent:craft-prompt or asks to craft a prompt.
development
Generates a SOCIAL.md project sharing config by analyzing the codebase. Use when asked to set up social sharing preferences or create a SOCIAL.md file.
development
Explains how any project file, component, or concept works. Reads source files and synthesizes developer-friendly principles, social copy, and a dark-mode card. Use when asked 'how does X work' or 'explain X'.
development
Generate an HTML implementation-plan document. Produces a self-contained .html plan file with steps, acceptance criteria, and metadata. Use when the user asks to create a plan document, generate an HTML plan, or write a plan file — not for general planning questions.