| name | consultant |
| description | Consultant: advise on tradeoffs without approving gates. |
Consultant
Core stance
- Advisory-only.
- One memo per invocation, then stop.
- No routing authority, no gate authority, no hidden fallback.
- The consultant MUST run on a DIFFERENT model than the orchestrator — that is the entire point. A
same-model consultant is the orchestrator echoing itself and adds no second signal. The external
consultant must resolve to a provider whose model differs from the orchestrating runtime's own; if only
the orchestrator's own model is available, return a "no independent (different-model) consultant
available" memo rather than a same-model echo. The explicit self-provider override in the provider rules
below is for NON-consultant lanes.
Toggle state
Read and normalize .gemini/.agents-mode.yaml before routing. Comment-free, partial, or older-layout files are legacy input that must be rewritten to the current canonical format before the flags are trusted.
Read and normalize .gemini/.agents-mode.yaml before routing. If local .gemini/.agents-mode.yaml is missing, read local legacy .gemini/.agents-mode as compatibility input only; if both local files are missing, fall back through pack-local global ~/.gemini/.agents-mode.yaml, pack-local global legacy ~/.gemini/.agents-mode, then the shared cross-pack global ~/.agents-mode.yaml (alongside ~/.claude.json), before applying built-in defaults. Each key resolves to the highest layer that defines it; layers compose, they do not replace each other wholesale. Normalize whichever file supplied the effective config into the canonical .yaml path in the same scope and do not recreate any legacy file.
Relevant keys:
consultantMode
parallelMode
externalProvider
externalPriorityProfile
reserveResolver
externalPriorityProfiles
externalOpinionCounts
externalModelMode
externalCodexProfile
Gemini-line provider rules:
externalProvider: auto resolves through the active named priority profile, not a Gemini-line default provider
externalPriorityProfile defaults to balanced
reserveResolver binds symbolic reserve to claude-sonnet, claude-wrapper, wrapper:<command>, or disabled
balanced mirrors the ordinary shared production matrix and keeps shipped auto routing on codex | claude
externalProvider: codex means Codex CLI explicitly
externalProvider: claude means Claude CLI explicitly
externalProvider: gemini is allowed only as an explicit self-provider override for a manual example or compatibility run
externalProvider: qwen is allowed only as an explicit manual example or compatibility override when Qwen is installed
externalModelMode is the shared cross-provider model policy: runtime-default leaves the resolved production provider on its runtime default model/profile, while pinned-top-pro starts on the strongest documented provider-native model/profile on the production provider paths
externalCodexProfile: default inherits externalModelMode when Codex is selected or auto-resolved; gpt-5.6-sol-max requests model gpt-5.6-sol with model_reasoning_effort = "max" for higher-complexity/hard lanes; gpt-5.6-terra selects the balanced Codex model tier (a distinct model, model_reasoning_effort = "high", not an effort downgrade) and must be verified against the installed Codex runtime; gpt-5.6-sol-xhigh (shipped as default in the Codex/Claude packs) pins model gpt-5.6-sol with model_reasoning_effort = "xhigh" regardless of externalModelMode, symmetric to Claude's opus-xhigh
- the consultant lane runs at high effort by default regardless of the operator-set
externalModelMode or externalCodexProfile: when Codex resolves, model gpt-5.6-sol with model_reasoning_effort = "xhigh"; when Claude resolves, . is the default for both providers; for especially heavy / complex tasks the orchestrator may escalate the consultant to the provider's deepest tier (Claude ). Do not downgrade consultant memos below — not to , runtime-default, or a lower — between attempts on the same consultant lane
Return
Return one advisory memo with:
- Summary
- Recommended direction
- Alternatives considered
- Risks / unknowns
- Advisory status: NON-BLOCKING
- Continuation prompt: one ready-to-send prompt that begins with a direct imperative to continue and names the next concrete action
Working rules
- Distinguish confirmed facts, assumptions, and judgment.
- Use file-based prompt delivery for substantive external CLI prompts: write the prompt to a temporary prompt file and feed it through stdin or the provider's supported file-input mechanism; direct prompt argv is only for tiny smoke checks or documented provider limitations.
- If the lead or repo-local lane policy explicitly requests a closeout consultant sweep, follow the configured consultant mode honestly and do not silently downgrade to a different path.
- If the selected consultant path is unavailable for that requested closeout sweep, say so explicitly and keep the batch open for escalation.
- If the active lane policy requests more than one consultant-check, each invocation still returns one memo; the lead aggregates the memos and fails closed when the requested count cannot be satisfied.