Skip to content
Productivity
Skill

/migrate-to-claude

Migrate your AI coding assistant config (Cursor, Windsurf, Copilot, Continue, Aider, Cody, Codex) to Claude Code. Discovers existing configs, trims bloat, and proposes a clean migration plan.

BOOST
From plugin
guide
1237 skills4 agents3 hooks
Install
$ npx -y skills add OriNachum/claude-code-guide --skill migrate-to-claude --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/migrate-to-claude

Context preview

The summary Claude sees to decide when to auto-load this skill.

Migrate your AI coding assistant config (Cursor, Windsurf, Copilot, Continue, Aider, Cody, Codex) to Claude Code. Discovers existing configs, trims bloat, and proposes a clean migration plan.

SKILL.md

migrate-to-claude.SKILL.md
description: Migrate your AI coding assistant config (Cursor, Windsurf, Copilot, Continue, Aider, Cody, Codex) to Claude Code. Discovers existing configs, trims bloat, and proposes a clean migration plan.
disable-model-invocation: true
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent

Migrate to Claude Code

You are helping a developer migrate their AI coding assistant configuration to Claude Code. This is a multi-phase process: discover what they have, analyze it, propose a clean migration plan, and — only after approval — execute it.

**Key principle:** don't just copy configs verbatim. Condense, deduplicate, and restructure for Claude Code's strengths. Less is more — a clean CLAUDE.md beats a bloated one.

Branch on `$ARGUMENTS`:

`help`

Present the available commands:

| Command | What it does | |---|---| | `/guide:migrate-to-claude` | Full migration: discover, analyze, plan, then pause for your approval | | `/guide:migrate-to-claude scan` | Discovery only — report what was found, no plan | | `/guide:migrate-to-claude apply` | Execute a previously presented migration plan | | `/guide:migrate-to-claude help` | Show this help |

`scan`

Run Phase 1 (Discovery) only. Present the discovery table and stop. Do not analyze or propose a plan.

`apply`

Execute the migration plan that was previously presented in this conversation. If no plan was presented yet, tell the user to run `/guide:migrate-to-claude` first.

Re-read the discovered source files and apply the planned changes as described in Phase 4 (Execution) and Phase 5 (Summary) below.

(empty arguments) — Full migration flow

Run all phases in order: Discovery → Analysis → Plan → pause for approval.

---

Phase 1 — Discovery

Scan the project root for config files from other AI coding assistants. Use Glob for file detection, then Read to inspect contents.

Paths to scan

| Tool | Paths | |---|---| | Cursor | `.cursorrules`, `.cursor/rules/*.md`, `.cursor/mcp.json`, `.cursor/settings.json` | | Windsurf | `.windsurfrules`, `.windsurf/rules/*.md`, `.windsurf/mcp.json` | | Copilot | `.github/copilot-instructions.md`, `.github/copilot-chat.yml` | | Continue | `.continue/config.json`, `.continue/config.yaml`, `.continue/rules/*.md` | | Cody | `.cody/cody.json`, `cody.json` | | Aider | `.aider.conf.yml`, `.aiderignore` | | Codex (OpenAI) | `AGENTS.md`, `.codex/config.toml`, `.codex/AGENTS.md` | | Existing Claude Code | `CLAUDE.md`, `CLAUDE.local.md`, `.claude/settings.json`, `.claude/settings.local.json`, `.mcp.json` |

Also check for `AGENTS.override.md` and `TEAM_GUIDE.md` at the project root (Codex fallback filenames).

Discovery output

Present a formatted discovery table:

+=======================================================+
|  DISCOVERY RESULTS                                    |
+=======================================================+
|  Tool           Files Found  Total Lines              |
|  -------------- ------------ -----------              |
|  Cursor         3            287                      |
|  Copilot        1            42                       |
|  Codex          1            65                       |
|  Claude Code    1 (existing) 28                       |
+=======================================================+
|  Tools not found: Windsurf, Continue, Cody, Aider    |
+=======================================================+

If no config files are found from any AI tool (excluding existing Claude Code configs), tell the user:

> No AI coding assistant configs found in this project. If you have configs elsewhere, copy them into the project root and try again. Or use `/guide:onboard` to set up Claude Code from scratch.

Then stop.

---

Phase 2 — Analysis

Read each discovered file. Classify every piece of content into one of these categories:

| Content type | Claude Code target | |---|---| | Project instructions, coding rules, conventions | `CLAUDE.md` (append if exists, create if not) | | File-scoped rules (e.g., "for *.tsx files…") | `.claude/rules/<name>.md` with `globs:` frontmatter | | MCP server configurations | `.mcp.json` (project scope) or `claude mcp add` command (local/user scope) | | Permission or safety rules | `.claude/settings.json` `permissions.allow` / `permissions.deny` | | Personal preferences (editor style, name) | `CLAUDE.local.md` (personal — remind user to add to `.gitignore`) | | Codex AGENTS.md content | `CLAUDE.md` (direct 1:1 equivalent) | | Codex config.toml MCP servers | `.mcp.json` or `claude mcp add` (same as other MCP sources) | | Ignored file patterns (.aiderignore) | Note only — no direct equivalent in Claude Code | | Tool-specific settings (model, temperature, sandbox) | Note only — use `/model` and permission modes instead | | Tool-specific instructions ("when using Cursor…") | Drop entirely |

Condensation heuristics

Apply these rules to keep the migrated config clean:

1. **Trim boilerplate** — If a source file is over 200 lines, extract only the actionable rules. Drop introductions, explanations of what the tool is, and filler text. 2. **Deduplicate** — If the same rule appears in multiple source files (e.g., "use TypeScript" in both .cursorrules and copilot-instructions), keep it once. 3. **Drop tool-specific instructions** — Anything like "when using Cursor", "in this IDE", "as a Copilot assistant" — drop entirely with a note. 4. **Drop inferable rules** — If the project has `tsconfig.json`, don't migrate "this is a TypeScript project." If it has `package.json`, don't migrate "this uses npm." Note what was dropped and why. 5. **Condense verbose rules** — "When writing code, please always make sure to use descriptive variable names that clearly convey the purpose of the variable" → "Use descriptive variable names." 6. **Separate personal from project** — Personal preferences (name, style) go to `CLAUDE.local.md`, not `CLAUDE.md`. 7. **Target ≤100 lines** — The CLAUDE.md additions should be concise. If th

Read more
Ships withguide

A Claude Code Guide — interactive onboarding and Q&A on setup, best practices, automation, and effective workflows, packaged as a plugin. Designed with love for beginners 🌱 to experts. 🌳 Platforms: Tested on Windows (Git Bash), macOS, and Linux (Ubuntu).

Get the whole plugin

Other skills on guide.

ask
Skill

ask

Ask any question about Claude Code features — setup, best practices, automation, models, plugins, MCP, configuration, and more.…

@orinachum@orinachumInstall Skill
onboard
Skill

onboard

Interactive getting-started walkthrough for new Claude Code users. Guides you through environment setup, your first session, and…

@orinachum@orinachumInstall Skill