Skip to content

v0.3.0 — Codex support

Latest

Choose a tag to compare

@Getty Getty released this 18 Aug 01:36
· 5 commits to main since this release

Codex support, from the same set of files.

  • SubagentStart hook for Codex, inside the same hooks/briefing-preload
    script: it branches on hook_event_name, so the Claude Code path is
    untouched.
  • Codex agents declare skills in a [briefing] table in
    .codex/agents/<name>.toml. Codex's own [[skills.config]] is deliberately
    not read — it means "visible to the agent", not "preloaded".
  • Skills resolve against the roots Codex itself searches (.agents/skills in
    project, parent and repo root, then ~/.agents/skills, ~/.codex/skills,
    /etc/codex/skills). plugin:skill works there too — Codex uses the same
    syntax, undocumented but observable.
  • Injection goes through additionalContext, with additionalContextLimit: 0
    in hooks.json. At the default threshold Codex replaces large skill bodies
    with a preview and briefs nobody, silently.
  • A SubagentStart hook cannot deny a spawn, so a missing skill yields an abort
    instruction to the agent plus a systemMessage to the user — and none of the
    skills that did resolve. No partial briefings.
  • .codex-plugin/plugin.json points at the same skills/ and hooks/
    directories. Nothing is duplicated; one hooks.json serves both harnesses,
    verified against Claude Code rather than assumed.
  • TOML parsing uses tomllib where available and a regex fallback on Python
    3.10, which CI still covers. A test forces the fallback path explicitly.
  • 11 new unit tests for the Codex path, plus end-to-end verification against
    Codex 0.147.0: a declaring agent answered from injected skill content, the
    identical non-declaring agent did not, and a marker confirmed SubagentStart
    reached the hook in both runs.