Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create new skills (SKILL.md files), modify and improve existing skills, and design skill descriptions for accurate triggering. Use when the user wants to create a new skill from scratch, edit an existing skill, optimize a skill's description, or convert a workflow they just demonstrated into a reusable skill.
.claude/skills/waybarrios-skill-creator/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 39% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 56% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 33% | 0% |
A skill for creating new skills and iteratively improving them.
At a high level, the process of creating a skill goes like this:
SKILL.md)Your job when using this skill is to figure out where the user is in this process and help them progress through the stages. If they say "I want to make a skill for X", help narrow down what they mean, write a draft, try a few realistic prompts, and iterate. If they already have a draft, jump straight to testing and iterating.
If the user just says "vibe with me, no formal evals", do that.
Skill-creator is liable to be used by people across a wide range of familiarity with coding jargon. Pay attention to context cues:
It is fine to briefly clarify a term when in doubt.
Start by understanding what the user wants. The current conversation may already contain the workflow to capture (e.g., they say "turn this into a skill"). If so, extract answers from the conversation history first — the tools used, the sequence of steps, corrections made, the input/output formats observed. The user can fill the gaps and confirm.
Ask:
Proactively ask about edge cases, input/output formats, example files, success criteria, and dependencies. Wait to write test prompts until this is ironed out.
If the platform supports parallel sub-tasks, research in parallel (search docs, find similar skills, check best practices).
Based on the interview, fill in:
name — the skill identifier (must match the directory name; lowercase alphanumeric with single hyphens, regex ^[a-z0-9]+(-[a-z0-9]+)*$).description — when to trigger and what the skill does. This is the primary triggering mechanism. Include both what the skill does AND specific contexts for when to use it. All "when to use" info goes here, not in the body. Skills tend to under-trigger, so make descriptions slightly "pushy" — e.g. instead of "Build a fast dashboard", write "Build a fast dashboard. Make sure to use this skill whenever the user mentions dashboards, data visualization, internal metrics, or wants to display any kind of company data, even if they do not explicitly ask for a 'dashboard.'"license (optional) — the license under which the skill is distributed.Then write the body.
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter (name, description required)
│ └── Markdown instructions
└── Bundled resources (optional)
├── scripts/ — Executable code for deterministic / repetitive tasks
├── references/ — Docs loaded into context as needed
└── assets/ — Files used in output (templates, icons, fonts)Skills use a three-level loading system:
SKILL.md body — in context whenever the skill triggers; aim for under 500 lines.Key patterns:
SKILL.md under 500 lines. If approaching the limit, add a layer of hierarchy with clear pointers to follow-up files.SKILL.md with guidance on when to read them.Domain organization: when a skill supports multiple domains/frameworks, organize by variant:
cloud-deploy/
├── SKILL.md (workflow + selection)
└── references/
├── aws.md
├── gcp.md
└── azure.mdThe model reads only the relevant reference file.
Skills must not contain malware, exploit code, or any content that could compromise system security. A skill's contents should not surprise the user given its description. Do not create misleading skills or skills designed to facilitate unauthorized access, data exfiltration, or other malicious activities. Roleplay-style skills are fine.
Defining output formats — use a clear template:
markdown## Report structure ALWAYS use this exact template: # [Title] ## Executive summary ## Key findings ## Recommendations
Examples pattern — small, concrete examples help:
markdown## Commit message format **Example 1:** Input: Added user authentication with JWT tokens Output: feat(auth): implement JWT-based authentication
After drafting, come up with 2–3 realistic test prompts — the kind of thing a real user would actually say. Share them with the user: "Here are a few test cases I'd like to try. Do these look right, or do you want to add more?"
Try the skill on each prompt. Read the transcripts (not just the final outputs) to see whether the skill is causing the model to waste effort on unhelpful steps.
scripts/ and tell the skill to use it.After improving the skill, re-run the test prompts and check that the issues are resolved without breaking earlier behavior.
The description field is the primary mechanism that determines whether the model invokes a skill. To optimize it:
This is a modified port of anthropics/skills/skills/skill-creator. The upstream version ships bundled scripts and an HTML eval viewer (scripts/aggregate_benchmark.py, eval-viewer/generate_review.py, etc.) that are not included here. The reviewed upstream snapshot is pinned in UPSTREAMS.json.
Other measured skills in the registry, with their headline benchmark lift.