migrate-to-skills
Skill4 starsChanged 3 months agoMITView on GitHub
Convert 'Applied intelligently' Cursor rules (.cursor/rules/*.mdc) and slash commands (.cursor/commands/*.md) to Agent Skills format (.cursor/skills/). Use when you want to migrate rules or commands to skills, convert .mdc rules to SKILL.md format, or consolidate commands into the skills directory.
We split this skill into the rules it gives an agent
11 rules. 7 are common, 0 are distinctive, and 4 are very specific to this project.
7
Common
Most of the 4 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 92
Read the rule file
- Very specific: line 95
Create the skill directory: .cursor/skills/{skill-name}/ (skill name = filename without .mdc)
- Very specific: line 96
Write SKILL.md with new frontmatter (name and description) + the EXACT original body content (preserve all whitespace, formatting, code …
- Common: line 97
Delete the original rule file
- Common: line 101
Read the command file
- Very specific: line 103
Create the skill directory: .cursor/skills/{skill-name}/ (skill name = filename without .md)
- Very specific: line 104
Write SKILL.md with new frontmatter (name, description, and disable-model-invocation: true) + blank line + the EXACT original file content …
- Common: line 105
Delete the original command file
- Common: line 111
If you have the Task tool available: DO NOT start to read all of the files yourself.
- Common: line 112
DO NOT start to read all of the files yourself.
- Common: line 126
If you don't have the Task tool available:
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Migrate Rules and Slash Commands to Skills
Convert Cursor rules ("Applied intelligently") and slash commands to Agent Skills format.
CRITICAL: Preserve the exact body content. Do not modify, reformat, or "improve" it - copy verbatim.
Locations
| Level | Source | Destination |
| Project | {workspaceFolder}/**/.cursor/rules/*.mdc, {workspaceFolder}/.cursor/commands/*.md | |
| User | ~/.cursor/commands/*.md |
Notes:
- Cursor rules inside the project can live in nested directories. Be thorough in your search and use glob patterns to find them.
- Ignore anything in ~/.cursor/worktrees
- Ignore anything in ~/.cursor/skills-cursor. This is reserved for Cursor's internal built-in skills and is managed automatically by the system.
Finding Files to Migrate
Rules: Migrate if rule has a description but NO globs and NO alwaysApply: true.
Commands: Migrate all - they're plain markdown without frontmatter.
Conversion Format
Rules: .mdc → SKILL.md
# Before: .cursor/rules/my-rule.mdc
---
description: What this rule does
globs:
alwaysApply: false
---
# Title
Body content...# After: .cursor/skills/my-rule/SKILL.md
---
name: my-rule
description: What this rule does
---
# Title
Body content...Changes: Add name field, remove globs/alwaysApply, keep body exactly.
Commands: .md → SKILL.md
# Before: .cursor/commands/commit.md
# Commit current work
Instructions here...# After: .cursor/skills/commit/SKILL.md
---
name: commit
description: Commit current work with standardized message format
disable-model-invocation: true
---
# Commit current work
Instructions here...Changes: Add frontmatter with name (from filename), description (infer from content), and disable-model-invocation: true, keep body exactly.
Note: The disable-model-invocation: true field prevents the model from automatically invoking this skill. Slash commands are designed to be explicitly triggered by the user via the / menu, not automatically suggested by the model.
Notes
namemust be lowercase with hyphens onlydescriptionis critical for skill discovery- Optionally delete originals after verifying migration works
Migrate a Rule (.mdc → SKILL.md)
- Read the rule file
- Extract the
descriptionfrom the frontmatter - Extract the body content (everything after the closing
---of the frontmatter) - Create the skill directory:
.cursor/skills/{skill-name}/(skill name = filename without .mdc) - Write
SKILL.mdwith new frontmatter (nameanddescription) + the EXACT original body content (preserve all whitespace, formatting, code blocks verbatim) - Delete the original rule file
Migrate a Command (.md → SKILL.md)
- Read the command file
- Extract description from the first heading (remove
#prefix) - Create the skill directory:
.cursor/skills/{skill-name}/(skill name = filename without .md) - Write
SKILL.mdwith new frontmatter (name,description, anddisable-model-invocation: true) + blank line + the EXACT original file content (preserve all whitespace, formatting, code blocks verbatim) - Delete the original command file
CRITICAL: Copy the body content character-for-character. Do not reformat, fix typos, or "improve" anything.
Workflow
If you have the Task tool available: DO NOT start to read all of the files yourself. That function should be delegated to the subagents. Your job is to dispatch the subagents for each category of files and wait for the results.
- Create the skills directories if they don't exist (
.cursor/skills/for project,~/.cursor/skills/for user) - Dispatch three fast general purpose subagents (NOT explore) in parallel to do the following steps for project rules (pattern:
{workspaceFolder}/**/.cursor/rules/*.mdc), user commands (pattern:~/.cursor/commands/*.md), and project commands (pattern:{workspaceFolder}/**/.cursor/commands/*.md): I. [ ] Find files to migrate in the given pattern II. [ ] For rules, check if it's an "applied intelligently" rule (hasdescription, noglobs, noalwaysApply: true). Commands are always migrated. DO NOT use the terminal to read files. Use the read tool. III. [ ] Make a list of files to migrate. If empty, done. IV. [ ] For each file, read it, then write the new skill file preserving the body content EXACTLY. DO NOT use the terminal to write these files. Use the edit tool. V. [ ] Delete the original file. DO NOT use the terminal to delete these files. Use the delete tool. VI. [ ] Return a list of all the skill files that were migrated along with the original file paths. - Wait for all subagents to complete and summarize the results to the user. IMPORTANT: Make sure to let them know if they want to undo the migration, to ask you to.
- If the user asks you to undo the migration, do the opposite of the above steps to restore the original files.
If you don't have the Task tool available:
- Create the skills directories if they don't exist (
.cursor/skills/for project,~/.cursor/skills/for user) - Find files to migrate in both project (
.cursor/) and user (~/.cursor/) directories - For rules, check if it's an "applied intelligently" rule (has
description, noglobs, noalwaysApply: true). Commands are always migrated. DO NOT use the terminal to read files. Use the read tool. - Make a list of files to migrate. If empty, done.
- For each file, read it, then write the new skill file preserving the body content EXACTLY. DO NOT use the terminal to write these files. Use the edit tool.
- Delete the original file. DO NOT use the terminal to delete these files. Use the delete tool.
- Summarize the results to the user. IMPORTANT: Make sure to let them know if they want to undo the migration, to ask you to.
- If the user asks you to undo the migration, do the opposite of the above steps to restore the original files.
Other versions8 projects use a version of this.
Word for word · 4
- Goodnessmbakara/codex-skills★ 1100% same
- PandelisZ/skills★ 1100% same
- filipefalcaofs/repo-padrao★ 0100% same
- marslo/skills★ 0100% same
Edited · 3
- 32103210/cursor-skills★ 1100% same
- JameMy0001/antigravity-skills-hub★ 196% same
- leishifu666/skills★ 198% same
Wrote their own version · 1
- 0mlkrizzz655335v/claude-skills-zh★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use review-bugbot, origin and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
0mlkrizzz655335vSkillreview-bugbot
缺陷导向代码审查。用 Bugbot 子代理找 bug。
Also in 4 projects that use this
0mlkrizzz655335vSkillorigin
origin CLI 管理。安装、登录、更新、修复 origin.cursor.com 的 CLI。"disabled-environments:
Also in 3 projects that use this
HermeticOrmusSkillautomate
Turn a repetitive task into a reliable automation script. Scope the task and its frequency/inputs/outputs/edge cases, pick the simplest tool, implement the smallest version, add error handling and idempotency, dry-run then schedule. Use when the task is "automate this", "write a script for", or scheduling an unattended job.
Also in 4 projects that use this
PydanticSkillreview-security
Security review of the current branch against its merge base — sandbox escapes, memory errors, panics and resource-limit bypasses. Use when reviewing changes for security risk, or before merging anything touching the heap/ module, path_security.rs, the wire protocol or the pool.
Also in 4 projects that use this
- +2 more from 0mlkrizzz655335v
In this repository48 other files it gives its agents.
- .claude/templates/AGENTS.mdAGENTS.md
- docs/agents.mdAGENTS.md
- .claude/CLAUDE.mdCLAUDE.md
- .cursor/rules/core.mdcCursor rule
- .cursor/rules/go.mdcCursor rule
- .cursor/rules/k8s.mdcCursor rule
- .cursor/rules/node.mdcCursor rule
- .cursor/rules/python.mdcCursor rule
- .cursor/rules/rust.mdcCursor rule
- .cursor/rules/tdd.mdcCursor rule
- .cursor/rules/workbench.mdcCursor rule
- llms-full.txtllms.txt
- llms.txtllms.txt
- cmux-sprint-orchestratorSkill
- config-auditSkill
- doneSkill
- eurekaSkill
- goalSkill
- go-reviewSkill
- handoffSkill
- js-reviewSkill
- k8s-debugSkill
- k8s-reviewSkill
- kickoffSkill
- pr-review-ingestSkill
- pr-reviewSkill
- python-reviewSkill
- reflectionSkill
- skill-evalSkill
- tdd-protocolSkill
- team-executeSkill
- team-planSkill
- team-shutdownSkill
- test-reviewSkill
- validate-recommendationSkill
- worktree-guideSkill
- babysitSkill
- canvasSkill
- create-hookSkill
- create-ruleSkill
- create-skillSkill
- create-subagentSkill
- sdkSkill
- shellSkill
- split-to-prsSkill
- statuslineSkill
- update-cli-configSkill
- update-cursor-settingsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

