Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Create new skills, improve existing skills, and test skill quality. Use when the user wants to build a skill from scratch, turn a workflow into a reusable skill, improve or refactor an existing SKILL.md, test how well a skill performs, optimize a skill's description so it triggers correctly, or asks "how do I make a skill for X". This is the meta-skill — it builds all other skills.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 88% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 157% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 209% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 128% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 104% | 0% |
A skill is a reusable, opinionated expert guide that makes an AI agent dramatically better at a specific domain. Not a prompt. Not a template. A skill is a production-grade system that encodes deep domain expertise, principled workflows, concrete examples, and an unambiguous definition of done — so the agent executes it the same way every time, without the user having to re-explain.
Your job in this skill is to help the user go from "I want a skill for X" to a skill that works reliably in the real world.
Understand intent
↓
Write draft skill
↓
Run test prompts → review outputs
↓
Improve skill based on feedback
↓
Repeat until quality is satisfactory
↓
Optimize description for triggering accuracy
↓
ShipJump into this loop wherever the user is. If they already have a draft, skip to testing. If they're still fuzzy on intent, start at understanding. Always be flexible — if they want to skip evals and iterate by feel, that's a valid choice.
Read the conversation history. Extract:
Then confirm:
It looks like this skill is about [X]. It should:
1. [Core step 1]
2. [Core step 2]
3. Produce [output type]
Does that match what you have in mind? Anything I'm missing?Ask up to 5 focused questions — not all at once, unless the user is clearly experienced:
If the user is non-technical, avoid terms like "JSON", "assertions", "eval pipeline" — use plain language equivalents:
Every skill must have this structure, in this order:
markdown--- name: skill-name-in-kebab-case description: [See description rules below] --- # Skill Title [Opening paragraph: mindset and approach. What kind of expert does this well and why does their approach produce better outcomes.] --- ## [Skill Name] Principles [5–8 load-bearing beliefs. These are the "why" behind the entire skill. Each principle should be a thing that, if violated, produces a noticeably worse output. Not rules. Beliefs. The agent applies judgment from principles — not from rule-lookup.] --- ## Step 0: Ground the Work Before Starting [What to establish, ask, or read before taking any action. This section prevents the skill from diving in before understanding the situation. The most common failure mode in any skilled domain is premature action.] --- ## [Main execution sections] [The workflow, patterns, templates, examples, code snippets. Each section should have a clear job. If a section's purpose is unclear, cut it or merge it.] --- ## Definition of Done [Checkbox checklist. Every item must be: - Verifiable — the agent or user can confirm it is met - Specific — no vague items like "quality looks good" - Necessary — if removing the item wouldn't affect quality, remove it]
The description field is the most important line in the file. It determines when the skill gets loaded.
Rules:
Bad description:
Helps with writing documents.Good description:
Structured co-authoring workflow for PRDs, design docs, RFCs, and proposals.
Use when the user wants to write a PRD, design doc, RFC, or any structured
document where quality and completeness matter — goes deeper than general
writing help by guiding through context gathering, section refinement,
and reader testing.Template:
[What it does — domain + specific action + key method].
Use when the user [trigger condition 1], [trigger condition 2], or [trigger condition 3].Write 3–5 test prompts that a real user would send. These should:
Test case format:
markdown## Test Cases — [Skill Name] ### Test 1: Core use case **Prompt:** [Realistic user prompt] **Expected output:** [What a good response looks like] **Pass criteria:** - [ ] [Specific, checkable criterion] - [ ] [Specific, checkable criterion] ### Test 2: Edge case **Prompt:** [Edge case prompt] **Expected output:** [What a good response looks like] **Pass criteria:** - [ ] [Criterion] ### Test 3: Failure-adjacent **Prompt:** [Something that might accidentally trigger the skill but shouldn't, or should trigger a graceful handling] **Expected output:** [What the skill should do here] **Pass criteria:** - [ ] [Criterion]
After writing the draft skill and test cases:
For each test output, ask:
Generalize, don't overfit. If the skill only works on the 3 test cases and nobody else's prompts, it's useless. When fixing a problem that appeared in a specific test case, ask: "Is this a specific fix or a general principle?" Prefer general principles.
Read the execution trace, not just the output. The most revealing information is the process the agent followed. Did it take a pointless detour? Did it repeat itself? Did it do something that wasn't in the skill instructions but should have been? The trace tells you what to add or remove.
Remove before adding. Before adding a new instruction, check if the problem can be fixed by removing an instruction that is creating the wrong behavior. Shorter is usually better.
When you find yourself writing ALWAYS or NEVER in all caps: Pause. Ask if you can explain the underlying principle instead. "ALWAYS check X" → "Check X because Y will fail if you don't — the most common failure mode in this domain is Z". The second version produces better judgment.
| Problem observed | Likely cause | Fix | |---|---|---| | Agent starts with a long preamble every time | Step 0 asks too many questions | Tighten Step 0 to only essential questions | | Output quality varies wildly | Principles are vague | Make each principle concrete with an example of what violating it looks like | | Agent skips a critical step | Step not in the skill | Add it with an explanation of why it matters | | Agent does something unhelpful on every test | Skill instructions cause it | Remove or reframe the instruction | | Output is technically correct but feels wrong | Missing voice/tone guidance | Add a "How to write" section with examples | | Agent over-explains its process | Skill says to explain everything | Add "show your work only when it adds value for the reader" |
After the skill body is solid, optimize the description for triggering accuracy.
The description has two jobs:
Example — doc-coauthoring description optimization:
Should trigger:
Should NOT trigger (close but different):
internal-commstechnical-writerRevised description: adds "PRD, design doc, RFC" explicitly + "goes deeper than general writing help" to distinguish from technical-writer.
Before declaring the skill done, run this checklist:
Save new skills at:
SKILL/<skill-name>/SKILL.mdSkill name rules:
lowercase-kebab-casedatabase-architect not write-sqlOther measured skills in the registry, with their headline benchmark lift.