If you've built up a collection of Cursor rules, you don't have to start from scratch to use Claude Code or Codex CLI. Converting Cursor rules to SKILL.md skills is straightforward — the instruction content is usually identical, only the metadata format changes.
Quick Answer: To migrate Cursor rules to SKILL.md, copy the rule file to
~/.claude/skills/rule-name/SKILL.mdand convert the frontmatter, replacingglobsandalwaysApplywith a descriptivenameanddescriptionthat Claude can match contextually.
What changes
| Cursor Rule | SKILL.md Skill |
|---|---|
.cursor/rules/rule-name.md |
~/.claude/skills/skill-name/SKILL.md |
globs: ["*.test.ts"] |
description: "Triggers on testing tasks" |
alwaysApply: true |
Managed by description matching |
| Flat file | Folder with SKILL.md inside |
Step-by-step migration
1. Find your Cursor rules
ls .cursor/rules/
Each .md file is a rule to migrate.
2. Create the SKILL.md folder
For each rule, create a skill folder:
mkdir -p ~/.claude/skills/rule-name/
3. Convert the frontmatter
Cursor rule:
---
description: Enforce React component standards
globs: ["src/components/**/*.tsx"]
alwaysApply: false
---
SKILL.md equivalent:
---
name: react-standards
description: Enforces React component standards when creating or reviewing React components.
---
The key change: replace glob patterns with a natural language description. Instead of globs: ["*.test.ts"], write description: "Applies when writing or reviewing tests." Claude matches skills based on the description, not file patterns.
4. Copy the instruction body
The markdown body of your Cursor rule is almost always identical to what goes in the SKILL.md. Copy it directly:
---
name: react-standards
description: Enforces React component standards when creating or reviewing React components.
---
Use functional components with TypeScript. Always define props as interfaces. Export as named exports. Co-locate styles, tests, and stories with the component. ```
5. Handle alwaysApply rules
Cursor rules with alwaysApply: true apply to every prompt regardless of context. In SKILL.md, you achieve this with a broad description:
description: Applies to all code generation and review tasks. General coding standards.
A very broad description means Claude will match it to most coding tasks, similar to alwaysApply.
6. Test
Start a new Claude Code session and test each converted skill. Ask Claude:
"What skills do you have access to?"
Then try a task the skill should cover and verify the output matches your expectations.
Migrating in bulk
If you have many Cursor rules, a quick shell script:
for rule in .cursor/rules/*.md; do
name=$(basename "$rule" .md)
mkdir -p ~/.claude/skills/$name/
cp "$rule" ~/.claude/skills/$name/SKILL.md
echo "Migrated: $name"
done
You'll still need to update the frontmatter on each file (replace globs and alwaysApply with name and description), but this gets the files in the right place.
Keep both
You don't have to choose. If you use both Cursor and Claude Code, keep the Cursor rules in .cursor/rules/ and the SKILL.md skills in ~/.claude/skills/. Maintain them separately or use the conversion approach above to keep them in sync.
Browse cross-agent skills at Agensi.