Scaffold a new Claude Code skill with SKILL.md, frontmatter, and bundled resources. Use when creating a custom skill, standardizing skill structure across a team, or packaging a skill for distribution.
75
70%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./examples/skills/skill-creator/SKILL.mdGenerate new Claude Code skills with correct directory structure, YAML frontmatter, and optional bundled resources.
skill-name/
├── SKILL.md # Required: Main skill file with YAML frontmatter
├── scripts/ # Optional: Executable code for deterministic tasks
├── references/ # Optional: Documentation loaded contextually
└── assets/ # Optional: Templates, images, boilerplate (not loaded into context)Create a new skill called "my-skill-name" in ~/.claude/skills/Or with a specific purpose:
Create a skill for generating release notes from git commits,
with templates for CHANGELOG.md and Slack announcementsOr via the initialization script:
python3 ~/.claude/skills/skill-creator/scripts/init_skill.py <skill-name> --path <output-directory>The created SKILL.md follows this structure:
---
name: skill-name
description: "What the skill does. Use when [trigger conditions]."
---
# Skill Name
## When to Use
- Trigger condition 1
- Trigger condition 2
## What This Skill Does
1. **Step 1**: Description
2. **Step 2**: Description
## How to Use
[Usage examples]
## Example
**User**: "Example prompt"
**Output**: [Example output]After creation, verify:
name is kebab-case, 1-64 chars; description is a quoted string with "Use when" clausepython3 ~/.claude/skills/skill-creator/scripts/package_skill.py <path/to/skill-folder> [output-directory]| Pattern | Best For | Structure |
|---|---|---|
| Workflow-Based | Sequential procedures | Step-by-step instructions |
| Task-Based | Multiple operations | Collection of tasks |
| Reference/Guidelines | Standards, specs | Rules and examples |
| Capabilities-Based | Interrelated features | Feature descriptions |
User: "Create a skill for generating release notes with 3 output formats"
Steps:
init_skill.py release-notes-generator --path ~/.claude/skills/assets/: changelog-template.md, pr-release-template.md, slack-template.mdreferences/: tech-to-product-mappings.mdSKILL.md with usage instructionspackage_skill.py ~/.claude/skills/release-notes-generatorreferences/ for domain knowledge that doesn't change oftenassets/ so they're not auto-loaded into context746adc8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.