Migrating from Cursor to Claude Code / Codex: An Inventory-and-Kickoff Prompt
Has the agent automatically inventory your Cursor project (.cursorrules, .cursor/rules, .cursor/mcp.json), produce a step-by-step migration plan, and generate the corresponding CLAUDE.md or AGENTS.md, slash commands, and MCP config — so you're not stuck 'dumber than Cursor' on day one.
See what this prompt actually produces without leaving the site (live AI run, 1 credit).
Don't just copy-paste — download and drop it at ~/.claude/skills/cursor-to-claude-code-codex-migration-kickoff/SKILL.md and every future session can use it automatically.
mkdir -p ~/.claude/skills/cursor-to-claude-code-codex-migration-kickoff && mv ~/Downloads/SKILL.md ~/.claude/skills/cursor-to-claude-code-codex-migration-kickoff/SKILL.mdNew-Item -ItemType Directory -Force "$env:USERPROFILE\.claude\skills\cursor-to-claude-code-codex-migration-kickoff" | Out-Null; Move-Item "$env:USERPROFILE\Downloads\SKILL.md" "$env:USERPROFILE\.claude\skills\cursor-to-claude-code-codex-migration-kickoff\SKILL.md"When to use it: day one of a team or individual moving from Cursor to Claude Code or Codex. Why it works: (1) it forces the agent to do a read-only inventory first before touching anything, so it doesn't start making changes blind; (2) it hard-codes the real mappings — '.cursorrules → CLAUDE.md/AGENTS.md,' '.cursor/rules → slash commands,' '.cursor/mcp.json → claude mcp add / config.toml' — into the instructions, so the agent isn't left guessing; (3) it explicitly requires 'say you're not sure when you're not sure,' preventing it from hallucinating features that don't exist. Technique: run just Phase 1 first to check the inventory is correct before letting it generate files. Every feature mentioned (CLAUDE.md, AGENTS.md, slash commands, MCP, plan mode) is an actually-existing capability in both tools as of 2026.
## Phase 1 — Inventory | Source | Configures | Maps to (Claude Code) | Notes | |---|---|---|---| | .cursorrules | 全域風格 + 架構規則 | CLAUDE.md 根目錄 | 含 3 條 Cursor 專屬措辭,已標記需改寫 | | .cursor/rules/testing.md | 「改完一定跑 vitest」 | CLAUDE.md『Commands』+ DoD | 命令型,併入 memory | | .cursor/mcp.json (postgres, github) | 2 個 MCP server | `claude mcp add` × 2 | token 走 env,勿寫死 | | (未寫下) pnpm + Next.js 15 | 推斷自 lockfile | CLAUDE.md『Tech stack』 | 確認用 pnpm 不是 npm | Unmapped: Cursor 的 inline Tab 補全 = 編輯器功能,Claude Code 無對應(屬正常)。 → 確認無誤後我再生成 CLAUDE.md / commands / MCP 指令。
[TARGET_TOOL]要遷移到的目標工具,填「Claude Code」或「OpenAI Codex CLI」其中一個
[MEMORY_FILE]目標工具的記憶檔名:Claude Code 填 CLAUDE.md、Codex 填 AGENTS.md
[KEY_COMMANDS]你專案的關鍵指令(build / test / lint / typecheck),若不確定可留空讓 agent 從程式碼推斷
填下面的欄位,上方 prompt 會即時替換 [方括號] 內容。填好後按「複製組好的 prompt」直接丟進工具。
You are helping me migrate this repository from Cursor to {{TARGET_TOOL}} (either Claude Code or OpenAI Codex CLI). Do NOT make any code changes — this is a configuration migration only. Work in two phases and stop after Phase 1 for my approval.
## Phase 1 — Inventory (read-only)
Scan the repo for existing Cursor configuration and report what you find. Look specifically for:
- `.cursorrules` (single-file rules)
- `.cursor/rules/*` (rule files / project rules)
- `.cursor/mcp.json` (MCP server definitions)
- Any `.cursorignore` file
- Project conventions implied by the code that AREN'T written down anywhere (e.g. test command, lint/typecheck command, package manager, framework, directory structure, naming conventions)
Produce an inventory table: `Source file | What it configures | Where it maps to in {{TARGET_TOOL}} | Notes`.
Mapping rules to apply:
- `.cursorrules` and `.cursor/rules/*` → persistent project memory: `CLAUDE.md` for Claude Code, `AGENTS.md` for Codex (at repo root).
- Reusable command-shaped rules ("always do X when I ask for Y") → custom slash commands under `.claude/commands/<name>.md` (Claude Code) — Codex has no equivalent slash-command file, so fold these into AGENTS.md sections instead.
- `.cursor/mcp.json` servers → MCP config: for Claude Code suggest the `claude mcp add` commands; for Codex put them under `[mcp_servers]` in `~/.codex/config.toml`.
- `.cursorignore` → note that the agent already respects `.gitignore`; flag anything extra that needs documenting.
List anything in the Cursor setup that does NOT cleanly map (Cursor-editor-specific features) and say so honestly instead of inventing an equivalent.
## Phase 2 — Generate the new config (after I approve)
For {{TARGET_TOOL}}, write the actual files:
1. A complete `{{MEMORY_FILE}}` (CLAUDE.md or AGENTS.md) with these sections: **Project overview** (1 short paragraph), **Tech stack**, **Commands** (exact build / test / lint / typecheck commands you discovered or that I provide: {{KEY_COMMANDS}}), **Code style & conventions**, **Architecture / directory map**, **Do / Don't** (gotchas). Convert any Cursor-specific phrasing into tool-neutral instructions. Keep it tight — bullet points over prose.
2. If Claude Code: draft `.claude/commands/` files for each reusable workflow you found, with frontmatter `description`.
3. The MCP migration commands or config block.
Then give me a short "day-one workflow note" explaining the mindset shift: in Cursor I approve each edit inline; in {{TARGET_TOOL}} I should let a batch of edits run and review the resulting `git diff` at the end, and use plan mode / read-only exploration first on anything non-trivial.
Do not fabricate features. If you are unsure whether {{TARGET_TOOL}} supports something, say "unsure — verify in docs" rather than guessing.Suno Engineer's Mindset: 4 Steps to a Song That Doesn't Sound Like AI
A studio engineer's breakdown of Suno's fatal weaknesses (fried vocals, high-frequency artifacts), plus a 4-step DAW workflow and a Suno Studio cleanup prompt.
5 Claude Weekly Workflows That Stuck After 6 Months
Proposal generator / meeting processor / content repurposer / Friday review / shutdown reset — out of 40 I tried, only these 5 survived, each saving 30+ minutes per run.