migrate-to-codex:把 Claude Code 配置一键搬进 Codex 的官方迁移 Skill

前言

2026 年的开发者很少只绑定一款 AI 编程工具。Cursor 写前端、Claude Code 跑长任务、Codex 接 CI——来回切换时,最耗时间的往往不是学新界面,而是把规则、Skill、MCP 服务器、子 Agent 重新搭一遍。同一套「项目记忆」散落在 .claude/.cursor/AGENTS.md.mcp.json 等路径里,格式各说各话,手动对照文档改配置,半天就过去了。

OpenAI 在官方 openai/skills 仓库里维护了一个精选 Skill:migrate-to-codex。它自带 Python 迁移脚本和差异对照表,能把 Claude Code 侧已支持的指令文件、Skill、子 Agent、Hooks、MCP 配置,转换成 Codex 的项目级或全局级产物(AGENTS.md.agents/skills/.codex/config.toml.codex/agents/ 等)。如果你是从 Cursor 迁过来,Codex CLI 0.145 的 /import 命令可以先把 Cursor 侧的设置批量导入;遇到 /import 无法自动处理的边角,再交给这个 Skill 做细粒度补迁。

这是什么

migrate-to-codex 是 OpenAI 出品的 Agent Skill,遵循通用的 SKILL.md 格式,可在 Codex CLI、Cursor、Claude Code 等支持 Skill 的工具里启用。

一句话定位:把 Claude Code 的配置面,按 Codex 官方目录规范做结构化迁移,并输出可审查的迁移报告。

它解决的核心问题是:Claude Code 与 Codex 虽然都基于 Agent Skills 开放标准,但配置文件名、Hooks 运行时、MCP 字段、子 Agent 权限模型并不完全等价。手工对照两份文档改 TOML,既容易漏项,也难追踪「哪些已迁、哪些需人工确认」。migrate-to-codex 用脚本扫描源目录、干跑预览、正式写入、校验目标,把这件事流程化。

核心功能与亮点

1. 覆盖完整的 Claude Code 配置面

官方 references/differences.md 列出了迁移映射关系,主要覆盖以下源 → 目标:

