Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Guides users through creating effective Agent Skills for Cursor. Use when the user wants to create, write, or author a new skill, or asks about skill structure, best practices, or SKILL.md format.
.claude/skills/coco-research-create-skill/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 61% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 44% | 0% |
This skill guides you through creating effective Agent Skills for Cursor. Skills are markdown files that teach the agent how to perform specific tasks: reviewing PRs using team standards, generating commit messages in a preferred format, querying database schemas, or any specialized workflow.
Before creating a skill, gather essential information from the user about:
If you have previous conversation context, infer the skill from what was discussed. You can create skills based on workflows, patterns, or domain knowledge that emerged in the conversation.
If you need clarification, use the AskQuestion tool when available:
Example AskQuestion usage:
- "Where should this skill be stored?" with options like ["Personal (~/.cursor/skills/)", "Project (.cursor/skills/)"]
- "Should this skill include executable scripts?" with options like ["Yes", "No"]If the AskQuestion tool is not available, ask these questions conversationally.
Skills are stored as directories containing a SKILL.md file:
skill-name/
├── SKILL.md # Required - main instructions
├── reference.md # Optional - detailed documentation
├── examples.md # Optional - usage examples
└── scripts/ # Optional - utility scripts
├── validate.py
└── helper.sh| Type | Path | Scope | |------|------|-------| | Personal | ~/.cursor/skills/skill-name/ | Available across all your projects | | Project | .cursor/skills/skill-name/ | Shared with anyone using the repository |
IMPORTANT: Never create skills in ~/.cursor/skills-cursor/. This directory is reserved for Cursor's internal built-in skills and is managed automatically by the system.
Every skill requires a SKILL.md file with YAML frontmatter and markdown body:
markdown--- name: your-skill-name description: Brief description of what this skill does and when to use it --- # Your Skill Name ## Instructions Clear, step-by-step guidance for the agent. ## Examples Concrete examples of using this skill.
| Field | Requirements | Purpose | |-------|--------------|---------| | name | Max 64 chars, lowercase letters/numbers/hyphens only | Unique identifier for the skill | | description | Max 1024 chars, non-empty | Helps agent decide when to apply the skill |
The description is critical for skill discovery. The agent uses it to decide when to apply your skill.
The context window is shared with conversation history, other skills, and requests. Every token competes for space.
Default assumption: The agent is already very smart. Only add context it doesn't already have.
For optimal performance, the main SKILL.md file should be concise. Use progressive disclosure for detailed content.
Put essential information in SKILL.md; detailed reference material in separate files that the agent reads only when needed.
Keep references one level deep - link directly from SKILL.md to reference files. Deeply nested references may result in partial reads.
| Freedom Level | When to Use | Example | |---------------|-------------|---------| | High (text instructions) | Multiple valid approaches, context-dependent | Code review guidelines | | Medium (pseudocode/templates) | Preferred pattern with acceptable variation | Report generation | | Low (specific scripts) | Fragile operations, consistency critical | Database migrations |
Provide output format templates for consistent results.
For skills where output quality depends on seeing examples, provide concrete input/output pairs.
Break complex operations into clear steps with checklists.
For quality-critical tasks, implement validation loops.
Gather purpose, location, triggers, requirements, existing patterns.
Draft name, description, outline sections, identify supporting files.
Create directory, write SKILL.md, create reference files and scripts.
Check line count, description specificity, terminology consistency, file references.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | pass→pass | 16,686 | 15,186 | -9% | 1 | 1 | 0% | 2,036 | 3,237 | +59% | 0 | 0 | — |
case-05 | pass→pass | 19,235 | 23,630 | +23% | 1 | 1 | 0% | 2,428 | 5,659 | +133% | 0 | 0 | — |
case-01 | pass→pass | 23,193 | 17,623 | -24% | 1 | 1 | 0% | 2,637 | 3,739 | +42% | 0 | 0 | — |
case-02 | fail→pass | 26,545 | 14,167 | -47% | 1 | 1 | 0% | 3,291 | 4,024 | +22% | 0 | 0 | — |
case-03 | fail→pass | 35,465 | 37,339 | +5% | 1 | 1 | 0% | 5,749 | 6,607 | +15% | 0 | 0 | — |
case-06 | pass→fail | 18,438 | 21,705 | +18% | 1 | 1 | 0% | 3,292 | 5,462 | +66% | 0 | 0 | — |
case-07 | pass→pass | 8,500 | 9,162 | +8% | 1 | 1 | 0% | 1,310 | 2,030 | +55% | 0 | 0 | — |
case-08 | pass→pass | 11,561 | 9,084 | -21% | 1 | 1 | 0% | 891 | 2,145 | +141% | 0 | 0 | — |
case-09 | pass→pass | 16,951 | 8,116 | -52% | 1 | 1 | 0% | 1,939 | 2,560 | +32% | 0 | 0 | — |
case-18 | pass→pass | 13,835 | 4,742 | -66% | 1 | 1 | 0% | 1,516 | 2,174 | +43% | 0 | 0 | — |
case-10 | fail→pass | 18,131 | 8,661 | -52% | 1 | 1 | 0% | 2,116 | 2,092 | -1% | 0 | 0 | — |
case-11 | pass→pass | 8,799 | 5,332 | -39% | 1 | 1 | 0% | 1,449 | 2,453 | +69% | 0 | 0 | — |
case-12 | pass→pass | 16,887 | 12,426 | -26% | 1 | 1 | 0% | 2,083 | 2,567 | +23% | 0 | 0 | — |
case-13 | pass→pass | 16,827 | 7,369 | -56% | 1 | 1 | 0% | 1,978 | 2,796 | +41% | 0 | 0 | — |
case-14 | pass→pass | 13,794 | 8,910 | -35% | 1 | 1 | 0% | 2,133 | 2,966 | +39% | 0 | 0 | — |
case-15 | pass→pass | 14,069 | 7,799 | -45% | 1 | 1 | 0% | 2,357 | 2,734 | +16% | 0 | 0 | — |
case-16 | fail→pass | 11,001 | 6,458 | -41% | 1 | 1 | 0% | 1,577 | 2,541 | +61% | 0 | 0 | — |
case-17 | fail→pass | 19,669 | 15,887 | -19% | 1 | 1 | 0% | 2,164 | 3,106 | +44% | 0 | 0 | — |
case-19 | fail→pass | 17,285 | 10,929 | -37% | 1 | 1 | 0% | 1,755 | 2,232 | +27% | 0 | 0 | — |
case-20 | pass→pass | 10,276 | 6,914 | -33% | 1 | 1 | 0% | 1,751 | 2,552 | +46% | 0 | 0 | — |
case-21 | pass→pass | 18,749 | 11,269 | -40% | 1 | 1 | 0% | 1,750 | 2,449 | +40% | 0 | 0 | — |
case-22 | pass→pass | 18,716 | 8,696 | -54% | 1 | 1 | 0% | 1,842 | 2,504 | +36% | 0 | 0 | — |
case-23 | pass→pass | 16,664 | 11,673 | -30% | 1 | 1 | 0% | 1,941 | 2,930 | +51% | 0 | 0 | — |
case-24 | pass→pass | 16,181 | 8,827 | -45% | 1 | 1 | 0% | 2,650 | 2,871 | +8% | 0 | 0 | — |
case-25 | pass→pass | 11,299 | 10,903 | -4% | 1 | 1 | 0% | 1,851 | 2,370 | +28% | 0 | 0 | — |
case-26 | fail→pass | 12,283 | 9,213 | -25% | 1 | 1 | 0% | 2,047 | 2,011 | -2% | 0 | 0 | — |
case-27 | pass→pass | 11,361 | 10,997 | -3% | 1 | 1 | 0% | 1,629 | 2,283 | +40% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 27 cases were attempted. The headline lift of +22 percentage points is the difference between those two pass rates over the 27 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.