Cursor rules vs agent skills
Short answer: use a rule for guidance Cursor should see on every request, or on every file that matches a pattern. Use a skill for a task with steps, scripts or reference files that Cursor should load when the task comes up. Cursor supports both. Rules live in .cursor/rules/ as .mdc files. Skills live in .agents/skills/ or .cursor/skills/ as folders with a SKILL.md file.
Facts below come from the Cursor rules docs and the Cursor skills docs, read on October 27, 2026.
Want picks for your own repo? Scan your repo free. Paste your GitHub repo URL. You see the match count and 2 picks. The full list is $9 once, up to 30 ranked picks for that scan.
The difference in one table
| Cursor rule | Agent skill | |
|---|---|---|
| File | One .mdc file |
A folder with SKILL.md, plus optional scripts/, references/, assets/ |
| Project folder | .cursor/rules/ |
.agents/skills/ or .cursor/skills/ |
| Global folder | User Rules in Customize (not files) | ~/.agents/skills/ or ~/.cursor/skills/ |
| Front matter | description, globs, alwaysApply |
name, description (required), plus paths, disable-model-invocation and more |
| How it loads | Rule text goes at the start of the model context when it applies | Agent sees the name and description, then loads the skill when it fits the task |
| Call it by hand | @rule-name in chat |
/skill-name in Agent chat |
| Works in other agents | No, .mdc rules are a Cursor format |
Yes, SKILL.md is the open Agent Skills spec |
How Cursor rules load
The rules docs list four project rule types. The front matter decides which one you get:
| Front matter | When Cursor uses the rule |
|---|---|
alwaysApply: true |
Every chat session |
globs set, alwaysApply: false |
When a file that matches the pattern is in context |
description set, no globs |
When Agent reads the description and decides it fits |
| None of the three | When you @-mention the rule in chat |
Cursor ignores a plain .md file in .cursor/rules/. The file needs the .mdc extension. If you want plain markdown with no front matter, the docs point to AGENTS.md in the project root. Cursor reads nested AGENTS.md files in subfolders.
Rules do not change Cursor Tab. They apply to Agent.
How agent skills load
At start, Cursor finds every skill in its skill folders and shows Agent the name and description of each. Agent loads a skill when the request matches. Files in scripts/ and references/ load when the skill asks for them, so a large skill does not fill the context on every turn.
You can type / in Agent chat and pick a skill by name. Set disable-model-invocation: true in the front matter to make a skill work like a slash command, so it runs when you call it and Agent does not pick it on its own.
Two front matter fields matter for the rules comparison:
pathsscopes a skill to files that match glob patterns, the same jobglobsdoes for a rule. Cursor acceptsglobson older skills as a fallback.- Nested folders scope a skill to part of a monorepo. A skill in
apps/web/.cursor/skills/shows up when Agent works on files underapps/web/.
Cursor loads skills from .claude/skills/, .codex/skills/, ~/.claude/skills/ and ~/.codex/skills/. A skill you wrote for Claude Code or Codex works in Cursor with no copy.
When to pick a rule
- Team-wide standards: a copyright header, a ban on edits in
dist/, naming rules. These belong on every request, so usealwaysApply: true. - File-type conventions: "use named exports in
src/components/**/*.tsx". A rule withglobsfits. A skill withpathscan do the same job, but the rule is shorter. - Short guidance: the docs say to keep rules under 500 lines and split large ones.
Our guides list free rule files by stack: Next.js, React and Python.
When to pick a skill
- A task with steps: deploy, release, test-driven fixes, a debug routine.
- The task needs scripts or templates: a skill can ship
scripts/deploy.shand tell Agent when to run it. A rule can point to a file, but it cannot bundle one. - You use more than one agent: the same SKILL.md works in Cursor, Claude Code, Codex and other agents that follow the spec.
- You want it out of context until needed: a skill costs a name and a description until Agent loads it.
Three free skills to try in Cursor:
| Skill | Repo | What it does | Install |
|---|---|---|---|
| test-driven-development | obra/superpowers (MIT) | Write the test first, then the code | npx skills add obra/superpowers --skill test-driven-development --agent cursor |
| systematic-debugging | obra/superpowers (MIT) | Find the root cause before a fix | npx skills add obra/superpowers --skill systematic-debugging --agent cursor |
| webapp-testing | anthropics/skills | Test a local web app with Playwright | npx skills add anthropics/skills --skill webapp-testing --agent cursor |
The npx skills command is the open skills CLI. Its agent list puts Cursor skills in .agents/skills/ for a project and ~/.cursor/skills/ with -g. Cursor reads both. Cursor ships /create-skill and /create-rule to write new ones from chat.
How to move rules to skills
Cursor 2.4 added a built-in /migrate-to-skills skill. Type it in Agent chat. It converts:
- Rules with no
globsandalwaysApplyoff or unset. These become standard skills. - Slash commands. These become skills with
disable-model-invocation: true, so they run when you call them.
It leaves rules with alwaysApply: true or globs as rules, since those have their own trigger. It does not touch User Rules, because they are not files. Check the new skills in .cursor/skills/ before you commit them.
A setup that works for most repos: keep always-on standards and file-pattern rules as .mdc files, and move task playbooks to skills.
Find rules and skills for your repo
SkillsPicker indexes open-license Cursor rules and SKILL.md skills from public GitHub repos and ranks them for your stack. See skills for Cursor or browse skills by stack. For the SKILL.md fields, see the SKILL.md format guide. For the Claude side, see Claude skills vs MCP.
FAQ
Does Cursor support agent skills?
Yes. Cursor loads skills from .agents/skills/ and .cursor/skills/ in the project, and from ~/.agents/skills/ and ~/.cursor/skills/ for your user.
Are Cursor rules being replaced by skills?
No. The docs cover both. /migrate-to-skills converts rules that Agent picks by description, and it leaves always-on and file-pattern rules in place.
Can I use Claude Code skills in Cursor?
Yes. Cursor reads .claude/skills/ and ~/.claude/skills/. Fields that are Claude Code features may not apply in Cursor.
Where is the Cursor global skills folder?
~/.cursor/skills/ or ~/.agents/skills/. Of the two, ~/.cursor/skills/ is the one that can sync to Cloud Agents, with Sync Skills for Cloud Agents turned on .
What about .cursorrules and AGENTS.md?
The current rules docs describe .mdc files in .cursor/rules/ and AGENTS.md. Use AGENTS.md for plain markdown instructions with no front matter.
Checked 2026-10-27. Prices and policies change. Confirm on the source before you buy.
Sources
- https://cursor.com/docs/context/rules
- https://cursor.com/docs/context/skills
- https://agentskills.io/specification
- https://github.com/vercel-labs/skills
- https://skillspicker.com/for/cursor/
More guides
- AGENTS.md vs SKILL.md: what goes where, and how Claude Code, Codex, Copilot and Cursor read each (2026)
- Best Claude Code skills for Next.js: 3 free picks and how to install them (2026)
- Best Claude Code skills for Python: 6 free picks and how to install them (2026)
- Claude Code frontend design skill: how to install it, plus 4 more UI picks (2026)
- Claude Code Playwright skill: 5 picks and how to install them (2026)
- Claude Code security skills: 5 free picks for security review and scans (2026)