cannibal is a Codex skill for modifying (patching) the installed macOS Codex desktop app in a controlled, repeatable way.
It packages the skill prompt, reference docs, and helper scripts Codex needs to inspect Codex.app, extract and rebuild app.asar, update ElectronAsarIntegrity, re-sign the app, keep rollback backups, and resume after relaunches.
Warning
This project is provided "as is", without warranty of any kind, express or implied. Use it at your own risk. It modifies an installed application bundle and may break your local Codex install, require a reinstall, or cause loss of local state. The authors and contributors are not liable for any claim, damages, or other liability arising from its use. This is an independent community project and is not affiliated with or endorsed by OpenAI.
I built cannibal after wanting a safe, repeatable way to make local changes to the Codex desktop app on my own Mac. The first real thing I used it for was integrating Railway directly into the Codex interface:
skills/cannibal/SKILL.md: the skill instructions Codex reads after$cannibalis invokedskills/cannibal/agents/openai.yaml: UI metadata for the skill chip and default promptskills/cannibal/references/: supporting docs for bundle layout, UI patching, and restart/resume flowsskills/cannibal/scripts/: helper utilities for ASAR work, signing, checkpoints, and syncing the skill into Codex
- macOS only
- Codex desktop app installed
- Node.js available on
PATH zshrsync- Permission to modify
/Applications/Codex.appwhen you actually use the skill
Notes:
cannibalis macOS-specific because it targets the installed.appbundle, usescodesign, and assumes the Electron bundle layout used by the macOS Codex desktop app.- The bundled Node scripts use only built-in modules, so there is no
npm installstep. - If you want to run Codex's upstream
quick_validate.pyhelper, you will also needpython3withPyYAMLinstalled.
Clone the repo, then run:
zsh install.shThat syncs skills/cannibal into:
${CODEX_HOME:-$HOME/.codex}/skills/cannibalIf you prefer to install manually:
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
rsync -a skills/cannibal/ "${CODEX_HOME:-$HOME/.codex}/skills/cannibal/"After installation, invoke the skill in Codex with prompts like:
Use $cannibal to find the current toolbar implementation, and add a new top-right button that opens a custom side panel.
Use $cannibal to patch the installed Codex app's message renderer so assistant messages can render a new UI block.
If you update this repo later, rerun zsh install.sh to sync the latest version into your Codex skills directory.
If your Codex install includes the system skill-creator skill, you can validate the packaged skill with:
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" skills/cannibalThat helper requires the Python yaml module (PyYAML).
This skill is designed to modify the installed Codex desktop app. That is powerful and potentially risky.
- It keeps rollback backups before installation.
- It uses checkpoint files to make relaunch/resume flows recoverable.
- It assumes you want deliberate, marker-based patches rather than in-place manual edits.
Review skills/cannibal/SKILL.md before using it on a machine you care about.
This repository is licensed under the GNU General Public License v3.0. See LICENSE.md.
