This guide installs HELIX into the OpenAI Codex CLI — the terminal
agent that reads AGENTS.md and runs interactive coding sessions
against a repo.
GitHub Copilot is a separate target with its own install path. See
copilot.md.
HELIX ships as content (artifact catalog under workflows/activities/)
plus a single routing skill at skills/helix/SKILL.md. The repo is also
a Codex plugin: .codex-plugin/plugin.json points Codex at the same
skill directory and presentation metadata, while .claude-plugin/marketplace.json
is the marketplace listing Codex imports from GitHub.
Two pieces:
- The HELIX plugin —
.codex-plugin/plugin.jsonplusskills/helix/SKILL.md. Installs ashelix@helixthrough the Codex plugin manager so Codex can discover the routing skill. - The artifact catalog —
workflows/activities/00-discoverthrough06-iterate. Vendored with the plugin and resolved by the skill from the active plugin root or project checkout.
Install from the HELIX marketplace:
codex plugin marketplace add DocumentDrivenDX/helix
codex plugin add helix@helixVerify Codex can see the marketplace entry:
codex plugin list --marketplace helix --available --jsonCodex installs the plugin from the configured marketplace snapshot. For Git marketplaces, update the snapshot with:
codex plugin marketplace upgrade helixThe Vercel Labs Skills CLI (npx skills) installs HELIX from GitHub
into Codex's filesystem skill path in one command:
npx skills add DocumentDrivenDX/helix -a codexThis drops skills/helix/SKILL.md (and supporting files) into the
Codex skill discovery path (~/.codex/skills/helix/ or
~/.agents/skills/helix/ depending on installer version).
Requires Node.js. The Skills CLI also accepts --list, --skill <name>, and multi-agent targets (-a claude-code -a codex etc). Use
this path when you are on a Codex CLI build that does not yet include
codex plugin.
For scripted/Docker environments without Node:
# Clone or otherwise place HELIX source somewhere readable
git clone https://github.com/DocumentDrivenDX/helix /tmp/helix-src
# Place the skill where Codex discovers it
mkdir -p ~/.codex/skills/helix
cp -r /tmp/helix-src/skills/helix/* ~/.codex/skills/helix/
# Verify discovery (sub-second; loads frontmatter only)
codex --versionThe agentskills.io invariant applies: parent directory name
(helix) must equal name: in the SKILL.md frontmatter. HELIX's
source layout already conforms.
Skills can also live at repo scope (<repo>/.agents/skills/helix/)
to override the user-scoped install for that repo.
If you also use DDx as your runtime:
ddx install helixDDx places HELIX content at ~/.ddx/plugins/helix/. For Codex
discovery, symlink the skill subdirectory into the Codex path:
ln -s ~/.ddx/plugins/helix/skills/helix ~/.codex/skills/helixThis keeps a single source updated via ddx install helix --force.
For repos that want Codex to mention HELIX explicitly on session
start, add a HELIX section to AGENTS.md at the repo root:
# Agent Instructions
This repo uses HELIX (methodology + artifact catalog + one routing skill).
- Routing skill: `skills/helix/SKILL.md`
- Artifact catalog: `workflows/activities/` (00-discover through 06-iterate)
- Methodology spec: `workflows/README.md`, `workflows/principles.md`
When the user asks to use HELIX, align documents, frame requirements,
design a change, evolve specs, review work, or otherwise touch
HELIX-governed material, load `skills/helix/SKILL.md` and follow the
routing table inside it. Do not invent new `helix-*` skills.This is supplementary — Codex auto-discovers the skill from
~/.codex/skills/helix/ regardless of AGENTS.md content. The pointer
helps when the user opens a Codex session and is unsure which skills
are available.
Note: Codex CLI does NOT honor .codex/instructions.md. The supported
instruction files are AGENTS.override.md and AGENTS.md, checked in
that order at ~/.codex/, the git root, and each directory down to
the CWD. Custom fallback filenames can be added via
project_doc_fallback_filenames in ~/.codex/config.toml.
Open a Codex session in the repo and ask the verification question non-interactively:
codex exec --ephemeral "What HELIX routing modes are available, and where is the routing skill?"For plugin installs, first confirm the plugin is installed:
codex plugin list --marketplace helix --jsonThe installed plugin root should resolve under
~/.codex/plugins/cache/helix/helix/<version>/.
A correct runtime response:
- Mentions the HELIX skill or the installed
helix@helixplugin. - Lists routing modes: input, frame, align, evolve, design, backfill, review, polish, check/next, build, run, commit, release, experiment, worker (or a faithful subset).
For fallback filesystem skill installs, if Codex does not mention the skill file, check:
ls ~/.codex/skills/helix/SKILL.mdconfirms the file is in placecat ~/.codex/config.toml | grep -A1 skillsdoes not haveenabled = falsefor the HELIX entry
Disable a skill without removing files:
[[skills.config]]
path = "/home/<you>/.codex/skills/helix/SKILL.md"
enabled = falseRestart Codex after config changes.
Codex CLI has no /helix slash-command surface. Activate HELIX by naming the
skill or describing the work in the prompt — this is also the correct pattern
for headless codex exec runs, where slash-style commands are inert:
codex exec --ephemeral "Use the helix skill to align the PRD with the designs"The routing table in skills/helix/SKILL.md is
the same regardless of phrasing; only activation differs across runtimes. See
FEAT-013 for
per-runtime activation coverage.
Codex requires authentication. For containerized use:
# Set the API key
export OPENAI_API_KEY=sk-... # or CODEX_API_KEY=sk-...
# Seed credentials without browser flow
printenv OPENAI_API_KEY | codex login --with-api-keyKnown issue: if ~/.codex/auth.json already contains a cached
ChatGPT login, the OPENAI_API_KEY env var is ignored. Clear
~/.codex/auth.json first.
Alternative: codex login --device-auth for device-flow authorization
when --with-api-key is unavailable.
Plugin update:
codex plugin marketplace upgrade helix
codex plugin add helix@helixPlugin uninstall:
codex plugin remove helix@helixFor fallback skill installs there are no native codex skill update or
codex skill remove commands. Update by re-running the Skills CLI or
filesystem copy. Uninstall by deleting ~/.codex/skills/helix/ or setting
enabled = false in ~/.codex/config.toml.
All HELIX modes are available with Codex CLI:
- Read/write markdown, search files, multi-file edits, multi-turn reasoning: yes
- Shell execution (for
build,run,commit,release,experiment,workermodes): yes - Bead tracker discipline: yes, when DDx is also installed
- Long-running operator loop: possible; pair with
ddx workfor durable queue drain
For the full HELIX-plus-runtime experience, install DDx alongside
Codex and use ddx work to drive the queue while Codex handles
individual bead executions.
Refresh is a first-class HELIX mode that brings every artifact instance under a project HELIX tree up to date with the current canonical templates and prompts. Codex CLI currently runs Refresh in one session. For parallel activity fan-out, pair Codex with a runtime such as DDx that can dispatch one worker per activity directory. Both paths use the same HELIX methodology.
HELIX integration with Codex CLI is validated by the test harness at
tests/workflows/codex-cli/ (see README).
The harness exercises skill activation, routing, and behavioral correctness via
codex exec. Screencast: INT-CX.gif.
skills/helix/SKILL.md— routing skill- docs/resources/agents/openai-codex-cli-skills.md — Codex CLI mechanism research notes
- docs/resources/agents/agentskills-spec.md — cross-runtime SKILL.md standard
- Install README index
- Companion install guides: Claude Code, GitHub Copilot, Databricks Genie Code
- Integration test harness:
tests/workflows/codex-cli/