Codex
The Codex runtime (Codex CLI) is a first-class SDTK runtime alongside Claude Code: the same skills install into Codex's skill directory, and AGENTS.md guidance routes sessions the same way.
Setup
npm install -g sdtk-kit
sdtk init --runtime codexCodex defaults to user scope — skills land in $CODEX_HOME/skills/ (default ~/.codex/skills/), installed once for every project on the machine.
Project scope with CODEX_HOME
Codex resolves its home from the CODEX_HOME environment variable, so project-scoped skills work via an explicit launch contract: point CODEX_HOME at a .codex directory inside the project, both when initializing and when launching Codex.
# initialize into the project
CODEX_HOME=$(pwd)/.codex sdtk init --runtime codex --runtime-scope project
# launch Codex against the same home
CODEX_HOME=$(pwd)/.codex codexIf you launch Codex without that variable, it uses ~/.codex and won't see project-scoped skills — the contract is only as good as the launch command.
Using the skills
Codex has no slash-command syntax; invoke skills by name in the session:
Use the orchestrator skill.
I want to build a lightweight CRM for solo consultants to track leads.Init writes AGENTS.md session guidance so the model picks up SDTK routing (discovery gate, phase pipeline, smallest-sufficient-workflow) at session start. All CLIs (sdtk-spec, sdtk-wiki, sdtk-agent, …) work identically regardless of runtime.
Naming note
The runtime is "Codex" and SDTK supports it — but SDTK is not a Codex product. You'll see "Codex runtime" in these docs, never a combined product name.
What calls leave your machine
Same story as every runtime: SDTK CLIs are local; model/API calls happen when you run a Codex session. Repo-owned artifacts stay in your repository.
Keeping skills current
sdtk update
sdtk init --runtime codex --force # user scope
CODEX_HOME=$(pwd)/.codex sdtk init --runtime codex --runtime-scope project --force