/skill — Create Cursor Skills
Create Agent Skills for .cursor/skills/ following the agentskills.io specification. Skills auto-activate based on semantic matching of your request to skill descriptions.
Skill Types
| Type | Use when... | Key structure |
|---|---|---|
| Technique | Teaching a concrete procedure | Pattern + Implementation + Mistakes |
| Reference | Quick-lookup docs or API patterns | Tables + Code snippets |
| Guardrail | Enforcing a critical practice | STOP block + Rationalization Defense |
Directory Standard
skill-name/
├── SKILL.md # Required
├── references/ # Detailed docs loaded on demand
├── scripts/ # Executable code the agent runs
└── assets/ # Static files: templates, schemas, data
When to create each folder:
| Folder | Create when... | Skip when... |
|---|---|---|
references/ |
SKILL.md would exceed 500 lines; or detailed docs worth loading on demand | Skill is short and self-contained |
scripts/ |
There's a runnable validator or helper the agent can execute | All content is instructional prose |
assets/ |
There are starter templates, schemas, or static data files | Nothing static to provide |
Workflow
Phase 1: Parse Request
**Skill Request Analysis**
**Name:** [kebab-case]
**Type:** [technique / reference / guardrail]
**Purpose:** [What problem does it solve?]
**Folders needed:**
- references/: [yes — reason | no]
- scripts/: [yes — reason | no]
- assets/: [yes — reason | no]
Phase 2: Check for Existing Skills
ls -la .cursor/skills/
find .cursor/skills -name "SKILL.md" -exec head -3 {} \; -print
If a similar skill exists, ask whether to extend, complement, or replace it.
Phase 3: Delegate to @skill-author
Use the @skill-author agent to create this skill:
**Request:** [full request text]
**Name:** [kebab-case name]
**Type:** [technique / reference / guardrail]
**Location:** .cursor/skills/[name]/
**Folder plan:**
- references/: [yes — what files | no]
- scripts/: [yes — what scripts | no]
- assets/: [yes — what templates/data | no]
Starter templates: .cursor/skills/skill/assets/
Validation script: .cursor/skills/skill/scripts/validate-skill.sh
TDD process:
1. Baseline test WITHOUT skill — record failures verbatim
2. Write SKILL.md + populate folders addressing those failures
3. Test WITH skill — verify fix
4. Close loopholes, re-test
5. Run validate-skill.sh
Return a <skill-author-result> block.
Wait for <skill-author-result> block before proceeding.
Phase 4: Validate
bash .cursor/skills/skill/scripts/validate-skill.sh .cursor/skills/[skill-name]/
ls -la .cursor/skills/[skill-name]/
wc -l .cursor/skills/[skill-name]/SKILL.md
If validation fails, delegate back to @skill-author with specific errors.
Phase 5: Report
## Skill Created ✅
**Location:** `.cursor/skills/[name]/`
**Type:** [technique / reference / guardrail]
**Lines:** [SKILL.md line count]
**Structure:**
- `SKILL.md` ([n] lines)
- `references/[file]` — [purpose]
- `scripts/[file]` — [purpose]
- `assets/[file]` — [purpose]
**Baseline failures addressed:**
1. [failure] → [fix]
**Next steps:**
- [ ] Test with a real scenario to verify activation
- [ ] `git add .cursor/skills/[name]/`
Spec Resources
| File | Purpose |
|---|---|
.cursor/skills/skill/SKILL.md |
Spec overview and frontmatter rules |
.cursor/skills/skill/references/agent-skills-spec.md |
Full specification |
.cursor/skills/skill/references/skill-templates.md |
Annotated templates |
.cursor/skills/skill/assets/technique-template.md |
Technique starter |
.cursor/skills/skill/assets/reference-template.md |
Reference starter |
.cursor/skills/skill/assets/guardrail-template.md |
Guardrail starter |
.cursor/skills/skill/scripts/validate-skill.sh |
Validation script |