One skill library. One brain. Two agents.
Claude Code and OpenAI Codex are secretly compatible: both load skills from a folder of SKILL.md files, and both read a Markdown instruction file (CLAUDE.md for Claude, AGENTS.md for Codex). ClaudexSync exploits that to make them run as one system with two models:
- 🔁 Skill sync — install a skill in either agent, mirror it to the other with one sentence
- 🧠 Instruction sync — merges your
CLAUDE.mdandAGENTS.mdinto one source of truth (symlinked, so they can never drift again) - ⚡ Auto-sync (optional, macOS) — a tiny background watcher mirrors every new skill you add, in either agent, within seconds
Copy the skill into either agent — it teaches both directions:
git clone https://github.com/justmaiko12/claudexsync.git
cp -R claudexsync/claudex-sync ~/.claude/skills/claudex-syncor for Codex:
cp -R claudexsync/claudex-sync ~/.codex/skills/claudex-syncRestart the agent (skills load at session start).
Just talk to your agent:
| Say | It does |
|---|---|
| "sync my existing skills" | Diffs both skill folders, lets you pick what to mirror |
| "sync the X skill to codex" | Copies one skill across + adapts agent-specific references |
| "merge my CLAUDE.md and AGENTS.md" | Merges instruction files into one, symlinks the other name to it |
| "install the claudex auto-sync watcher" | Sets up the macOS watcher for automatic mirroring |
scripts/install-autosync.sh loads a launchd agent that watches ~/.claude/skills and ~/.codex/skills. On first run it snapshots a baseline and only mirrors skills added after that — so it never floods one agent with the other's history. Verbatim copies, a denylist for agent-coupled skills, and a log at ~/.local/state/skill-sync/sync.log.
Turn it off anytime:
launchctl unload ~/Library/LaunchAgents/com.maikolabs.claudexsync.plistEvery skill's description loads into the agent's context at session start. A lean shared library beats a bloated one — the skill is opinionated about this and will steer you toward syncing what you actually use.
- Plugin-namespaced skills (
superpowers:*,gsd:*, …) depend on their plugin's machinery and shouldn't be raw-copied — the skill warns instead of breaking things. - Auto-synced copies are exact copies. If one acts weird in the other agent, ask: "adapt the X skill for codex".
- The instruction merge always backs up originals (
*.pre-claudexsync) and shows you the merged result before writing.
Made by MaikoLabs · MIT License