Guide
Reusable prompts in Cursor: skills, rules and commands
In Cursor, save a prompt you reuse as a skill: a folder such as .cursor/skills/write-tests/ with a SKILL.md inside, run by typing /write-tests or attached as context with @write-tests. Keep short guidance that should apply all the time, like "use our logger, not console.log", as a rule in .cursor/rules. If you have old slash commands, /migrate-to-skills (Cursor 2.4 and later) converts them into skills. Cursor also loads .claude/skills, so one skill folder in the repository can serve Cursor and Claude Code users alike.
Short answer
- A prompt you reuse: a skill, run with
/name. - Always-on guidance: a rule in
.cursor/rules. - Old slash commands:
/migrate-to-skills. - One folder for two tools: Cursor also reads
.claude/skills.
Which goes where
| Rule | Skill | |
|---|---|---|
| For | Short guidelines | A multi-step, repeatable procedure |
| Where | .cursor/rules/*.mdc | .cursor/skills/<name>/SKILL.md, or .agents/skills, .claude/skills |
| When it's used | Every chat, when relevant, for matching files, or when @-mentioned | When the agent finds it relevant, or when you type /name; with disable-model-invocation: true, only when you call it |
| Just for you | User rules in settings | ~/.cursor/skills or ~/.agents/skills |
From Cursor's help and docs, read 5 November 2026.
A worked example
Illustration: a made-up business. Ken, a developer on a 5-person team, typed the same prompt every time he wanted tests: use Vitest, one file per module, cover the error paths, no snapshot tests. He turns it into a skill:
- Folder:
.cursor/skills/write-tests/, committed to the repository. - Description: "Writes Vitest tests for a module in our style. Use when someone asks for tests, test coverage or a test file."
- Steps: his four rules, plus the correction he kept giving: "mock the network, never the database".
- One example: a short module and the test file he'd want.
- Checks: every exported function has a test; error paths are covered; no snapshot tests; it runs with
npx vitest run.
"Use the team logger" stays a rule, set to Always Apply, because it's one line that applies everywhere. He tests the skill on three modules, including one with no error handling, and fixes the steps where the draft went wrong.
Set yours up
- List the prompts you retype and the one-line rules you repeat.
- Make each prompt a skill folder with a "use when" description.
- Make each one-line rule a rule, with the type that fits.
- Run
/migrate-to-skillsif you have old slash commands. - Commit the folders so teammates get the same skills.
Next step: the same skills for the whole team
Skills in the repository reach everyone who works in it, whichever tool they use. To get the whole team working the same way, see getting your team to use AI the same way, and for keeping one set of skills in step across Claude Code, Codex, Cursor and OpenCode, syncing skills across tools.
Skills for this
- AI practiceTurn a prompt into a skillTurns a prompt that works into a skill the whole team can reuse, with a valid name, a when-to-use description, steps, an output template, an example, and checks.
- AI practiceContext brief for an AI assistantWrites instructions for an AI assistant or agent: role, audience, can and can't, sources of truth, tools, format, examples, edge cases, and handoff.
- Operations and adminSOP from an explanation or recordingTurns an explanation or screen-recording transcript into an SOP with a trigger, roles, exact-label steps, decision points, checks, and an owner.
Questions
How do I save a reusable prompt in Cursor?
Save it as a skill: a folder such as .cursor/skills/write-tests/ with a SKILL.md inside. Run it by typing /write-tests in chat, or attach it as context with @write-tests. Short guidance that should apply all the time belongs in a rule instead.
What is the difference between Cursor rules and skills?
Cursor's help puts it simply: use a rule when a short instruction is enough, and a skill when the agent needs a detailed, repeatable process. Rules are included in every conversation, or matching ones. Skills are applied when the agent finds them relevant, or when you type /name; set disable-model-invocation: true and a skill runs only when you call it (Cursor Docs: Skills).
What happens to my old Cursor slash commands?
From Cursor 2.4, typing /migrate-to-skills in Agent chat converts your user-level and workspace-level slash commands into skills, keeping them manual, along with rules that aren't always-on or tied to file patterns.
AI skill
Have your AI turn a prompt that works into a skill your team can reuse
Put this skill in AI Skill Pod and everyone on your team gets it in their Claude, Cursor or ChatGPT (Pro, Business, Enterprise): one invite link, free to start. Turn a prompt into a skill has your AI turn the prompt you keep retyping in Cursor into a skill: a name, a "use when" description, the steps and corrections you keep giving, a template and one example.
14 days free · No card needed
Sources
- Cursor Help: Skills — loaded from .cursor/skills, .agents/skills and the global folders, plus .claude/skills and .codex/skills for compatibility; /skill-name or @skill-name; rules for short guidance, skills for multi-step procedures; /migrate-to-skills in Cursor 2.4+ converts dynamic rules and slash commands (read 2026-11-05)
- Cursor Docs: Skills — by default, skills are automatically applied when the agent determines they are relevant; disable-model-invocation: true makes a skill run only when invoked via /skill-name (read 2026-11-05)
- Cursor Docs: Rules — project rules in .cursor/rules as .mdc files; Always Apply, Apply Intelligently, Apply to Specific Files, Apply Manually; user rules; team rules on Team and Enterprise; AGENTS.md supported (read 2026-11-05)
- Agent Skills specification — a folder with SKILL.md: name, description, instructions (read 2026-11-05)