Codex Ask
Free-form second opinion from Codex CLI on any matter — architecture decisions, debugging hypotheses, research conclusions, trade-off calls — not just plans and diffs. Codex answers from inside the repository (read-only sandbox), so its opinion is grounded in the actual code, not in whatever excerpt happened to be quoted.
Advisory, not authoritative. Unlike codex-plan-review / codex-code-review, there are no verdict tags and nothing is gated on the answer: treat the response as one input to your judgment, exactly like a colleague's opinion. Agreement is weak evidence; disagreement is a strong signal that something deserves the user's attention.
State persisted per topic label under .claude/skills/codex-ask/state/ — follow-ups resume the same thread, enabling multi-round discussion. Invoke this skill's own wrapper scripts under .claude/skills/codex-ask/scripts/ — they pin the correct STATE_DIR and delegate to the shared codex-plan-review implementation, so there is no export to remember (a forgotten export would silently operate on the plan-review thread for the same label).
Arguments
<topic-label> — short kebab-case label for the discussion (becomes the state key), e.g. orchestrator-choice, flaky-auth-test. Auto: start if no thread, resume if one exists.
<question> — the actual question, passed as trailing text. Include your own draft position when you have one ("Here is my recommendation: … Red-team it").
reset <topic-label> / show <topic-label> — drop state / display last answer.
Execution
Start a discussion:
bash .claude/skills/codex-ask/scripts/start.sh \
--prompt-file .claude/skills/codex-ask/prompts/ask.tpl \
<topic-label> "<question — include your draft position and ask for disagreement>"
Follow up in the same thread (counterpoints, new evidence):
bash .claude/skills/codex-ask/scripts/resume.sh \
--prompt-file .claude/skills/codex-ask/prompts/followup.tpl \
<topic-label> "<follow-up or counterpoint>"
Reset: bash .claude/skills/codex-ask/scripts/reset.sh <topic-label> — Show: bash .claude/skills/codex-ask/scripts/show.sh <topic-label>
When to use
- Second opinion on an architecture/design decision before it hardens (e.g., at the end of a research session, before writing the plan).
- Root-cause help when genuinely stuck on a bug — fresh eyes, different blind spots.
- "Red-team this conclusion" on a memo or recommendation you are about to present.
When NOT to use
- Questions that need the user's preference or judgment — ask the user, not Codex.
- Trivial lookups or anything settled by reading the code yourself — every ask costs a Codex run.
- As a gate: never block or approve work based on the answer; that is what the review skills with verdict tags are for.
Notes
- Run Codex calls in a background shell. Invoke
start.sh / resume.sh via the Bash tool with run_in_background: true — never as a foreground/inline command. Codex runs at xhigh effort routinely outlast the foreground command timeout; the background task notifies on completion, then read its output. reset.sh / show.sh are instant and fine in the foreground.
- Set
CODEX_TIMEOUT=1800 (30 min) when invoking start.sh / resume.sh — a generous circuit breaker against hung runs (script default 0 = no timeout); fails through the normal error path with a "timed out" message on expiry.
- Read-only sandbox — Codex can read the repo but change nothing.
- Model/effort/tier come from
codex-plan-review/scripts/_common.sh (non-implement flows get the review-class model at xhigh by default); override per run via CODEX_MODEL / CODEX_EFFORT / CODEX_TIER.
- Surface Codex's answer to the user verbatim when it disagrees with your position — the disagreement itself is the valuable output.
1---2name: codex-ask3description: Ask Codex for a grounded second opinion on any question - advisory, not gating4---56# Codex Ask78Free-form second opinion from Codex CLI on **any matter** — architecture decisions, debugging hypotheses, research conclusions, trade-off calls — not just plans and diffs. Codex answers from inside the repository (read-only sandbox), so its opinion is grounded in the actual code, not in whatever excerpt happened to be quoted.910**Advisory, not authoritative.** Unlike `codex-plan-review` / `codex-code-review`, there are no verdict tags and nothing is gated on the answer: treat the response as one input to your judgment, exactly like a colleague's opinion. Agreement is weak evidence; *disagreement* is a strong signal that something deserves the user's attention.1112State persisted per topic label under `.claude/skills/codex-ask/state/` — follow-ups resume the same thread, enabling multi-round discussion. Invoke this skill's own wrapper scripts under `.claude/skills/codex-ask/scripts/` — they pin the correct `STATE_DIR` and delegate to the shared `codex-plan-review` implementation, so there is no `export` to remember (a forgotten export would silently operate on the plan-review thread for the same label).1314## Arguments1516- `<topic-label>` — short kebab-case label for the discussion (becomes the state key), e.g. `orchestrator-choice`, `flaky-auth-test`. Auto: start if no thread, resume if one exists.17- `<question>` — the actual question, passed as trailing text. Include your own draft position when you have one ("Here is my recommendation: … Red-team it").18- `reset <topic-label>` / `show <topic-label>` — drop state / display last answer.1920## Execution21221. **Start** a discussion:23 ```bash24 bash .claude/skills/codex-ask/scripts/start.sh \25 --prompt-file .claude/skills/codex-ask/prompts/ask.tpl \26 <topic-label> "<question — include your draft position and ask for disagreement>"27 ```28292. **Follow up** in the same thread (counterpoints, new evidence):30 ```bash31 bash .claude/skills/codex-ask/scripts/resume.sh \32 --prompt-file .claude/skills/codex-ask/prompts/followup.tpl \33 <topic-label> "<follow-up or counterpoint>"34 ```35363. **Reset**: `bash .claude/skills/codex-ask/scripts/reset.sh <topic-label>` — **Show**: `bash .claude/skills/codex-ask/scripts/show.sh <topic-label>`3738## When to use3940- Second opinion on an architecture/design decision **before it hardens** (e.g., at the end of a research session, before writing the plan).41- Root-cause help when genuinely stuck on a bug — fresh eyes, different blind spots.42- "Red-team this conclusion" on a memo or recommendation you are about to present.4344## When NOT to use4546- Questions that need the **user's** preference or judgment — ask the user, not Codex.47- Trivial lookups or anything settled by reading the code yourself — every ask costs a Codex run.48- As a gate: never block or approve work based on the answer; that is what the review skills with verdict tags are for.4950## Notes5152- **Run Codex calls in a background shell.** Invoke `start.sh` / `resume.sh` via the Bash tool with `run_in_background: true` — never as a foreground/inline command. Codex runs at xhigh effort routinely outlast the foreground command timeout; the background task notifies on completion, then read its output. `reset.sh` / `show.sh` are instant and fine in the foreground.53- **Set `CODEX_TIMEOUT=1800`** (30 min) when invoking `start.sh` / `resume.sh` — a generous circuit breaker against hung runs (script default `0` = no timeout); fails through the normal error path with a "timed out" message on expiry.54- Read-only sandbox — Codex can read the repo but change nothing.55- Model/effort/tier come from `codex-plan-review/scripts/_common.sh` (non-implement flows get the review-class model at xhigh by default); override per run via `CODEX_MODEL` / `CODEX_EFFORT` / `CODEX_TIER`.56- Surface Codex's answer to the user verbatim when it disagrees with your position — the disagreement itself is the valuable output.