From project-tools
Scaffold a new skill or command with correct structure, auto-determining the appropriate type
How this skill is triggered — by the user, by Claude, or both
Slash command
/project-tools:create-skillThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scaffold a new Claude Code skill or command and register it in the README. Automatically determines whether the
Scaffold a new Claude Code skill or command and register it in the README. Automatically determines whether the addition is better suited as a skill (rich multi-step workflow) or a command (lightweight single action) based on the audit criteria below, then asks the user to confirm or override before scaffolding.
create-pr)If $ARGUMENTS is empty, ask the user for the name and description before proceeding.
Validate the name:
$0 is kebab-case (lowercase letters and hyphens only). If not, convert it and tell the user.skills/$0/ nor commands/$0.md already exists in the target plugin. If either does, stop and
tell the user it already exists.Read existing files for reference: Read one or two existing SKILL.md files and one command .md file (if any
exist) from the plugin directory to confirm current conventions before writing anything.
Determine the description: Use $1 if provided. If not, ask the user for a one-sentence description before
continuing.
Determine the type — evaluate the description against these five signals:
| Signal | Favors Skill | Favors Command |
|---|---|---|
| Step count | Would need 3+ steps with branching or conditional logic | Would need 1–2 simple linear steps |
| Context needs | Requires domain knowledge or codebase understanding | Needs only file paths or simple args |
| Tool variety | Would use 3+ different tools | Would use mainly Bash or Write alone |
| Output complexity | Produces structured analysis, reports, or multi-file changes | Produces a single file or simple output |
| Bundled resources | Would benefit from scripts/, references/, or assets/ | None needed |
Scaffold based on determined type:
If skill — create <plugin>/skills/$0/SKILL.md with this structure:
---
name: <name>
description: <description>
argument-hint: "[arguments]"
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
---
<One paragraph explaining what this skill does and when to use it.>
## Steps
1. **Step one**: Description of the first step.
2. **Step two**: Description of the second step.
3. **Step three**: Description of the third step.
## Important
- Key constraint or safety rule.
- Another constraint.
name to $0 and description to the agreed description.argument-hint only if the skill takes arguments; remove the field entirely if it takes none.allowed-tools that the skill clearly won't need.If command — create <plugin>/commands/$0.md with this structure:
---
name: <name>
description: <description>
argument-hint: "[arguments]"
allowed-tools:
- Write
---
<One sentence explaining what this command does.>
- Bullet point describing key behavior.
- Another bullet point.
name to $0 and description to the agreed description.argument-hint only if the command takes arguments; remove the field entirely if it takes none.allowed-tools (commands typically use 1–2).Update README.md: If a README.md exists in the repo root, add a row to the appropriate per-plugin table:
| \/ [args]` | |` under a Skill column header| \/ [args]` | |` under a Command column headerReport: Tell the user what was created, where, and which type. For skills, remind them to fill in the Steps and Important sections. For commands, remind them to fill in the bullet points.
npx claudepluginhub mattbobambrose/mattbobambrose-claude-skills --plugin project-toolsGenerates structured SKILL.md files for new Claude Code skills from purpose descriptions, following templates with frontmatter, usage triggers, steps, and best practices.
Creates directory and SKILL.md scaffold with YAML frontmatter for new Claude skills. Invoke via /create-skill [kebab-case-name] when starting skills from scratch.
Generates Claude Code skills and slash commands: interviews for requirements, selects type, crafts dense frontmatter with trigger phrases, initializes directories via Python script.