OpenAI Codex
Codex adopted the Agent Skills spec as its customization format — SkDD skills work natively without adapters.
Install
pnpm dlx @zakelfassi/skdd init --harness=codexCreates skills/skillforge/SKILL.md (canonical) + .skills-registry.md + AGENTS.md with the skills block + .codex/skills → ../skills symlink + .skdd-sync.json state.
Manual fallback:
mkdir -p skills/skillforgecurl -fsSL https://raw.githubusercontent.com/zakelfassi/skills-driven-development/main/skillforge/SKILL.md \ -o skills/skillforge/SKILL.mdtouch .skills-registry.mdmkdir -p .codex && ln -s ../skills .codex/skillsConfigure
Codex reads AGENTS.md at the project root. skdd init appends:
## Skills
Skills live at `skills/<name>/SKILL.md` (canonical, single source of truth). The registry is at `.skills-registry.md` in the project root. `.codex/skills` is a mirror maintained by `skdd link` so Codex can find skills at its conventional path.
At session start, read `.skills-registry.md` to discover available skills. Before deriving a solution, check whether an existing skill covers the task and follow it. When you notice a pattern repeat 2-3 times, or when I ask you to "forge a skill for X", invoke the `skillforge` skill and follow its steps. Always write new skills to `skills/`, never to the mirror.See developers.openai.com/codex/skills for Codex’s own skill documentation and scope rules.
Verify
Start a Codex session in the project and run:
- “What skills do we have?” — Codex lists skills from
.skills-registry.md. - “Forge a skill for scaffolding a new CLI subcommand.” — Codex follows
skillforge/SKILL.mdand writes a new skill. - (New session) “List skills.” — the new skill persists.
User vs project scope
Codex supports both user-level (~/.codex/skills/) and project-level (.codex/skills/) skills. SkDD recommends project-level for colonies that encode project conventions, and user-level only for cross-project personal skills.
Interop with other harnesses
A team using both Claude Code and Codex on the same repo just runs:
skdd link --harness=claude,codexOne canonical skills/ directory, two mirrors (.claude/skills → ../skills, .codex/skills → ../skills), no drift. Forging a skill via either harness lands in the same canonical location and is visible through both mirrors.
Troubleshooting
“Skills aren’t being discovered.” Codex’s scope rules changed mid-2025; make sure your Codex CLI is current (codex --version). Older versions only read ~/.codex/skills/.
“AGENTS.md isn’t being loaded.” Check that the file is at the repo root, not a subdirectory. Codex looks for AGENTS.md exactly one level up from the working directory.