
Cursor rules vs skills — what's the actual difference?
Cursor has two ways to give the agent persistent instructions: rules and skills. The docs explain what each one is, but they don't really explain when you'd pick one over the other. I had about 20 .mdc rules in a project and wasn't sure if I was supposed to migrate, so I ran some tests. Here's what I found, and what I wish someone had told me before I started. Rules: the short version Rules live in .cursor/rules/ as .mdc files. They have YAML frontmatter at the top: --- description : Use early returns when refactoring alwaysApply : true --- When refactoring code, always use early returns (guard clauses) instead of nested if/else blocks. The frontmatter gives you control over when the rule loads: alwaysApply: true — loaded into every prompt, regardless of what you're working on globs: "*.tsx" — only loads when working on matching files description — helps the agent decide if the rule is relevant Without alwaysApply or globs, rules aren't consistently picked up. In a previous test I ran,
Continue reading on Dev.to
Opens in a new tab




