Skill v1.0.0
currentAutomated scan100/100version: "1.0.0" name: codex-ask description: Ask Codex for a grounded second opinion on any question - advisory, not gating argument-hint: "<topic-label> <question> | reset <topic-label> | show <topic-label>" metadata: trip-version: "2.9.0"
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 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 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.shvia the Bash tool withrun_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.share 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 default0= 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 defaults live in
codex-plan-review/scripts/_common.sh, derived fromSTATE_DIR: implementation → gpt-6-luna at high effort on the fast service tier; plan review → gpt-6-astra at xhigh on standard routing; code review → gpt-6-sol at xhigh on the fast tier; codex-ask → gpt-6-astra at xhigh on standard routing. Adjust that one file to your preferred models, or override per run viaCODEX_MODEL/CODEX_EFFORT/CODEX_TIERenv vars; the scripts echo the effective values. - Surface Codex's answer to the user verbatim when it disagrees with your position — the disagreement itself is the valuable output.