Codex Working Kit
A kit for porting a Claude Code workflow to OpenAI Codex CLI for multi-tenant PHP/Bitrix24-Marketplace projects
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Hooks run bash commands, tests and formatting over the project's code
- The destructive-command guard reduces risk but does not eliminate configuration mistakes
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add workflows/codex-working-kitDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Assembled automatically, review before installing.
Run in a terminal in the project folder
npx skills add crazyrussman/codex-working-kit --skill audit contrarian doc-update integration-reviewer premortem resume split-decision wrap -a claude-code -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 5e59b6d
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .claude/skills
cp -R "$tmp/.agents/skills/audit" .claude/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .claude/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .claude/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .claude/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .claude/skills/premortem
cp -R "$tmp/.agents/skills/resume" .claude/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .claude/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .claude/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add crazyrussman/codex-working-kit --skill audit contrarian doc-update integration-reviewer premortem resume split-decision wrap -a cursor -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 5e59b6d
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .agents/skills
cp -R "$tmp/.agents/skills/audit" .agents/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .agents/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .agents/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .agents/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .agents/skills/premortem
cp -R "$tmp/.agents/skills/resume" .agents/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .agents/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .agents/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add crazyrussman/codex-working-kit --skill audit contrarian doc-update integration-reviewer premortem resume split-decision wrap -a github-copilot -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 5e59b6d
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .github/skills
cp -R "$tmp/.agents/skills/audit" .github/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .github/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .github/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .github/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .github/skills/premortem
cp -R "$tmp/.agents/skills/resume" .github/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .github/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .github/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add crazyrussman/codex-working-kit --skill audit contrarian doc-update integration-reviewer premortem resume split-decision wrap -a codex -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 5e59b6d
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .agents/skills
cp -R "$tmp/.agents/skills/audit" .agents/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .agents/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .agents/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .agents/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .agents/skills/premortem
cp -R "$tmp/.agents/skills/resume" .agents/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .agents/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .agents/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add crazyrussman/codex-working-kit --skill audit contrarian doc-update integration-reviewer premortem resume split-decision wrap -a gemini-cli -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 5e59b6d
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .agents/skills
cp -R "$tmp/.agents/skills/audit" .agents/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .agents/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .agents/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .agents/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .agents/skills/premortem
cp -R "$tmp/.agents/skills/resume" .agents/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .agents/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .agents/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .devin/skills
cp -R "$tmp/.agents/skills/audit" .devin/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .devin/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .devin/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .devin/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .devin/skills/premortem
cp -R "$tmp/.agents/skills/resume" .devin/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .devin/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .devin/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Formerly Windsurf.
Run in a terminal in the project folder
npx skills add crazyrussman/codex-working-kit --skill audit contrarian doc-update integration-reviewer premortem resume split-decision wrap -a cline -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 5e59b6d
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .cline/skills
cp -R "$tmp/.agents/skills/audit" .cline/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .cline/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .cline/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .cline/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .cline/skills/premortem
cp -R "$tmp/.agents/skills/resume" .cline/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .cline/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .cline/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add crazyrussman/codex-working-kit --skill audit contrarian doc-update integration-reviewer premortem resume split-decision wrap -a roo -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 5e59b6d
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .roo/skills
cp -R "$tmp/.agents/skills/audit" .roo/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .roo/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .roo/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .roo/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .roo/skills/premortem
cp -R "$tmp/.agents/skills/resume" .roo/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .roo/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .roo/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
A fork of Roo Code, same .roo folders.
Run in a terminal in the project folder
npx skills add crazyrussman/codex-working-kit --skill audit contrarian doc-update integration-reviewer premortem resume split-decision wrap -a opencode -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit 5e59b6d
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .agents/skills
cp -R "$tmp/.agents/skills/audit" .agents/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .agents/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .agents/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .agents/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .agents/skills/premortem
cp -R "$tmp/.agents/skills/resume" .agents/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .agents/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .agents/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .agents/skills
cp -R "$tmp/.agents/skills/audit" .agents/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .agents/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .agents/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .agents/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .agents/skills/premortem
cp -R "$tmp/.agents/skills/resume" .agents/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .agents/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .agents/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/crazyrussman/codex-working-kit.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /.agents/skills/audit/ /.agents/skills/contrarian/ /.agents/skills/doc-update/ /.agents/skills/integration-reviewer/ /.agents/skills/premortem/ /.agents/skills/resume/ /.agents/skills/split-decision/ /.agents/skills/wrap/
git -C "$tmp" checkout 5e59b6df096be032c344657c023e29ef5c813abb
mkdir -p .agents/skills
cp -R "$tmp/.agents/skills/audit" .agents/skills/audit
cp -R "$tmp/.agents/skills/contrarian" .agents/skills/contrarian
cp -R "$tmp/.agents/skills/doc-update" .agents/skills/doc-update
cp -R "$tmp/.agents/skills/integration-reviewer" .agents/skills/integration-reviewer
cp -R "$tmp/.agents/skills/premortem" .agents/skills/premortem
cp -R "$tmp/.agents/skills/resume" .agents/skills/resume
cp -R "$tmp/.agents/skills/split-decision" .agents/skills/split-decision
cp -R "$tmp/.agents/skills/wrap" .agents/skills/wrapCommands for macOS and Linux, on Windows run them in Git Bash.
Clone crazyrussman/codex-working-kit, copy AGENTS.md, .codex/ and .agents/ into the project root, edit the placeholders, merge config.toml.example into ~/.codex/config.toml, and confirm the hooks on the first codex run.
This is third-party code. Review the repository files before installing.
What it does
The kit ports Claude Code practices (CLAUDE.md, hooks, slash commands, subagents) to their Codex CLI equivalents: AGENTS.md instead of CLAUDE.md, config.toml instead of settings.json permissions, lifecycle hooks nearly one to one, and slash commands and subagents becoming skills under .agents/skills. It ships eight ready skills (resume, wrap, doc-update, premortem, contrarian, split-decision, audit, integration-reviewer) and hooks: a guard against destructive bash commands, auto-formatting after an edit, blocking exit on lint or test failures, a helper for running tools in Docker, and a notify hook for a toast or sound. The kit is built for multi-tenant PHP projects in the Bitrix24 Marketplace ecosystem, but contains no secrets or portal-specific bindings, so it adapts to similar projects.
Who it is for. For teams moving from Claude Code to OpenAI Codex CLI on multi-tenant Bitrix24 Marketplace PHP projects who want to keep their hook and skill discipline.
Good fit when
- Your team is moving from Claude Code to Codex CLI and does not want to lose its hooks and skills
- You need a ready set of checks: a destructive-command guard, auto-format, blocking exit on failing tests
- You need skill templates like premortem, contrarian and integration-reviewer for decision review
Not a fit when
- Your project is not PHP or not multi-tenant: the placeholders and hooks need much heavier rewriting
- You do not use Codex CLI and work only in Claude Code
- You need built-in Codex memory: there is none, the kit only proposes a docs/memory file convention
Example request
Run the premortem skill before we start refactoring the multi-tenant payment moduleLimitations
The kit itself contains no Bitrix24 REST API logic; it is about organizing a Codex workflow, not integrating with a CRM. Placeholders in AGENTS.md must be manually edited for your project. Codex has no built-in memory like Claude Code's MEMORY.md, and the authors work around that with a file convention. The hooks are written in Python and claimed cross-platform, but the Docker-based test image targets Docker Desktop.
How to disable. Remove AGENTS.md, .codex/ and .agents/ from your project repo and revert the changes in ~/.codex/config.toml.
Security check
- Hooks run bash commands, tests and formatting over the project's code
- The destructive-command guard reduces risk but does not eliminate configuration mistakes
README in short
The README gives a mapping table between Claude Code and Codex CLI features (CLAUDE.md and AGENTS.md, settings.json and config.toml, hooks, slash commands and skills), lists the kit's files and hooks, gives step-by-step setup instructions for a colleague with a /resume check, separately explains what does not transfer one to one (memory, AskUserQuestion, custom prompts), and cites OpenAI Codex documentation as of June 2026.
FAQ
Does Claude Code memory transfer one to one?
No, Codex has no built-in memory system; the kit proposes a docs/memory convention with four file types, linked from AGENTS.md.
What happens if tests fail before ending a turn?
The test-before-stop.py hook blocks the exit and demands a fix, the same way lint-before-stop.py does for static analysis.
Related
A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review
Skills for real engineers by Matt Pocock
Skills For Real Engineers
Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture
GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation
Reference MCP servers
Model Context Protocol servers
Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything