| name | create-skill |
| description | 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. |
Creating Skills in Cursor
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 You Begin: Gather Requirements
Before creating a skill, gather essential information from the user about:
- Purpose and scope: What specific task or workflow should this skill help with?
- Target location: Should this be a personal skill (~/.cursor/skills/) or project skill (.cursor/skills/)?
- Trigger scenarios: When should the agent automatically apply this skill?
- Key domain knowledge: What specialized information does the agent need that it wouldn't already know?
- Output format preferences: Are there specific templates, formats, or styles required?
- Existing patterns: Are there existing examples or conventions to follow?
Inferring from Context
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.
Gathering Additional Information
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.
Skill File Structure
Directory Layout
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
Storage Locations
| 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.
SKILL.md Structure
Every skill requires a SKILL.md file with YAML frontmatter and markdown body:
---
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.
Required Metadata Fields
| 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 |
Writing Effective Descriptions
The description is critical for skill discovery. The agent uses it to decide when to apply your skill.
Description Best Practices
-
Write in third person (the description is injected into the system prompt):
- Good: "Processes Excel files and generates reports"
- Avoid: "I can help you process Excel files"
- Avoid: "You can use this to process Excel files"
-
Be specific and include trigger terms:
- Good: "Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction."
- Vague: "Helps with documents"
-
Include both WHAT and WHEN:
- WHAT: What the skill does (specific capabilities)
- WHEN: When the agent should use it (trigger scenarios)
Core Authoring Principles
1. Concise is Key
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.
2. Keep SKILL.md Under 500 Lines
For optimal performance, the main SKILL.md file should be concise. Use progressive disclosure for detailed content.
3. Progressive Disclosure
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.
4. Set Appropriate Degrees of Freedom
| 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 |
Common Patterns
Template Pattern
Provide output format templates for consistent results.
Examples Pattern
For skills where output quality depends on seeing examples, provide concrete input/output pairs.
Workflow Pattern
Break complex operations into clear steps with checklists.
Feedback Loop Pattern
For quality-critical tasks, implement validation loops.
Skill Creation Workflow
Phase 1: Discovery
Gather purpose, location, triggers, requirements, existing patterns.
Phase 2: Design
Draft name, description, outline sections, identify supporting files.
Phase 3: Implementation
Create directory, write SKILL.md, create reference files and scripts.
Phase 4: Verification
Check line count, description specificity, terminology consistency, file references.
Summary Checklist
Core Quality
Structure