Scaffold agents/agent.{name}/.claude/skills/{skill}/SKILL.md with standard metadata and optional dev command. Use when the user runs /create-skill with a prompt and @agent.
/create-skill "…natural-language prompt for what the skill should do…" @{agent-name}
description).@{agent-name} — required short agent id (no agent. prefix). Examples: @dev → agents/agent.dev/, @manager → agents/agent.manager/.| Piece | Rule |
|---|---|
| Agent root | agents/agent.{agent-name}/ |
| Skill folder | agents/agent.{agent-name}/.claude/skills/{skill-slug}/ |
| Main file |
SKILL.md inside that folder (required) |
name (YAML) | Same as {skill-slug}: lowercase, digits, hyphens only; max 64 characters; match directory name |
description (YAML) | Third person, what + when; max 1024 characters; derived from the prompt |
| Extra files | Optional: reference.md, scripts/, etc., one level deep from SKILL.md |
Derive {skill-slug} from the prompt (concise, action-oriented, e.g. deploy-preview, parse-invoices). If the user gave an explicit name, use that (normalized to kebab-case).
!)Slash commands that expect user-supplied context (quoted prompts, @ mentions, attachments, or heavy reliance on prior conversation) should use a ! prefix on the command file basename so they are easy to spot and group:
.claude/commands/dev/!create-skill.dev.md (this workflow).! (e.g. a simple /sync-project wrapper).When you add a new context-heavy command for this skill, use !{command-name}.dev.md under .claude/commands/dev/ unless the team places commands on another agent suffix.
SKILL.md frontmatter (always use unless the user explicitly overrides in the prompt)Every new skill MUST open with:
---