From bopen-tools
Active when a Claude Code or Codex main session needs an independent, read-only second opinion at a commitment boundary. Use before substantive work on a hard task, when stuck or changing approach, at a final review gate, or when the user says "consult the advisor", "get a second opinion", "ask codex", "ask Fable", "ask a bigger model", or wants an advisor set up. Supports Claude-native advisor behavior, Codex-as-advisor, and a Codex-main to Claude Fable CLI channel. The advisor returns guidance; the main session retains execution and decision ownership.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bopen-tools:advisorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The main session borrows independent judgment at the few moments that determine
The main session borrows independent judgment at the few moments that determine whether the next hour of work is wasted. The advisor may be stronger, simply different, or context-clean. It never types the implementation; it advises.
You ARE the main executor and decision owner. The advisor is consulted,
never delegated implementation. If another model should write bounded code,
that is the coordinator worker pattern. Use orchestrator when the current
main combines specialist agents, external workers, and an advisor.
The advisor's value is only partly the stronger model: a consult also arrives context-clean, free of this session's accumulated assumptions. That's why a consult can pay even between equal tiers — and why every consult package must stand alone.
Four channels. Detect the current host and what exists before picking; never assume.
| Channel | How it works | Prefer when |
|---|---|---|
| codex as advisor | Dispatch a read-only consult to codex (plugin or CLI) | A codex quota exists — subscription capacity is usually the cheapest premium intelligence available |
| Native advisor tool | Claude Code's built-in advisor (/advisor, advisorModel setting, --advisor flag): the executor consults a stronger Claude model mid-turn, server-side | The advisor should be a Claude model and the account has capacity for it |
| Premium Claude subagent | Spawn a read-only Agent (Read/Grep/Glob only) pinned to a stronger Claude model; it inspects the repo fresh and returns a verdict | The advisor should be Claude AND the question needs repo inspection the transcript doesn't carry |
| Fable CLI from Codex | Run a clean, read-only Claude Code print session using the configurable fable model-family alias | The main is Codex and an independent Claude opinion is valuable, especially for Claude-specific work |
Passive detection depends on the host:
command -v claude, claude --version, and
claude auth status. The Fable lane is unavailable if CLI authentication
is unavailable; do not silently substitute another vendor.command -v codex and whether codex:* plugin commands
are available.advisorModel set in ~/.claude/settings.json or the project's
settings? (Slash commands are user-only — don't try to run /advisor.)
If it's absent and the session wasn't launched with --advisor, treat
the native channel as unconfigured and suggest the user run /advisor
to enable it. CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1 in the environment
means the native channel is off regardless.From a Claude main, avoid launching another claude -p process unless the user
asks; the native advisor or a native subagent is cleaner. The deliberate
exception is the cross-host Fable channel from a Codex main. Its preflight must
report which authentication path will be used because a fresh CLI invocation
can draw from subscription capacity or bill an API key.
Agent call and keep the toolset read-only — the
advisor advises; it must not edit.Use this channel when the current main is Codex and an independent Claude opinion is useful. It is especially valuable for reviewing Claude agents, hooks, plugin behavior, or prompts where a Claude-native perspective reduces guesswork.
Prepare the complete consult in a file. Feed it over stdin so shell quoting, prompt length, and repository text cannot become command interpolation:
ADVISOR_MODEL="${BOPEN_ADVISOR_MODEL:-fable}"
PROMPT_FILE="/absolute/path/to/prepared-advisor-consult.md"
env -u ANTHROPIC_API_KEY claude \
--print \
--safe-mode \
--model "$ADVISOR_MODEL" \
--effort high \
--permission-mode plan \
--tools "Read,Grep,Glob" \
--no-session-persistence \
< "$PROMPT_FILE"
fable is a stable model-family alias chosen for this advisor lane, not a
claim about a permanently latest version. Set BOPEN_ADVISOR_MODEL when the
user chooses another available Claude model.--safe-mode keeps personal plugins, hooks, memory, and project prompt
customizations out of the second opinion. This preserves context independence.--permission-mode plan plus Read,Grep,Glob makes the lane repository-aware
but unable to edit or run shell commands. For a context-only consult, pass an
empty tool list instead.--no-session-persistence prevents the consult from entering normal Claude
session history. Remove it only when the user explicitly wants a resumable
advisory thread.env -u ANTHROPIC_API_KEY deliberately prefers the signed-in Claude Code
subscription rather than an ambient API key. If the user explicitly wants
API billing, omit that prefix and disclose the change.This is an external data boundary. The consult file and any repository files the read tools inspect can be sent to Anthropic. Before the first Fable consult, say what will be shared and obtain approval unless the user already explicitly authorized that lane for the task. Exclude secrets, credentials, and unrelated proprietary content.
If claude auth status fails, the selected model is unavailable, or the CLI
reports a billing/authentication mismatch, stop and report the lane as
unavailable. Do not silently replace Fable with a different advisor.
codex exec is read-only by
default, which is right for once. The plugin is the opposite: it defaults
tasks to a write-capable run unless the request reads as
review/diagnosis/research-only — so when consulting through the plugin,
phrase the dispatch explicitly as advisory ("advisory only, no edits") so
it stays read-only.--resume) — an
advisory thread that keeps context across consults is markedly better for
follow-ups than a cold start each time.End every consult prompt with (verbatim or close):
Give a verdict, not a survey: "do X, not Y, because Z" plus the single risk that decides it. If the plan is sound, say so in one line — do not manufacture objections to justify the consult. If missing information would change the answer, name it precisely and say what each answer would imply. Keep it under 200 words unless the architecture genuinely demands more.
Consults happen at commitment boundaries — the decisions that determine whether the next hour of work is wasted: an architecture choice, a data migration, an API shape, a refactor strategy.
Consult before substantive work, not after. Orientation — finding files, reading code, reproducing the bug — is not substantive work; do that first so the consult is informed. Writing, editing, and committing to an interpretation are substantive.
Do NOT consult for mechanical steps, trivially verifiable facts, or anything a test run answers faster. Consults are metered; a session that consults on every turn has inverted the economics — and one that never consults on a hard task has wasted the safety net. A few consults per task, each at a real decision point, is the shape to aim for.
The advisor only knows what the consult carries. Include:
| Thought | Reality |
|---|---|
| "I'll just decide myself, consulting is a detour" | On a hard call, the consult is minutes; the wrong branch is hours. That's the trade this skill exists for. |
| "I'll skip the upfront consult and just confirm at the end" | The completion review gate doesn't replace the pre-work consult; advice that only ever arrives after the code exists becomes rubber-stamping. |
| "The advisor should just fix it" | Then it's not an advisor — that's the coordinator pattern upside down. Advice comes back; execution stays here. |
| "My test passed, so the advice was wrong" | The test may not measure what the advice addressed. Reconcile before discarding. |
| "I'll consult on every step to be safe" | Metered consults on mechanical steps invert the economics. Decision points only. |
| "The external advisor returned nothing, skip the consult" | Re-send once with the advice contract attached; silence is a transport/reporting failure, not a verdict. |
npx claudepluginhub itsbrex/b-open-promptsCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.