What problem does it solve? When a repository treats Claude configuration (.claude/) as the source of truth, Codex-side rule files drift out of sync whenever permissions change. This Skill keeps .codex/rules/default.rules consistent by regenerating it from .claude/settings*.json instead of editing it by hand. ## Core Features & Use Cases - Deterministic rule generation: Runs just migrate-codex (which invokes python3 scripts/migrate_codex.py) to convert Bash allow/deny permissions from .claude/settings.json and .claude/settings.container.json into Codex prefix_rule entries. - Drift detection: just migrate-codex --check exits non-zero when the generated rules are stale, so CI or pre-commit can catch desynchronization. - Clear scope boundary: Only settings-derived Bash permissions are synced; content-level migration of skills, agents, and prose guidance is delegated to the Codex-side migrate-claude skill. - Use Case: After adding a new allowed Bash command to .claude/settings.json, run the check, regenerate the rules file, review the diff, and commit the generated artifact in the same commit. ## Quick Start Ask the assistant to sync Codex settings by running just migrate-codex --check and then regenerating .codex/rules/default.rules if it is stale.