源(Claude Code) 目标(Codex) 迁移行为
CLAUDE.md / AGENTS.md 根目录 AGENTS.md 内容中性时自动 symlink;含 Claude 专有语义时断开 symlink 并生成需人工审查的副本
.claude/commands/*.md .agents/skills/source-command-*/SKILL.md 斜杠命令转为单文件 Skill
.claude/skills/*/SKILL.md .agents/skills/*/SKILL.md 转换 Skill,并复制 scripts/references/assets/
.mcp.json / .claude.jsonmcpServers .codex/config.toml[mcp_servers.*] 映射 stdio / HTTP 等可对应字段
.claude/agents/*.md .codex/agents/*.toml 子 Agent 转为 Codex 自定义 Agent
settings.json 中的 hooks .codex/hooks.json + [features].codex_hooks = true 部分 Hook 类型可转换,语义差异需审查

插件树(.claude/plugins/)和市场配置不会自动复制,会在报告里标记为 manual_fix_required,需要手动处理。

2. 自带 CLI 迁移工具,支持「先看再写」

Skill 目录下的 scripts/migrate-to-codex.py 提供完整命令行接口,典型工作流是:

  • --scan-only:只扫描源目录,列出活跃与未启用的配置面
  • --plan:打印将要生成的 Codex 产物路径,不写文件
  • --doctor:汇总就绪度、风险项和需人工审查的内容
  • --dry-run:模拟迁移
  • --validate-target:对已迁移的 Codex 目录做 TOML 解析、Skill frontmatter、MCP 命令可用性等校验

迁移完成后,报告写入 .codex/migrate-to-codex-report.txt,Agent 还会按规范输出 Markdown 表格,逐条标注 AddedCheck before usingNot Added 三种状态。

3. 自治式迁移循环(Self-Healing Loop)

启用该 Skill 后,Agent 会按官方指引持续跑完整个迁移,而不是每步都停下来问你:

  1. 用 Codex 内置 TODO 工具列出具体步骤
  2. 读取 references/differences.md(文档标注「Docs last checked: 2026-04-20」,过期时需对照最新 Codex 文档)
  3. --plan / --doctor,再 --dry-run,确认后正式写入
  4. 修复生成文件里带 ## MANUAL MIGRATION REQUIRED 标记的块
  5. --validate-target 通过后,输出最终报告

重要约束:不会修改源 Claude Code 文件.claude/~/.claude/.mcp.json.claude.json),也不会动无关项目代码或密钥;已有 Codex 配置里与迁移无关的条目(如 notifyprojects、其他 MCP 服务器)会保留。

4. 与 Codex /import 互补

Codex CLI 0.145(2026-07-21 发布)扩展了 /import 命令,可从 Cursor 和 Claude Code 批量导入设置、MCP、插件、会话、命令等。migrate-to-codex 则更擅长Claude Code → Codex 的细粒度转换无法 1:1 映射时的语义改写(例如 allowed-tools 降级为 prompt 指引、PreToolUse Hook 在 Codex 里仅对 shell 命令生效等)。

实际操作建议:先用 /import 做批量粗迁,再用 migrate-to-codex 处理报告里的 Check before usingNot Added 项。

安装与启用

在 Codex 中安装

官方文档推荐用内置安装器拉取精选 Skill:

$skill-installer migrate-to-codex

也可以手动克隆到用户级或仓库级 Skill 目录(Codex 会从 $HOME/.agents/skills/ 以及仓库内 .agents/skills/ 等路径自动发现):

git clone --depth 1 https://github.com/openai/skills.git /tmp/openai-skills
cp -r /tmp/openai-skills/skills/.curated/migrate-to-codex ~/.agents/skills/migrate-to-codex

安装后,迁移脚本通常位于:

.codex/skills/migrate-to-codex/scripts/migrate-to-codex.py

(具体路径取决于 Skill 安装位置;Skill 内用环境变量 MIGRATE_TO_CODEX 指向该脚本。)

若修改了 ~/.codex/config.toml 中的 Skill 开关,需重启 Codex 生效。

在 Cursor 中启用

Cursor 支持通用 Skill 格式。将 migrate-to-codex 目录(含 SKILL.mdscripts/references/)复制到项目的 .cursor/skills/migrate-to-codex/,或在对话里 @migrate-to-codex 显式调用。Cursor 侧不会自动执行 Codex 迁移脚本——更适合用来生成迁移计划、对照 differences.md 做人工改写。

在 Claude Code 中启用

同理,放到 ~/.claude/skills/migrate-to-codex/ 或项目 .claude/skills/ 下即可。在 Claude Code 里调用此 Skill,主要是提前预览迁到 Codex 后会变成什么样,源环境本身不会被改动。

典型用法示例

场景 A:全局 Claude Code 配置迁到 Codex 用户目录

先扫描、规划,再干跑:

MIGRATE_TO_CODEX='python3 .codex/skills/migrate-to-codex/scripts/migrate-to-codex.py'

$MIGRATE_TO_CODEX --source ~/.claude/ --scan-only
$MIGRATE_TO_CODEX --source ~/.claude/ --target ~/.codex/ --plan
$MIGRATE_TO_CODEX --source ~/.claude/ --target ~/.codex/ --doctor
$MIGRATE_TO_CODEX --source ~/.claude/ --target ~/.codex/ --dry-run

确认无误后去掉 --dry-run 正式迁移,并校验:

$MIGRATE_TO_CODEX --source ~/.claude/ --target ~/.codex/
$MIGRATE_TO_CODEX --validate-target ~/.codex/

场景 B:单个仓库的项目级迁移

$MIGRATE_TO_CODEX --source ./.claude/ --target ./.codex/ --dry-run
$MIGRATE_TO_CODEX --source ./.claude/ --target ./.codex/
$MIGRATE_TO_CODEX --validate-target ./.codex/

若希望清理迁移产生的孤儿 Skill 或 Agent,可加 --replace(会删除目标侧不再对应的生成物,使用前请备份)。

场景 C:在 Codex 里用自然语言触发

安装 Skill 后,在 Codex CLI 或 IDE 扩展中输入类似提示:

请用 migrate-to-codex 把 ~/.claude/ 的配置迁移到 ~/.codex/。
先 --doctor 看风险,再 dry-run,我确认后再正式写入,最后 validate 并给我迁移报告表格。

Skill 的 description 写明「Migrate supported instruction files, skills, agents, and MCP config into Codex project and global files」,Codex 会在任务匹配时隐式加载;也可显式用 $migrate-to-codex 调用。

迁移报告长什么样

官方要求最终输出 Markdown 表格,例如:

Status Item Notes
Added Slash command pr-review Converted into a Codex skill
Added Subagent release-lead Added as a Codex subagent
Check before using Hook PreToolUse Converted, but some Claude hook behavior differs in Codex
Not Added Hook Notification Codex does not have an equivalent notification hook
Not Added Plugin team-macros Plugin needs manual setup

看到 Check before using 时,打开对应生成文件,搜索 ## MANUAL MIGRATION REQUIRED 按提示修改。

适用场景与注意事项

适合谁用

  • 已在 Claude Code 里沉淀大量 Skill、斜杠命令、子 Agent、MCP 配置,计划切到 Codex 的团队或个人
  • 跑过 Codex /import 后,报告里仍有一批「需人工审查」项,希望有脚本和 Agent 协助逐项落地
  • 需要在两套工具之间并行维护一段时间,想先把 Codex 侧目录结构搭齐

已知限制(务必读)

  1. 参考文档范围references/differences.md 标题写明「Claude Code to Codex migration only」。Cursor Rules(.cursor/rules)不在该 Skill 的自动扫描范围内;Cursor 用户应优先用 Codex /import,或手工把规则合并进 AGENTS.md
  2. 不是语义等价保证allowed-toolspermissionMode、部分 Hook 类型等会被改写为 prompt 指引或部分映射;Claude 的 NotificationPermissionRequest 等 Hook 在 Codex 中没有直接对应。
  3. MCP 传输差异:Claude 的 type: sse 不被 Codex 支持;Bearer 认证会转为 bearer_token_env_var,但 ${VAR:-default} 形式的默认值不会保留。
  4. 插件需手工:Claude 插件目录和市场配置只报告、不复制;需按 Codex 插件规范(.agents/plugins/marketplace.json 等)自行适配。
  5. 先备份再 --replace:正式写入前建议备份 ~/.codex/config.toml 和项目 .codex/--replace 可能删除目标侧孤儿 Skill/Agent。
  6. 凭证不会自动重认证:MCP 服务器名和连接参数会迁过去,OAuth 令牌等仍需在新环境里重新登录或配置环境变量。

结尾

多工具切换已是 2026 年开发者的常态。migrate-to-codex 的价值,在于把「Claude Code → Codex」这条路上最繁琐的配置对照工作,变成可扫描、可预览、可校验、可报告的流水线;再配合 Codex /import 处理 Cursor 侧的批量导入,换工具时的「搬家成本」会低很多。

官方 Skill 地址:github.com/openai/skills/tree/main/skills/.curated/migrate-to-codex

Codex Skills 文档:developers.openai.com/codex/skills

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