Skip to content

Codex

Codex is not a second-class citizen. The skills are the same files, the CLI is the same CLI, and the protocol is identical — planx talks to both through a directory of JSON, so neither is privileged.

Start

/planx add rate limiting to the upload endpoint

If Codex is in Plan Mode

Codex has no tool for leaving plan mode on its own, so the skill prints:

press shift+tab to leave plan mode, then say "go"

Do that and the loop starts. (Under Claude Code the equivalent step is automatic — one accepted ExitPlanMode stub.)

Review

Exactly as everywhere else, in a second terminal tab:

bash
planx <plan-id>

Leave a comment, press s, and paste the line it prints back into Codex:

What your agent gets back is printed under the frame the moment you submit.

╭─ planx v0.3.0 guard-clock-a3f9 v2 ← v1 ────────────────────────────────────╮
⋯ 12 unchanged lines (space to expand)
13
14 ## Approach
15
-16 Extend the snapshot-regression guard in `poller.ts` to
-17 also reject a cross-period backward jump.
+16 Reject the write at the R2 path, where every snapshot
+17 already passes through one function, rather than in the
+18 poller that happens to have produced it.
19
-19 - Compare the incoming timestamp to the last accepted one.
-20 - Reject anything more than one period behind.
-21 - Count the rejection against the node that sent it.
+20 - Read the period key already on the object.
This version has 1 feedback.
←→ version · d hide diff · j next feedback · n note · s submit
space expand · v select lines · x exit · esc back · ? help
╰─────────────────────────────────────────────── ★ github.com/thisisnsh/planx ─╯

click to use your keyboard, or tap the keys below

Executing

planx does not launch Codex for you. Approving a plan prints one command to paste into whichever session you want to build it in — see Executing.

MIT licensed.