Cursor Rules vs Skills: What's the Difference? (2026)
Cursor gives you two ways to steer the agent: Rules (persistent constraints) and Skills (on-demand playbooks). Conclusion: put stable standards in Rules; put multi-step procedures in Skills. If the agent should always remember it, use Rules. If the agent should run a workflow when asked, use a Skill.
Related on MacLogin: Claude Code over SSH (shared Mac terminals), ECC rules vs skills pattern (different product, same idea), and first SSH trust checklist., Claude Opus 4.8 Super-Agent benchmark, and Claude Agent SDK beginner guide
See also:Xcode 27 native AI coding agents.
What decision you are making
Mixing Rules and Skills causes duplicated instructions, bloated context, or workflows that never fire. Rules answer “what must always be true?” Skills answer “what procedure do we run for task X?”
Teams on a shared remote Mac often version .cursor/ in git so Rules and Skills stay aligned across SSH sessions—that is optional; local laptops work the same way.
Rules vs Skills decision matrix
| Dimension | Cursor Rules | Cursor Skills |
|---|---|---|
| Primary job | Always-on policy: style, security, stack defaults | Callable workflow: publish, audit, scaffold |
| Typical location | .cursor/rules/*.mdc | .cursor/skills/<name>/SKILL.md |
| When loaded | Scoped project/user context | Slash command or agent attaches skill |
| Best size | Short bullets; <~500 lines active rules total | Self-contained runbook with steps and checklists |
| Failure mode | Context noise; conflicting “always” rules | Skill never invoked; SKILL.md pasted into Rules |
Official references: Cursor Rules and Cursor Skills.
Scenario A — Team standards (use Rules)
Use Rules when every session must respect the same boundaries: TypeScript strict mode, commit format, “never hand-edit lockfiles,” security bans.
Split by concern—global.mdc, frontend.mdc, backend.mdc—and use path-scoped globs in monorepos so mobile policies do not load during Terraform edits.
Scenario B — Repeatable workflows (use Skills)
Use Skills for procedures: SEO audit, multilang publish, key rotation. Include trigger, numbered steps, stop conditions, and checklists. Do not paste the whole Skill into Rules “for safety”—that burns context without slash-command behavior.
On MacLogin’s stack, ECC also separates rule packs from skills—different product, same design lesson.
Recommended path
| If your need is… | Do this |
|---|---|
| Default tone, security, framework conventions | Rules under .cursor/rules/ |
| Procedure with ≥6 steps or slash invocation | Skill with SKILL.md |
| Both apply | Rules = constraints; Skill = procedure |
| Unsure | “Every chat?” → Rules. “Only task X?” → Skill. |
Anti-pattern: one giant SKILL.md copied into Rules and Skills—duplicate tokens and divergent edits within a week.
If several engineers share one Mac host, store .cursor/ in git; use SSH trust checklist before syncing secrets. Local-only Cursor setups do not need a lease.
FAQ
.cursor/rules/. Skills are usually project-scoped under .cursor/skills/..cursorrules?.mdc files instead of one multi-thousand-line blob.Optional: shared Mac for team .cursor setup
MacLogin offers SSH Mac mini leases if you want a persistent remote dev home—not required for local Cursor.