From prove
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".
How this skill is triggered — by the user, by Claude, or both
Slash command
/prove:createThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Unified creator for skills, commands, agents, and specs. Parses `--type` from `$ARGUMENTS` (or asks) and runs the matching workflow.
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.
Parse $ARGUMENTS for --type skill|command|agent|spec (or leading positional token skill|command|agent|spec). If ambiguous, AskUserQuestion (header "Type"):
spec-writer agent)Remainder of $ARGUMENTS is the subject/name hint.
All types follow this skeleton; per-type sections add fields and validation.
AskUserQuestion for discrete choices; free-form for open-ended.
Common fields:
AskUserQuestion header "Location":
.claude/<kind>/ (versioned with repo)~/.claude/<kind>/ (across projects)<kind>/ (prove-style plugin root)Type-specific fields follow (see per-type sections).
Apply references/prompt-engineering-guide.md techniques. Derive hyphen-case name from purpose when not supplied.
Before presenting, verify:
Fix failures before presenting.
Per-type checklist (see sections below). Must pass before writing.
AskUserQuestion header "Review": "Create" / "Revise".
On commit request, delegate to the commit skill. Do not craft ad-hoc commits.
When adding to a plugin, ensure .claude/.prove.json has the scope:
"scopes": { "commands": "commands/", "agents": "agents/", "skills": "skills/" }
Path: skills/<name>/SKILL.md (plus optional references/, assets/, scripts).
AskUserQuestion header "Interaction":
AskUserQuestion gatesAskUserQuestion header "Resources" (multiSelect):
references/<topic>.md)assets/<template>.md)---
name: <hyphen-case>
description: <action-first; 2-3 trigger scenarios; natural trigger phrases>
---
Description tuning (highest-leverage field):
name frontmattername and description presentreferences/interaction-patterns.mdskills scope in .claude/.prove.jsonIf 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.
Path: <location>/commands/<name>.md (or commands/<ns>/<name>.md for namespaced /ns:name).
AskUserQuestion header "Arguments":
$ARGUMENTS$1, $2, ...AskUserQuestion header "Tools":
allowed-toolsRead, Grep, GlobBash(git *)---
description: <action-first; shown in /help and autocomplete (~250 char cap)>
argument-hint: "[expected args]"
allowed-tools: <if restricted>
---
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`.
| Location | Path |
|---|---|
| Project | .claude/commands/<name>.md |
| User | ~/.claude/commands/<name>.md |
| Plugin | commands/<name>.md |
| Namespaced | commands/<ns>/<name>.md → /ns:name |
description present (required for model invocation and /help)argument-hint set if command accepts argumentsCommit example: feat(commands): add <name> command.
Path: <location>/agents/<name>.md.
AskUserQuestion header "Tools":
Read, Grep, GlobRead, Grep, Glob, WebFetch, WebSearchRead, Write, Edit, Bash, Glob, GrepAskUserQuestion header "Model":
---
name: <hyphen-case>
description: <WHAT it does + WHEN to invoke; drives auto-delegation>
tools: <scoped permission list>
model: opus|sonnet|haiku
---
Model calibration:
Write/Edit/Bash unless needed)agents scope in .claude/.prove.jsonCommit example: feat(agents): add <name> agent.
Orchestrates spec lifecycle (create, revise, audit). Delegates all writing to the spec-writer agent — this skill does not author spec text directly.
If not obvious from context, AskUserQuestion header "Mode" with "Research & proceed" per references/interaction-patterns.md:
specs/)Defaults:
$ARGUMENTS points to a .spec.md file → Revise$ARGUMENTS references .prove/decisions/ → New DraftNew Draft:
specs/ for related specs to cross-reference.Revise:
Audit:
spec-writer AgentLaunch 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.
specs/[slug].spec.md follows expected structure. Report location and version.AskUserQuestion header "Next step": "Fix issues" (switch to Revise) / "Done".spec-writer agent; this skill orchestrates only.Commit examples:
docs(specs): draft validation config v2 specificationdocs(specs): revise handoff protocol — add context fieldsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub mjmorales/claude-prove --plugin prove