skills/advisor/SKILL.md
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.
npx skillsauth add b-open-io/prompts advisorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
When one advisor's verdict isn't enough — you want N independent perspectives
or an adversarial panel voting on a finding — Claude Code's native Workflow
tool runs judge panels as a deterministic script (opt-in gated, Claude-only);
see ../coordinator/references/native-workflows.md. A single well-packaged
consult remains the default; panels are for the highest-stakes calls.
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. |
tools
This skill should be used when a Claude Code session needs to keep working after Anthropic usage runs out, or when the user asks to run the Claude Code harness on GPT-5.6 Sol. Trigger phrases include "my Anthropic usage ran out", "I'm out of Claude usage", "usage limit reached, what now", "keep working on another model", "run Claude Code on GPT-5.6 Sol", "use GPT-5.6 Sol as the model", "set up claudex", "claudex isn't working", "route the harness through CLIProxyAPI", or "bill against my ChatGPT/Codex subscription". It stands up a local proxy so the Claude Code CLI runs on OpenAI's Codex backend as an escape hatch, and diagnoses that setup when it drifts. macOS + Homebrew.
testing
This skill should be used when the user asks to "open Visual Wayfinder", "answer a Wayfinder ticket visually", "turn this decision into a configurator", "show Wayfinder choices as a dashboard", "prototype the Wayfinder questionnaire", or wants interactive choice cards, tradeoff controls, rankings, ranges, toggles, and consequence previews for one active Wayfinder decision. It wraps the Wayfinder skill and JSON Render; it never replaces the tracker or resolves more than the active decision.
development
This skill should be used when the user asks to "make a visual proposal", "write this up so I can share it", "present these options visually", "diagram the trade-offs", "turn this plan into something reviewable", or requests a shareable design pitch, architecture proposal, RFC, options comparison, or visual roadmap for work that has not been built. It produces one self-contained, theme-aware HTML page led by grounded diagrams. Use visual-review instead for completed code changes; do not use this skill for internal task tracking.
tools
This skill should be used when the user asks to "add plugin settings", "make a plugin configurable", "store per-project plugin configuration", "use settings.local.json", "create a plugin state file", "expose skill settings in Agent Master", or "add a skill interface". Distinguishes official Claude Code settings from project-owned configuration and documents bOpen Agent Master skill interface discovery.