Ask Claude for Codex

A second opinion is useful only when it is actually a second opinion.

Test

Ask Claude for Codex is an Agent Skill that lets Codex consult the locally authenticated Claude Code CLI without leaving the current task. The Claude session is read-only and isolated from local Claude customizations by default. It can still persist across follow-up questions, because rebuilding the same context for every objection is independence taken a little too literally.

The default is Fable 5 with high reasoning effort. A request can select another Claude model alias or full model ID, change the effort level and budget, or deliberately enable the local Claude setup.

Why this Skill?

Asking another model can expose a weak assumption, an overlooked failure path, or a genuinely different reading. But another model inside the same instructions, plugins and project framing is not as independent as the phrase "second opinion" suggests. This Skill keeps the consultation separate by default, gives it a fixed read-only tool surface, and makes the remaining choices explicit.

Claude's answer is still advice. Codex must verify it before the answer becomes an edit, a decision, or the wonderfully confident announcement that everything is now fixed.

How to use

Invoke the Skill explicitly or ask naturally:

$ask-claude-for-codex Review this implementation plan with the defaults.
Ask Opus 5 with max reasoning to challenge this architecture.
Frage Fable, ob dieser Fix die eigentliche Ursache behebt.

Unless overridden, the Skill uses:

Setting Default
Model claude-fable-5
Reasoning effort high
Budget ceiling USD 10
Claude tools Read,Grep,Glob,WebSearch,WebFetch
Session persistence Enabled
Claude customizations Disabled with safe mode

Model values are passed to Claude Code as aliases or full IDs. For example, opus selects the current Opus alias. Effort accepts low, medium, high, xhigh or max.

Explicit $ask-claude-for-codex invocation works on hosts that support named Skill invocation.

Install

The repository contains one installable Agent Skill directory. Usually, let Codex install it with this prompt:

Install this Agent Skill from GitHub and make it available for all my projects:
https://github.com/benjaminstelzer/ask-claude-for-codex/tree/main/ask-claude-for-codex

For a manual installation, copy the repository's ask-claude-for-codex/ directory so the final path is:

<skills-dir>/ask-claude-for-codex/SKILL.md

The Skill requires Python and an authenticated claude command on PATH. Claude Code usage limits and model charges still apply.

What it enforces

  • A deliberate second opinion. Model, reasoning effort and budget are explicit instead of being hidden inside the wrapper.
  • Read-only consultation. Claude receives Read, Grep, Glob, WebSearch and WebFetch, but not Bash, Edit or Write.
  • Isolation by default. CLAUDE.md, Claude Skills, plugins, hooks, MCP servers and custom commands stay disabled unless the request enables them.
  • Persistent follow-up when useful. The first consultation starts a saved conversation by default, while a request can start fresh or remain stateless.
  • Advice without borrowed authority. Claude cannot authorize edits, expand scope, accept a Decision, publish changes or override Codex instructions.
  • An explicit data boundary. Search queries and fetched URLs leave the local machine. Secrets and unrelated private data do not belong in prompts.

The complete contract is in SKILL.md.

How it works

The wrapper starts Claude Code with the selected model, effort, budget and fixed tool list. Its configuration, conversation state and customization mode are separate concerns: changing one does not quietly change the others.

Configuration

The shipped config.default.json contains every available setting:

{
  "model": "claude-fable-5",
  "effort": "high",
  "max_budget_usd": 10,
  "session_persistence": true,
  "customizations": false
}

To change permanent behavior, copy config.default.json to config.json in the same directory and edit the personal file. It is ignored by Git and takes precedence over the shipped defaults. Without either file, the same defaults remain available as an internal fallback.

Setting Meaning
model Claude model alias or full model ID
effort Reasoning effort: low, medium, high, xhigh or max
max_budget_usd Maximum spend for one consultation
session_persistence Whether Claude conversations are saved for follow-up questions
customizations Whether Claude uses the local Claude setup or starts as an isolated second opinion

For a one-time change, put the choice in the request instead of editing the file:

Ask Opus 5 with max reasoning and a USD 3 budget to review this architecture.

Conversations

The first consultation starts a saved Claude conversation by default. Follow-up questions in the same Codex task continue it, so Claude retains the earlier exchange. Ask for a new conversation when the topic changes, or ask for a fresh, stateless consultation when the exchange should not be saved.

Session persistence stores the conversation. Customizations control the environment Claude uses. They are independent.

Claude customizations

With customizations set to false, Claude starts in safe mode. It does not load CLAUDE.md files, project instructions, Claude Skills, plugins, hooks, MCP servers or custom commands. This is the default because it produces a more independent second opinion than asking the existing setup to admire its own homework.

With customizations set to true, Claude can use that local setup. Enable it when the consultation should follow Claude-specific project instructions, use a configured Claude Skill or include context from an MCP server. The wrapper still withholds Claude's built-in Bash, Edit and Write tools. Configured hooks, plugins or MCP servers can introduce their own behavior or side effects, so enabling customizations deliberately reduces isolation.

For one consultation, say so in the request:

Ask Claude with my local customizations to review this plan.

Safety boundary

Read-only tools prevent direct Bash, Edit and Write use. They do not make arbitrary content safe to disclose. Search queries and fetched URLs leave the local machine. Prompts must not contain credentials, tokens, private keys, secret-bearing URLs, private source text, or unrelated personal data.

Conversation persistence grants no additional tools or permissions. When customizations are enabled, their configured hooks and extensions remain outside the built-in tool boundary.

Related projects

Status

The deterministic wrapper tests run on Linux and Windows. They cover UTF-8 stream setup, Claude result parsing, error handling, configuration-error behavior, and the exact read-and-web tool surface without Bash, Edit, or Write. Live model quality still depends on the selected Claude model and the evidence available in the task. The wrapper can create distance, not omniscience.

Sources

License

MIT - see LICENSE.