From skill-utils
This skill should be used when the user asks to "create a skill", "add a skill to a plugin", "add a skill to a repository", "scaffold a skill", "write a new skill", "improve skill description", or needs guidance on skill structure, progressive disclosure, or skill development best practices.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skill-utils:skill-creatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Creates properly structured skills for Claude Code plugins or repositories.
Creates properly structured skills for Claude Code plugins or repositories.
Skills are modular, self-contained packages that extend Claude's capabilities by providing specialised knowledge, workflows, and tools. Think of them as "onboarding guides" for specific domains or tasks, transforming Claude from a general-purpose agent into a specialised agent equipped with procedural knowledge.
Every skill consists of a required SKILL.md file and optional bundled resources:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash/etc.)
├── references/ - Documentation loaded into context as needed
└── assets/ - Files used in output (templates, icons, fonts)
scripts/)Executable code for tasks requiring deterministic reliability or repeatedly rewritten.
scripts/rotate_pdf.py for PDF rotation tasksreferences/)Documentation loaded as needed to inform Claude's process and thinking.
assets/)Files used within output Claude produces, not loaded into context.
Skills use a three-level loading system to manage context efficiently:
Keep SKILL.md lean (1,500-2,000 words ideal). Move detailed content to references/.
To create an effective skill, clearly understand concrete examples of how it will be used. Ask questions like:
Conclude this step when there is a clear sense of the functionality the skill should support.
Analyse each example by:
Example: Building a pdf-editor skill for "Help me rotate this PDF":
scripts/rotate_pdf.py script would be helpfulExample: Building a big-query skill for "How many users logged in today?":
references/schema.md file documenting the schemas would be helpfulAsk the user which type of skill they want:
Repository Skills (local to a specific repo):
<repo>/.claude/skills/<skill-name>/
├── SKILL.md
├── references/
└── scripts/
Use for: project-specific workflows, repo-local automation, team conventions.
Plugin Skills (shareable across repos):
plugins/<plugin-name>/skills/<skill-name>/
├── SKILL.md
├── references/
└── scripts/
Use for: reusable skills, multi-repo tools, publishable capabilities.
Run the init script:
# Repository skills
python3 scripts/init_skill.py <skill-name> --repo
python3 scripts/init_skill.py <skill-name> --repo --path /path/to/repo
# Plugin skills
python3 scripts/init_skill.py <skill-name> --plugin <plugin-name>
Remember that the skill is being created for another instance of Claude to use. Focus on information that would be beneficial and non-obvious to Claude.
Begin with the reusable resources identified in Step 2. This may require user input (brand assets, documentation, etc.). Delete any example directories not needed.
Writing Style: Use imperative/infinitive form (verb-first instructions), not second person:
| Correct (imperative) | Incorrect (second person) |
|---|---|
| Parse the configuration file. | You should parse the configuration file. |
| Validate input before processing. | You need to validate input. |
| Use grep to search for patterns. | You can use grep to search. |
Frontmatter Description: Use third-person format with specific trigger phrases:
---
name: my-skill
description: This skill should be used when the user asks to "specific phrase 1", "specific phrase 2", or mentions specific-topic. Provides guidance for X.
---
Good description:
description: This skill should be used when the user asks to "create a hook", "add a PreToolUse hook", "validate tool use", or mentions hook events (PreToolUse, PostToolUse, Stop).
Bad descriptions:
description: Use this skill when working with hooks. # Wrong person, vague
description: Provides hook guidance. # No trigger phrases
Body Content: Answer these questions:
python3 scripts/validate_skill.py .claude/skills/<skill>
python3 scripts/validate_skill.py plugins/<plugin>/skills/<skill>
Checks:
Manual validation checklist:
After testing the skill, users may request improvements.
Iteration workflow:
| Field | Required | Notes |
|---|---|---|
| name | Yes | Hyphen-case, max 64 chars |
| description | Yes | Max 1024 chars, third-person, include trigger phrases |
| license | No | Optional license identifier |
| allowed-tools | No | Restrict which tools skill can use |
Bad:
description: Provides guidance for working with hooks.
Good:
description: This skill should be used when the user asks to "create a hook", "add a PreToolUse hook", or mentions hook events.
Bad:
skill-name/
└── SKILL.md (8,000 words - everything in one file)
Good:
skill-name/
├── SKILL.md (1,800 words - core essentials)
└── references/
├── patterns.md (2,500 words)
└── advanced.md (3,700 words)
Bad:
You should start by reading the configuration file.
You need to validate the input.
Good:
Start by reading the configuration file.
Validate the input before processing.
Bad: SKILL.md with no mention of references/ or scripts/
Good:
## Resources
### Reference Files
- **`references/patterns.md`** - Detailed patterns
- **`references/advanced.md`** - Advanced techniques
### Scripts
- **`scripts/validate.sh`** - Validation utility
For repository skills:
For plugin skills:
npx claudepluginhub denisraison/claude-plugins --plugin skill-utilsGuides creation of new Claude Code skills from scratch, covering SKILL.md anatomy, YAML frontmatter best practices, trigger phrases, and optional resources like scripts. Triggers on 'create a skill', 'new skill', 'scaffold skill'.
Guides creation, improvement, and structuring of skills for Claude Code plugins, including frontmatter metadata, workflows, scripts, references, and best practices.
Guides creation of Claude Code skills with SKILL.md structure, frontmatter metadata for auto-activation, and bundled resources like scripts, references, and assets.