migrate-to-codex
Original:🇺🇸 English
Translated
15 scripts
Migrate supported instruction files, skills, agents, and MCP config into Codex project and global files.
12installs
Sourceopenai/skills
Added on
NPX Install
npx skill4agent add openai/skills migrate-to-codexTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Migrate to Codex
Autonomy
Keep going until the selected migration is completely done: run the migrator, inspect the report, fix migrated Codex instructions/skills/agents/MCP config, and re-run checks without stopping to ask for confirmation of the next step. If the user has selected a target, do not ask before creating, editing, replacing, or deleting generated Codex artifacts in that target (, , , or ). Preserve unrelated existing Codex config entries in or , such as , , , or unrelated MCP servers; do not ask about them unless they fail validation or directly conflict with the migration. Do not edit source Claude Code files (, , , or ), unrelated project code, secrets, or another repository.
AGENTS.md.codex/.agents/~/.codex/.codex/config.toml~/.codex/config.tomlnotifyprojectsmarketplaces.claude/~/.claude/.mcp.json.claude.jsonMigration Order
Run the migration in this order for each selected global or project source:
-
Start by using Codex's built-in TODO/task list tool. Do not createor any TODO file unless the user explicitly asks. The TODO list input has a
MIGRATION_TODOS.mdarray whose items each haveplanandstep; use statusesstatus,pending, andin_progress. Make the TODOs specific to the selected artifacts. Use literal source → Codex target labels, for example:completed- Inspect → Codex skills/prompts
.claude/commands - Inspect →
.claude/agents.codex/agents - Inspect →
.mcp.jsonMCP servers.codex/config.toml - Inspect hooks →
.claude/settings.json.codex/hooks.json - Migrate safe selected artifacts → Codex files
- Validate generated
.codex/config.toml - Validate generated
.codex/agents - Report migrated artifacts and manual-review items
- Inspect
-
Read(and refresh Codex docs if its
references/differences.mddate is old).Docs last checked -
Scan and inspect before writing:
- lists active and inactive source surfaces.
--scan-only - prints staged Codex artifact paths and report rows.
--plan - summarizes readiness, manual-review work, and validation risks.
--doctor
-
Convert surfaces in the same order the CLI uses:
- instructions: /
CLAUDE.mdtoAGENTS.mdAGENTS.md - plugins: report Claude plugin trees and marketplaces as manual migration work
- hooks: rewrite supported Claude hooks into and enable
.codex/hooks.json[features].codex_hooks = true - skills and commands: write Codex skills under
.agents/skills/ - config: write from Claude model/sandbox settings and MCP servers, including
.codex/config.tomlwhen config is generatedpersonality = "friendly" - subagents: write Codex custom agents under
.codex/agents/
- instructions:
-
Dry-run, then write the selected target. Useonly when orphan generated skills or agents should be deleted.
--replace -
Inspect the terminal output andafter real runs.
.codex/migrate-to-codex-report.txt -
Review generated artifacts in this order:,
AGENTS.md,.agents/skills/,.codex/config.toml,.codex/hooks.json, then report-only plugin items..codex/agents/ -
Runagainst each target after edits.
--validate-target -
Re-run checks andafter edits.
--dry-run -
Return the final migration report as one markdown table per scope that has rows. The tables cover only the non-native follow-up migration work you performed, such as skills created from slash commands, subagents, MCP servers, hooks, unsupported/local plugin notes, and manual-review caveats. Include programmatic native import rows for config, instructions, skills, or supported plugins only if you personally migrated them in this follow-up run.If only one scope has rows, render only the table with no heading. If multiple scopes have rows, render one heading before each table. Usefor user-scope rows. For project-scope rows, use the actual project folder name as the heading, for example
**User Config**; do not use**northstar-support-portal**as the heading. Do not add prose before or after the table output.Current ProjectUse exactly these columns:northstar-support-portalStatus Item Notes Addedpr-reviewSlash commandConverted into a Codex skill Addedrelease-leadSubagentAdded as a Codex subagent Check before usingPreToolUseHookConverted, but some Claude hook behavior differs in Codex Not AddedNotificationHookCodex does not have an equivalent notification hook Not Addedteam-macrosPluginPlugin needs manual setup must beStatus,Added, orCheck before using. UseNot Addedwhen a Codex-facing artifact was created or changed and needs no special review. UseAddedwhen a Codex-facing artifact was created or changed but the migration changed semantics, inferred behavior, preserved tool rules as guidance, or dropped unsupported behavior. UseCheck before usingwhen a source artifact was detected but no Codex-facing artifact was created.Not Addedcombines the artifact type and concrete item name in one cell. Artifact type must be singular:Item,Skill,Slash command,Subagent,MCP, orHook. Wrap the artifact type in inline code; write the item name as plain text after it.Pluginis always required; never leave it empty. Keep notes short, plain, and literal. Avoid internal implementation terms such as runtime expansion. Prefer phrases likeNotes,Converted into a Codex skill,Added as a Codex subagent,Added to Codex config,Converted into a Codex hook,Converted, but some Claude hook behavior differs in Codex,Codex does not have an equivalent notification hook, orPlugin needs manual setup.Plugin marketplace needs manual setup
Self-Healing Loop
Keep looping until the selected migration is complete:
- Run or
--plan.--doctor - Run the migration with .
--dry-run - Run the migration for real.
- Fix every generated block and every
## MANUAL MIGRATION REQUIREDormanual_fix_requiredreport row that can be resolved inside Codex artifacts.skipped - Run .
--validate-target - Re-run the migrator and validator until the report and validator have no actionable generated-artifact fixes left.
Do not edit source Claude Code files, unrelated project code, secrets, or another repository during this loop. If a report row requires source-provider changes or product judgment, leave the generated Codex artifact with clear manual guidance instead of changing the source.
Commands
Choose the migrator command.
bash
MIGRATE_TO_CODEX='python3 .codex/skills/migrate-to-codex/scripts/migrate-to-codex.py'Inspect the migration before writing.
bash
$MIGRATE_TO_CODEX --source ~/.claude/ --scan-only
$MIGRATE_TO_CODEX --source ~/.claude/ --target ~/.codex/ --plan
$MIGRATE_TO_CODEX --source ~/.claude/ --target ~/.codex/ --doctorDry-run, then run without , for global and project.
--dry-runbash
$MIGRATE_TO_CODEX --source ~/.claude/ --target ~/.codex/ --dry-run
$MIGRATE_TO_CODEX --source ~/.claude/ --target ~/.codex/
$MIGRATE_TO_CODEX --source ./.claude/ --target ./.codex/ --dry-run
$MIGRATE_TO_CODEX --source ./.claude/ --target ./.codex/Run the post-migration validator against each target after edits.
bash
$MIGRATE_TO_CODEX --validate-target ~/.codex/
$MIGRATE_TO_CODEX --validate-target ./.codex/Run for flags (, , , , defaults, and so on). Deep tables and more links are in .
$MIGRATE_TO_CODEX --help--scan-only--plan--doctor--validate-targetreferences/differences.md