All articles

AI Systems

How to Install a Skill in Cursor: A Step-by-Step Guide

Posted: Sep 2, 2026Last updated: Sep 2, 2026
Jesse AyalaJesse AyalaFounder, Baader5 min read

If you came from Claude Code, you're probably assuming "install a skill in Cursor" means editing a rules file.

It doesn't. Cursor ships a real Agent Skills system now, separate from Rules, built on the same open standard Claude Code uses. A skill written for one often loads directly into the other. No conversion required.

Here's the actual mechanism.

1. Know what you're building

A Cursor Skill is a folder with a SKILL.md file inside. YAML frontmatter on top, markdown instructions below.

Two required fields:

  • name, lowercase, letters, numbers, hyphens. Has to match the folder name.
  • description, the part that actually matters. Cursor's agent checks this against your request to decide if the skill is relevant at all. Vague description, it never fires.

Optional: paths to scope it to specific files, disable-model-invocation if you only want it called manually, plus display fields nobody reads. The folder can also carry scripts/, references/, and assets/.

Rules and Skills are not the same tool wearing two hats. Rules are standing context, always on or auto-attached. Skills are on-demand, task-specific. Closer to what you actually meant when you said "install a skill."

2. Pick where it lives

Cursor auto-discovers skills from a fixed set of directories, recursively. Monorepos work fine.

Project-level, checked into the repo:

  • .cursor/skills/
  • .agents/skills/

User-level, everywhere on your machine:

  • ~/.cursor/skills/
  • ~/.agents/skills/

It also reads .claude/skills/ and .codex/skills/ for compatibility. If you already have a skill sitting in a .claude/skills/ folder, Cursor may already see it. You might not need to do anything.

3. Create the folder

.cursor/skills/my-skill-name/SKILL.md

Folder name and name: field match, exactly. Installing someone else's skill is just copying their folder into one of the directories above. No package manager, no install command, no ceremony.

Don't want to write it by hand? Type /create-skill in Agent chat. It interviews you and builds the folder for you. The one part of this guide you could've skipped.

4. Write the file

---
name: my-skill-name
description: What this skill does and when the agent should use it
---

# My Skill Name

1. Step one of the procedure
2. Step two
3. Any specific commands, patterns, or output format to follow

The description is doing the work here, not the name. "Helps with code" fires never. "Use when writing or reviewing database migration files" fires when it should.

5. Let Cursor find it

No install command. No restart. The file exists in a discovered directory, it's live.

Two ways it triggers:

  • Automatically, the agent decides mid-task based on the description, unless you've set disable-model-invocation: true.
  • Manually, type / in Agent chat, find it by name. Or @skill-name to attach it for one message.

Not showing up in the / menu? Check the folder name matches name: exactly, and confirm you saved it as SKILL.md, not .mdc. That's the Rules extension, and it will not save you here.

6. Actually check it works

Ask a question that should trigger the description. Watch whether the agent references the skill or attaches it in context.

For anything with real steps, run it once before you trust it with real work. Five minutes now beats debugging a skill that's been silently wrong for a month.

A skill built to the open standard isn't locked to one tool by accident, it's built that way on purpose. Baader's cross-agent skills library runs on the same idea: write once, works in Cursor, Claude Code, Codex, Copilot, and Gemini, so your setup doesn't fragment every time your team changes its mind about which editor to use this quarter.

Want this run for your business?

Most partners start with The Growth Hour.

Book your hour

Every brand we touch gets harder to ignore and easier to buy from.

Partner with us