Create
Create Claude Code skills, slash commands, subagents, or technical specs. Dispatches by type. Use when the user wants to create a new skill, new slash command, new subagent, new agent, write a spec, draft a specification, formalize a design, audit a spec, promote a decision record, or needs help with skill descriptions, command frontmatter, agent tool permissions, or RFC-style technical documentation. Triggers on "create a skill", "new skill", "create a command", "new slash command", "create an agent", "new subagent", "write a spec", "spec for", "draft an RFC", "formalize this", "audit this spec", "revise the spec".From its SKILL.md
npx -y skills add mjmorales/claude-prove --skill createAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
10.9 KB, as published. Nobody here has run it
Create
Unified creator for skills, commands, agents, and specs. Parses --type from $ARGUMENTS (or asks) and runs the matching workflow.
Shared references: references/creator-conventions.md, references/prompt-engineering-guide.md, references/interaction-patterns.md.
Dispatch
Parse $ARGUMENTS for --type skill|command|agent|spec (or leading positional token skill|command|agent|spec). If ambiguous, AskUserQuestion (header "Type"):
- "Skill" — new Claude Code skill
- "Command" — new slash command
- "Agent" — new subagent
- "Spec" — technical specification (delegates to
spec-writeragent)
Remainder of $ARGUMENTS is the subject/name hint.
Shared Workflow
All types follow this skeleton; per-type sections add fields and validation.
1. Gather Requirements
AskUserQuestion for discrete choices; free-form for open-ended.
Common fields:
- Purpose (free-form): what it does, when to invoke it.
- Location —
AskUserQuestionheader "Location":- "Project" —
.claude/<kind>/(versioned with repo) - "User Global" —
~/.claude/<kind>/(across projects) - "Plugin" —
<kind>/(prove-style plugin root)
- "Project" —
Type-specific fields follow (see per-type sections).
2. Generate
Apply references/prompt-engineering-guide.md techniques. Derive hyphen-case name from purpose when not supplied.
3. Quality Self-Check
Before presenting, verify:
- Primacy: critical directives appear early.
- Constraint pairing: every "never X" has an "instead, do Y".
- No preamble bloat, no redundant restatement.
- Model calibration: Opus < Sonnet < Haiku in scaffolding.
- Token budget fits consumption context.
Fix failures before presenting.
4. Validate
Per-type checklist (see sections below). Must pass before writing.
5. Review Gate
AskUserQuestion header "Review": "Create" / "Revise".
6. Commit Delegation
On commit request, delegate to the commit skill. Do not craft ad-hoc commits.
Plugin Scope Registration
When adding to a plugin, ensure .claude/.prove.json has the scope:
"scopes": { "commands": "commands/", "agents": "agents/", "skills": "skills/" }
Type: Skill
Path: skills/<name>/SKILL.md (plus optional references/, assets/, scripts).
Gather (skill-specific)
- Interaction pattern —
AskUserQuestionheader "Interaction":- "Autonomous" — no user input
- "Interactive" — uses
AskUserQuestiongates - "Delegating" — thin wrapper over an agent
- Resources —
AskUserQuestionheader "Resources" (multiSelect):- "Reference docs" (
references/<topic>.md) - "Templates/assets" (
assets/<template>.md) - "Scripts"
- "None"
- "Reference docs" (
Frontmatter
---
name: <hyphen-case>
description: <action-first; 2-3 trigger scenarios; natural trigger phrases>
---
Description tuning (highest-leverage field):
- Front-load the primary action verb.
- Include 2-3 concrete trigger scenarios.
- List natural trigger phrases the user would say.
Body by Interaction Pattern
- Autonomous: numbered workflow steps.
- Interactive: gather → execute → validate → review gate.
- Delegating: before delegating → delegation prompt → after delegation.
Validation Checklist
- Directory name matches
namefrontmatter -
nameanddescriptionpresent - Description front-loads action and includes trigger scenarios
- Body uses numbered steps for workflows
- Interactive skills follow
references/interaction-patterns.md - Token budget appropriate for skill context
- Referenced resources exist or are in plan
- Plugin skills:
skillsscope in.claude/.prove.json
Optional Command Wrapper
If the skill should be user-invocable via /prove:<name>, offer a thin command:
---
description: <short skill description>
argument-hint: "[input]"
---
# <Name>: $ARGUMENTS
Load and follow `skills/<name>/SKILL.md`.
Commit example: feat(skills): add <name> skill.
Type: Command
Path: <location>/commands/<name>.md (or commands/<ns>/<name>.md for namespaced /ns:name).
Gather (command-specific)
- Arguments —
AskUserQuestionheader "Arguments":- "No arguments"
- "Single argument" — use
$ARGUMENTS - "Multiple arguments" — use
$1,$2, ...
- Tool restrictions —
AskUserQuestionheader "Tools":- "Full access (Recommended)" — omit
allowed-tools - "Read-only" —
Read, Grep, Glob - "Git-only" —
Bash(git *) - "Custom" — user specifies
- "Full access (Recommended)" — omit
- Skill delegation (plugins only, free-form): which skill does it wrap? Plugin commands are thin entry points.
Frontmatter
---
description: <action-first; shown in /help and autocomplete (~250 char cap)>
argument-hint: "[expected args]"
allowed-tools: <if restricted>
---
Body Templates
Standalone:
---
description: <action>
argument-hint: "[input]"
---
<Command prompt content>
Plugin wrapper (thin — logic lives in skill):
---
description: <action>
argument-hint: "[input]"
---
# <Name>: $ARGUMENTS
Load and follow `skills/<name>/SKILL.md`.
Placement
| Location | Path |
|---|---|
| Project | .claude/commands/<name>.md |
| User | ~/.claude/commands/<name>.md |
| Plugin | commands/<name>.md |
| Namespaced | commands/<ns>/<name>.md → /ns:name |
Validation Checklist
- Filename lowercase, hyphen-delimited, matches purpose
-
descriptionpresent (required for model invocation and/help) -
argument-hintset if command accepts arguments - Tool restrictions match intent (read-only for analysis, etc.)
- Plugin commands delegate to a skill — no business logic in the file
- Multi-step workflows use numbered steps
- Body does not restate the description
Commit example: feat(commands): add <name> command.
Type: Agent
Path: <location>/agents/<name>.md.
Gather (agent-specific)
- Tool permissions —
AskUserQuestionheader "Tools":- "Read-only (Recommended for reviewers)" —
Read, Grep, Glob - "Read + Research" —
Read, Grep, Glob, WebFetch, WebSearch - "Full developer" —
Read, Write, Edit, Bash, Glob, Grep - "Custom"
- "Read-only (Recommended for reviewers)" —
- Model —
AskUserQuestionheader "Model":- "opus" — complex reasoning, architecture
- "sonnet (Recommended)" — general development
- "haiku" — simple, repetitive, cost-efficient
Frontmatter
---
name: <hyphen-case>
description: <WHAT it does + WHEN to invoke; drives auto-delegation>
tools: <scoped permission list>
model: opus|sonnet|haiku
---
System Prompt Structure
- Identity and purpose
- Available tools and when to use each
- Workflow — numbered decision loop
- Output format and reporting
- Constraints and guardrails
- Failure handling
Model calibration:
- Opus: lean, few guardrails. Target ~285-636 tokens (built-in agent range).
- Sonnet: moderate detail, explicit workflow steps.
- Haiku: more scaffolding, explicit examples, precise constraints.
Validation Checklist
- Name hyphen-case, matches filename
- Description explains what + when (drives auto-delegation)
- Tools match role (read-only for reviewers; no
Write/Edit/Bashunless needed) - System prompt has clear responsibilities and workflow
- Output format specified
- Model appropriate for task complexity
- Plugin agents:
agentsscope in.claude/.prove.json
Commit example: feat(agents): add <name> agent.
Type: Spec
Orchestrates spec lifecycle (create, revise, audit). Delegates all writing to the spec-writer agent — this skill does not author spec text directly.
Step 1: Determine Mode
If not obvious from context, AskUserQuestion header "Mode" with "Research & proceed" per references/interaction-patterns.md:
- New Draft — from description, decision records, or conversation
- Revise — edit existing spec (user gives path or search
specs/) - Audit — review for completeness, ambiguity, consistency; no modifications
Defaults:
$ARGUMENTSpoints to a.spec.mdfile → Revise$ARGUMENTSreferences.prove/decisions/→ New Draft
Step 2: Gather Context
New Draft:
- Read referenced decision records; extract chosen option and design details.
- Check
specs/for related specs to cross-reference. - Confirm scope (in/out of scope) with user.
Revise:
- Read the spec in full.
- Clarify desired changes (additions, removals, clarifications, restructuring).
- Determine version bump: major (breaking) or minor (additive/clarification).
Audit:
- Read the spec in full.
- Optionally read related specs for cross-reference consistency.
Step 3: Delegate to spec-writer Agent
Launch the spec-writer agent with a structured prompt. The agent owns RFC conventions, section structure (Purpose, Scope, Terminology, Conformance, normative body, Change Log), normative language, and self-auditing.
New Draft:
Mode: New Draft
Subject: [title]
Version: 0.1 (Draft)
Input context: [decision records, brainstorm notes, or requirements]
Scope:
- In scope: [what the spec defines]
- Out of scope: [what it excludes]
Related specs: [existing specs in specs/ to cross-reference]
Write to: specs/[slug].spec.md
Revise:
Mode: Revise
Spec path: specs/[name].spec.md
Current version: [X.Y]
Changes requested: [what to add, remove, or modify]
Version bump: [major | minor]
Update in place.
Audit:
Mode: Audit
Spec path: specs/[name].spec.md
Run the full Completeness Checklist. Report findings as:
- Location (section number or line)
- Issue description
- Severity (Critical / Important / Improvement)
- Suggested fix
Do not modify the spec.
Step 4: Review Output
- New Draft: verify file at
specs/[slug].spec.mdfollows expected structure. Report location and version. - Revise: verify version bump, Change Log update, cross-reference resolution. Report changes.
- Audit: present findings by severity.
AskUserQuestionheader "Next step": "Fix issues" (switch to Revise) / "Done".
Rules
- Delegate writing to the
spec-writeragent; this skill orchestrates only. - Confirm scope before drafting; prefer promoting existing decision records over starting from scratch.
Commit examples:
docs(specs): draft validation config v2 specificationdocs(specs): revise handoff protocol — add context fields