plugins/marketplace-ops/skills/skills-creator/SKILL.md
Guided creation of Claude Code plugin components - skills, agents, commands, and full plugins. Walks through requirements gathering, generates production-ready files with real content (not placeholders), registers in marketplace.json, and bumps versions. Also trigger on "new skill", "new agent", "new plugin", "add a skill", "add an agent", "skills-creator", "skills-hammer". Also helps decide skill vs agent architecture when reorganizing plugins. DO NOT TRIGGER for editing or updating existing components - only for new creation or architectural decisions (skill vs agent). TRIGGER WHEN: the user asks to create, add, scaffold, or build a new skill, agent, command, or plugin DO NOT TRIGGER WHEN: the task is outside the specific scope of this component.
npx skillsauth add acaprino/anvil-toolset skills-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.
Create new Claude Code plugin components (skills, agents, commands, full plugins) with proper conventions and real content. Marketplace-agnostic: read the target .claude-plugin/marketplace.json and CLAUDE.md for project-specific conventions (author, license, category taxonomy) before scaffolding.
Determine what the user wants to create:
1. "new skill" --> Skill Creation workflow
2. "new agent" --> Agent Creation workflow
3. "new command" --> Command Creation workflow
4. "new plugin" --> Full Plugin workflow (combines above)
If unclear, ask: "What do you want to create -- a skill, agent, command, or full plugin?"
Before gathering requirements, help the user decide the right component type.
Key question: "Does this need its own context/tools/isolation, or is it knowledge that any agent should access?"
See references/skills-vs-agents.md for the full decision table, real restructure examples, and anti-patterns.
The description field is the single most important line in any skill or agent. It determines whether the component activates at all. Passive descriptions achieve ~50-77% activation; directive descriptions with negative constraints achieve 97-100%.
<Domain> expert. ALWAYS invoke this skill when the user <trigger actions>.
Do not <alternative action> directly.
TRIGGER WHEN: <specific triggers, comma-separated>
DO NOT TRIGGER WHEN: <exclusions>
# BAD (50-77% activation) -- passive, suggestion-style
description: "Helps with Docker containerization tasks"
# GOOD (97-100% activation) -- directive with negative constraint
description: >
Docker containerization expert. ALWAYS invoke this skill when the user
asks about Docker, containers, Dockerfiles, or docker-compose.
Do not run Docker commands or write Dockerfiles directly.
TRIGGER WHEN: building containers, writing Dockerfiles, debugging Docker issues
DO NOT TRIGGER WHEN: the task is not about containerization.
Each skill/agent costs ~100 tokens at idle (just name + description in system prompt). All descriptions combined share a 15,000 character budget by default. When total description text exceeds this limit, skills may be silently dropped from the system prompt.
Before writing any files, gather enough context to produce real content.
Ask (adapt based on what's already known):
Ask (adapt based on what's already known):
Ask (adapt based on what's already known):
Ask (adapt based on what's already known):
Do not ask more than 3-4 questions per message. Start with the most important, follow up as needed.
Generate production-ready files with real content -- not [FILL] placeholders.
plugins/<plugin>/skills/<skill-name>/SKILL.md following these rules:
name (kebab-case, max 64 chars) and description (max 1024 chars)TRIGGER WHEN: and DO NOT TRIGGER WHEN: linescontext: fork (isolates in subagent), allowed-tools (restricts tool access), disable-model-invocation: true (prevents auto-triggering)!command syntax for dynamic context injection (shell commands that execute before content reaches Claude)references/, scripts/, assets/ subdirs only if neededplugins/<plugin>/agents/<agent-name>.mdname, description (use YAML > for multiline), model: inherit, color, optionally toolsTRIGGER WHEN: and DO NOT TRIGGER WHEN: lines"Expert X. TRIGGER WHEN: user needs Y. DO NOT TRIGGER WHEN: task is Z."# ROLE, # CAPABILITIES or # CORE CAPABILITIES, # CONVENTIONS, # OUTPUT FORMATplugins/<plugin>/commands/<command-name>.mddescription, argument-hintAfter files are created:
.claude-plugin/marketplace.jsonagents, skills, or commands arrays
"./agents/<name>.md""./skills/<name>""./commands/<name>.md"plugins[] with all required fields (name, source, description, version 1.0.0, author, license, keywords, category, strict)After registration:
| Scenario | Wrong | Right | |----------|-------|-------| | Writing descriptions | Passive: "Helps with Docker" (50% activation) | Directive: "ALWAYS invoke when user asks about Docker. Do not run Docker commands directly." (97%+ activation) | | Description tone | "Can be used for...", "Use when..." | "ALWAYS invoke this skill when...", "Do not X directly" | | Missing exclusions | No DO NOT TRIGGER WHEN clause | Always specify what should NOT trigger the component | | Writing agent prompts | Verbose prose paragraphs | Terse keyword-list style | | Skill body length | 800+ lines in SKILL.md | Split into references/ at ~300 lines | | Skill body content | Repeating what Claude already knows | Only add context Claude lacks; trust built-in knowledge | | Creating resources | Empty placeholder dirs | Only create dirs that have files | | Choosing a plugin | Always create a new one | Prefer adding to existing plugin if domain fits | | Agent description | First/second person | Third person: "Processes X when Y" | | Token budget | Long verbose descriptions on all components | Keep descriptions under 300 chars when possible; total budget is 15k chars |
- or double hyphen --inherit (agents follow the session model)name fieldname fielddevelopment
Quality gates for multi-reviewer code review pipelines: adversarial verification panel, completeness critic, reviewer pipeline conventions, and the context sharing pattern for parallel reviewers. TRIGGER WHEN: running /senior-review:team-review quality gates; running /senior-review:code-review Steps 4b/4c (adversarial verification and completeness check); consolidating or deduplicating findings from multiple parallel reviewers. DO NOT TRIGGER WHEN: single-reviewer style review without a consolidation phase, or generic team coordination (the upstream agent-teams skills cover that).
development
Knowledge base for pure-architecture decisions on when to unify duplicated logic into a shared abstraction versus leave it duplicated. Covers the canonical theory (Rule of Three, DRY/WET/AHA, Wrong Abstraction, Locality of Behaviour, Bounded Contexts, Tidy First options framing, CUPID vs SOLID), 12 essential-duplication patterns that justify unification, 12 wrong-abstraction patterns that justify inlining or decomposition, an operational decision frame, and a verified reading list. TRIGGER WHEN: the user is making an architectural decision about whether to centralize, extract, or remove a layer; reviewing an abstraction for premature generality; auditing scattered cross-cutting concerns; spawned by the abstraction-architect agent during /abstraction-architect:audit or as the Abstraction dimension of /senior-review:team-review or /senior-review:code-review; the user asks "should I extract this into a service" / "is this DRY enough" / "is this wrong abstraction". DO NOT TRIGGER WHEN: the task is code formatting and readability cleanup (use clean-code:clean-code), Python-specific refactoring with metrics (use python-development:python-refactor), generic dead-code removal (use senior-review:cleanup-dead-code), security review (use senior-review:security-auditor), or pure pattern-consistency review without an architecture lens (use senior-review:code-auditor).
development
Unified web frontend knowledge base covering CSS architecture, UX psychology, UI components, distinctive aesthetics, and interface design generation. TRIGGER WHEN: working on web styling, design systems, component decisions, responsive strategy, distinctive frontend aesthetics, or exploring multiple interface designs. DO NOT TRIGGER WHEN: the task is purely backend or unrelated to web frontend.
development
Stripe payments knowledge base - API patterns, checkout optimization, subscription lifecycle, pricing strategies, webhook reliability, Firebase integration, cost analysis, and revenue modeling. Loaded by stripe-integrator and revenue-optimizer agents; also consumable directly when the user asks for Stripe-specific patterns without needing an agent. TRIGGER WHEN: working with Stripe API (Payment Intents, Customers, Subscriptions, Checkout Sessions, Connect, webhooks, tax, usage-based billing), pricing strategy, or revenue modeling. DO NOT TRIGGER WHEN: payment work is non-Stripe (PayPal, Square, crypto) or the task is generic e-commerce unrelated to payments.