Agent Advisor: cold-context second opinions, spent economically
A fresh Agent subagent sees only what you hand it. That is the whole
mechanism this skill sells: an advisor with no memory of this conversation,
no attachment to the approach already tried, and — at the top tier — more raw
capability than the main model.
Two advisor tiers:
- Fable 5 — when the task needs more capability than the main model has.
Fable is the strongest and most expensive model available; on a Max 20x plan
its quota is roughly half the total budget, so it gets spent like a scarce
resource: for genuine planning/debugging leverage, never for routine work.
- A fresh Opus subagent — when the task needs a view the main model can't
have. The main model is often already Opus; when it is, an Opus subagent is
not a capability upgrade and not a cheaper tier. Its only value is
the cold context — no anchoring on this transcript, no sunk cost in an
approach already tried — or standing in when Fable is unavailable. If
neither applies, spawn nothing and think it through yourself.
Not a replacement for the built-in advisor() tool — a different
instrument. advisor() sees the whole transcript automatically, costs no
briefing, and offers no model choice; reach for it as a continuous
checkpoint ("am I on track, did I miss something"). This skill costs a brief
and lets you choose both what the advisor sees and which model answers; reach
for it when the transcript is the problem (anchoring, sunk cost in an
approach already tried) or when you need above-main-model capability. The
one-line rule: value from someone seeing everything you did → advisor().
Value from someone seeing only the essentials, fresh → this skill.
Global rules
- Budget: at most two advisor calls per task (one consult + one unblock)
without telling the user first. After two passes, decide with the user
rather than ping-ponging with a subagent.
- Decision precedence: user instructions > this skill's rules > the
advisor's answer. The advisor's output is advice, not authority — the user
always wins.
- Advisors advise by default, they don't implement — the main model
implements.
Phases: Gate → Mode → Brief → Spawn → Use, plus a Resume path for
follow-ups.
Phase 1 — Gate
Consult an advisor if ANY are true:
- User explicitly requested one (Fable or Opus)
- Architecture or long-term design decision with real tradeoffs
- Change is cross-cutting, or its blast radius is large and hard to reverse
- Small change, but a mistake would be costly, hard to detect, or
irreversible (auth/crypto/payments, destructive data migrations,
concurrency, production infrastructure)
- Problem is genuinely novel to this codebase — no existing pattern to copy
- Two genuinely different attempts have failed and the root cause is still
unclear
- Requirements are technically ambiguous enough that a plan should exist
before any code is touched
Otherwise: skip. Do not consult an advisor for routine implementation,
obvious bug fixes with a small blast radius, cosmetic changes, replicating an
existing pattern in the codebase, or anything answerable from docs/code/
project memory.
If the gate passes, pick the tier — in this order:
- User named a model ("ask fable" / "ถาม opus") → use that one, no
deliberation.
- Does the task need more capability than the main model has —
architecture with real tradeoffs, a genuinely novel problem, an
irreversible blast radius? → Fable.
- Does it need a view the main model can't have — an independent read of
a plan this transcript is already anchored on, a cold diagnosis after two
failed attempts, a review free of sunk cost? → Opus subagent.
- Neither is clearly the fit → pick the closer of 2 and 3: a design or plan
question goes to Fable, a review or second-opinion question to Opus. The
Gate already decided whether to consult; this step only decides
which — it can't send a passed task back to skip.
Notes on applying the checklist:
- Intent before design: if the ambiguity is about what the user wants
(not how to build it), resolve it with
AskUserQuestion first — a subagent
starts cold and cannot ask the user. Then gate the clarified task.
- Explicit request overrides everything above: consult immediately, don't
ask permission to skip. If the task looks routine, say so in one sentence
while proceeding ("This looks routine, but consulting Fable as you
asked"). Never silently substitute your own answer for a requested consult.
- Already have an answer for this task from earlier in the session? Don't
re-gate or re-brief — go straight to Resume below.
- Genuine toss-up on a high-stakes task: ask the user once via
AskUserQuestion rather than guessing.
- Otherwise, decide and state the reason in one sentence (e.g. "Scoped bug
fix with an obvious cause — skipping the advisor and fixing it directly.").
If SKIP: proceed with the task yourself and stop here — do not run the
later phases.
Phase 2 — Mode
A consult is only as good as the deliverable you name. Pick one mode and ask
for its shape explicitly in the brief:
| Mode |
Reach for it when |
Ask for |
| plan |
design or strategy is the thing that's missing |
ordered steps with file-level detail, plus explicitly-flagged open questions |
| diagnose |
a bug survived two genuinely different attempts |
root cause, the mechanism, a fix strategy, and what evidence would falsify the diagnosis |
| critique |
a plan, diff, or spec already exists and you want it attacked |
ranked concrete failure modes, each with the scenario that triggers it — "no material problems" must be an allowed answer |
| decide |
two or more viable options with real tradeoffs |
one pick, the deciding constraint named, and what fact would flip it |
Anti-anchoring — mandatory for critique and decide. Handing an advisor
your own plan while signalling that you like it buys agreement, not review.
So:
- Don't say which option you wrote, prefer, or already started building.
- Label options
A / B, never "my approach" vs "the alternative".
- Omit your confidence level and any endorsement language.
- State that rejecting every option, or answering "no material problems", is a
valid outcome.
If you catch yourself writing a brief that only makes sense if the advisor
agrees with you, you're in plan mode wearing a critique label — relabel it
or rewrite the brief.
Phase 3 — Brief
Prepare:
- Verify every path you'll reference in the brief actually exists.
- Gather only the context the advisor can't get itself — it can Read/Grep once
spawned, so don't pre-digest more than necessary.
- Batch related open questions into one brief. One consult covering three
questions is far cheaper than three consults.
Write the brief: a fresh Agent call starts cold with zero memory of this
conversation — that's a feature here, not a limitation, and for an Opus
consult it is the entire point. The advisor only ever sees what you
deliberately hand it. Do not paste the whole conversation. The template is the
same for both tiers and all four modes.
## Brief for the advisor
**Goal:** <one or two sentences — what decision, plan, or diagnosis is needed>
**Repo / working dir:** <absolute path to the repo root — subagent cwds
reset, so every path in this brief must be absolute>
**Constraints:** <stack, must-not-break, deadline, style/architecture rules;
QUOTE the user's explicit instructions verbatim rather than paraphrasing>
**Context already known:** <relevant absolute file paths, prior decisions,
relevant project memory — reference paths/names, don't paste full file
contents unless essential>
**Specific question:** <the exact deliverable, in the shape Phase 2 names for
the chosen mode. Add: "State your assumptions explicitly instead of asking
questions back; list any decision that genuinely needs user input as an
explicit open question.">
Include only if relevant:
**What's been tried / ruled out:** <why it failed. For `diagnose`: paste the
exact error/stack trace/failing command output VERBATIM — the advisor
cannot reproduce your interactive state>
**Acceptance:** <how success will be verified — the failing test to make
pass, the command to run, the metric to hit>
**Out of scope:** <what NOT to touch or reconsider>
Before spawning, check the brief in three directions:
- Enough: could a cold advisor produce a useful answer from this brief
alone? Any load-bearing fact that lives only in this conversation (a user
decision, an error you saw, a constraint stated verbally) must be in the
brief — the advisor cannot recover it.
- Not too much: include only information that changes the advisor's
decision — don't summarize what it can discover itself. As a rough ceiling,
most briefs run under ~300-400 words, excluding verbatim error output or
schema snippets that are genuinely load-bearing — those earn their length;
narrative padding does not.
- Not leading (
critique / decide only): reread it once against the
anti-anchoring rules in Phase 2.
Phase 4 — Spawn
Tell the user in 1-2 sentences which advisor and which mode you're using
and why — do this before spawning, since the foreground call blocks until
it returns.
Default spawn (advisory-only, per Global rules):
Agent({
description: "<3-5 word task description>",
subagent_type: "Plan", // no Edit/Write access — keeps the advisor advisory-only
model: "fable", // or "opus", per the tier picked in Phase 1
run_in_background: false, // default: you need the answer before continuing
prompt: "<the brief from Phase 3>"
})
The only difference between the tiers is the model value. Use
subagent_type: "general-purpose" only if the user explicitly wants the
advisor to write code itself — otherwise "Plan" (can Read/Grep/explore,
cannot Edit/Write) prevents accidental drift into the advisor doing the
implementation work.
Set run_in_background: true only when you have genuinely independent prep to
do while the advisor thinks (e.g. reproducing the bug, running the test suite
to gather evidence for Phase 5) — otherwise stay foreground.
If the spawn fails (quota exhausted, model unavailable, tool error): tell
the user immediately and offer the choice — retry later, work with the main
model now, or, when Fable is the one that failed, fall back to an Opus
subagent for a cold read. Offering a different tier as an alternative is fine;
silently substituting one for a requested Fable consult is not.
Note the agent id/name the harness returns — you need it for Resume.
Phase 5 — Use the answer
Before acting on it, run this checklist:
- It answers the question, in the mode you asked for: a
critique that
comes back as a rewritten plan, or a decide that comes back as "it
depends", missed the deliverable. If so, follow up via Resume step 1 scoped
to the gap — don't act on a mismatched answer.
- User instructions win (decision precedence, Global rules). If the
answer contradicts something the user explicitly asked for, surface the
conflict and the advisor's rationale and let the user decide — never
silently follow the advisor over the user.
- Open questions: if the answer flags decisions needing user input,
resolve them with the user before touching code. Don't guess on
load-bearing ones.
- Relay it: give the user a 3-5 line summary of the approach and key
decisions — always, not just for big answers. If it's high-stakes
(destructive, hard to reverse, or large-scale), wait for the user's
go-ahead before making edits; otherwise proceed.
- Make the verdict findable when the consult actually changed the design:
put the deciding reason in the commit message, or in project memory if it
will outlive the commit. An unrecorded verdict gets re-litigated — and
re-consulted — next session.
Then execute yourself (or delegate to a sonnet/opus subagent for large
mechanical portions — that's plain delegation, not an advisor call, and
doesn't count against the budget). Small deviations discovered during
implementation are normal — note them and continue. Do not re-consult an
advisor to double-check routine implementation steps — that defeats the point
of the gate.
Resume — when implementation gets stuck
Resume priority:
SendMessage to the existing agent (using the agent id from Phase 4).
This works even after the advisor already returned its answer — a completed
foreground agent auto-resumes on SendMessage. Scope the message to just
the blocker: what you tried, the exact error/result verbatim, and the one
question you need answered.
- New
Agent call at the same tier (model: "fable" or "opus") — only
if the original agent is genuinely gone or unrelated to the blocker. Write
a fresh, narrow brief (Phase 3 style, scoped to the blocker) and quote the
relevant excerpt of the original answer — a new advisor has never seen it
and may otherwise re-derive or contradict it. Escalating Opus → Fable here
is allowed when the blocker turns out to be the kind of problem step 2 of
the tier check describes; say so to the user when you do.
- Ask the user before exceeding the two-call budget (Global rules
above) — at that point it's quota burning, not leverage. A blocker isn't
the same as a broken plan: if the plan turns out fundamentally infeasible,
summarize the state to the user and decide together instead of
ping-ponging with a subagent.
Then go back to implementing with the main model.
Quick reference
| Step |
Tool |
Model |
| Skip |
— |
main model only |
| Explicit request |
— |
always consult, at the model named |
| Gate check |
(reasoning only; AskUserQuestion for intent) |
main model |
| Tier check |
(reasoning only; capability → Fable, cold view → Opus) |
main model |
| Mode check |
(reasoning only; plan / diagnose / critique / decide) |
main model |
| Brief |
(reasoning only; verify paths, check for leading language) |
main model |
| Consult |
Agent (subagent_type: "Plan") |
fable or opus |
| Answer check + summary to user |
(reasoning only; user wins conflicts) |
main model |
| Implement |
direct edits / Agent |
sonnet or opus |
| Unblock (max 1 without asking) |
SendMessage to existing agent, or new narrow Agent |
same tier (Opus → Fable escalation allowed) |
Changelog
Entry format (binding on future entries): max 4 lines — Added/Changed:
summaries, plus Rejected: <idea> — <one-clause reason> for any declined
review suggestion so it isn't re-proposed. Long-form rationale goes in git
commit messages, never here.
- 2.0.0 — Renamed
fable-advisor → agent-advisor (user request; two
tiers now, not one). Added: four consult modes (plan/diagnose/critique/
decide) each naming its deliverable, mandatory anti-anchoring rules for
critique/decide, "make the verdict findable" as Phase 5 item 5, and a
routing rule vs. the built-in advisor() tool.
- 1.4.0 — Added: second tier (fresh Opus subagent) with a two-question
tier check, Opus as Fable-spawn fallback, "ask opus"/"ถาม opus" triggers;
budget now counts two advisor calls total. Rejected: a separate Opus
budget number — two caps drift apart.
- 1.3.1 — Changelog capped to the format above; entries retro-trimmed.
Rejected: moving rationale to a separate DESIGN.md — rejection markers
only inoculate if they're in the file reviewers actually see, and the
~300-token runtime cost doesn't clear the one-file default; long-form
rationale belongs in git instead. No runtime change.
- 1.3.0 — Added: Brief both-directions completeness check; "the answer
addresses the brief's question" as a first check item; offset by trimming
duplicated advisory-only/precedence prose. Rejected: numeric anchors →
quality language — anchors are the drift detectors; per-phase exit
criteria — every proposed exit already exists in operative form.
- 1.2.0 — Editorial/scannability pass only: checklist-first Gate,
Prepare/Write Brief split, priority-list Resume, global rules promoted,
Quick Reference covers Skip and explicit-request paths. No behavioral
change from 1.1.0.
- 1.1.0 — Single CONSULT-checklist Gate; spawn-failure fallback;
two-call budget; always-relay summary; path verification. Rejected:
demoting
SendMessage in Resume — completed foreground agents remain
addressable.
- 1.0.0 — Initial: Gate → Brief → Spawn → Implement, plus Resume.
1---2name: agent-advisor3description: Consult a cold-context advisor subagent — Fable 5 or a fresh Opus — for a plan, a diagnosis, a critique, or a decision, while keeping Fable quota usage low. Use when the user says "ask fable", "ถาม fable", "ask opus", "ถาม opus", "consult an advisor", "ปรึกษา advisor", "agent-advisor", or asks for a second opinion / architecture plan / debugging strategy / critique of an existing plan on a genuinely hard, high-stakes, or hard-to-reverse problem. Runs a gate first to decide whether the task needs an advisor at all (an explicit user request always passes the gate), picks the tier and the consult mode, hands it a curated brief (not the raw transcript), checks the answer against the user's explicit instructions, and routes implementation back to the current main model. Do NOT invoke for small, clearly-scoped, low-risk work — the gate exists precisely to keep those off the advisors.4---56# Agent Advisor: cold-context second opinions, spent economically78A fresh `Agent` subagent sees only what you hand it. That is the whole9mechanism this skill sells: an advisor with no memory of this conversation,10no attachment to the approach already tried, and — at the top tier — more raw11capability than the main model.1213Two advisor tiers:1415- **Fable 5** — when the task needs *more capability than the main model has*.16 Fable is the strongest and most expensive model available; on a Max 20x plan17 its quota is roughly half the total budget, so it gets spent like a scarce18 resource: for genuine planning/debugging leverage, never for routine work.19- **A fresh Opus subagent** — when the task needs *a view the main model can't20 have*. The main model is often already Opus; when it is, an Opus subagent is21 **not** a capability upgrade and **not** a cheaper tier. Its only value is22 the cold context — no anchoring on this transcript, no sunk cost in an23 approach already tried — or standing in when Fable is unavailable. If24 neither applies, spawn nothing and think it through yourself.2526**Not a replacement for the built-in `advisor()` tool** — a different27instrument. `advisor()` sees the whole transcript automatically, costs no28briefing, and offers no model choice; reach for it as a continuous29checkpoint ("am I on track, did I miss something"). This skill costs a brief30and lets you choose both what the advisor sees and which model answers; reach31for it when the transcript *is* the problem (anchoring, sunk cost in an32approach already tried) or when you need above-main-model capability. The33one-line rule: value from someone seeing **everything you did** → `advisor()`.34Value from someone seeing **only the essentials, fresh** → this skill.3536**Global rules**37- **Budget:** at most two advisor calls per task (one consult + one unblock)38 without telling the user first. After two passes, decide with the user39 rather than ping-ponging with a subagent.40- **Decision precedence:** user instructions > this skill's rules > the41 advisor's answer. The advisor's output is advice, not authority — the user42 always wins.43- **Advisors advise by default**, they don't implement — the main model44 implements.4546Phases: **Gate → Mode → Brief → Spawn → Use**, plus a **Resume** path for47follow-ups.4849## Phase 1 — Gate5051**Consult an advisor if ANY are true:**52- User explicitly requested one (Fable or Opus)53- Architecture or long-term design decision with real tradeoffs54- Change is cross-cutting, or its blast radius is large and hard to reverse55- Small change, but a mistake would be costly, hard to detect, or56 irreversible (auth/crypto/payments, destructive data migrations,57 concurrency, production infrastructure)58- Problem is genuinely novel to this codebase — no existing pattern to copy59- Two genuinely different attempts have failed and the root cause is still60 unclear61- Requirements are technically ambiguous enough that a plan should exist62 before any code is touched6364**Otherwise: skip.** Do not consult an advisor for routine implementation,65obvious bug fixes with a small blast radius, cosmetic changes, replicating an66existing pattern in the codebase, or anything answerable from docs/code/67project memory.6869**If the gate passes, pick the tier — in this order:**70711. **User named a model** ("ask fable" / "ถาม opus") → use that one, no72 deliberation.732. Does the task need **more capability than the main model has** —74 architecture with real tradeoffs, a genuinely novel problem, an75 irreversible blast radius? → **Fable**.763. Does it need **a view the main model can't have** — an independent read of77 a plan this transcript is already anchored on, a cold diagnosis after two78 failed attempts, a review free of sunk cost? → **Opus subagent**.794. Neither is clearly the fit → pick the closer of 2 and 3: a *design or plan*80 question goes to Fable, a *review or second-opinion* question to Opus. The81 Gate already decided **whether** to consult; this step only decides82 **which** — it can't send a passed task back to skip.8384**Notes on applying the checklist:**85- **Intent before design:** if the ambiguity is about *what the user wants*86 (not how to build it), resolve it with `AskUserQuestion` first — a subagent87 starts cold and cannot ask the user. Then gate the clarified task.88- **Explicit request overrides everything above:** consult immediately, don't89 ask permission to skip. If the task looks routine, say so in one sentence90 *while proceeding* ("This looks routine, but consulting Fable as you91 asked"). Never silently substitute your own answer for a requested consult.92- **Already have an answer for this task from earlier in the session?** Don't93 re-gate or re-brief — go straight to **Resume** below.94- **Genuine toss-up on a high-stakes task:** ask the user once via95 `AskUserQuestion` rather than guessing.96- Otherwise, decide and state the reason in one sentence (e.g. "Scoped bug97 fix with an obvious cause — skipping the advisor and fixing it directly.").9899**If SKIP:** proceed with the task yourself and stop here — do not run the100later phases.101102## Phase 2 — Mode103104A consult is only as good as the deliverable you name. Pick one mode and ask105for its shape explicitly in the brief:106107| Mode | Reach for it when | Ask for |108|---|---|---|109| **plan** | design or strategy is the thing that's missing | ordered steps with file-level detail, plus explicitly-flagged open questions |110| **diagnose** | a bug survived two genuinely different attempts | root cause, the mechanism, a fix strategy, and what evidence would falsify the diagnosis |111| **critique** | a plan, diff, or spec already exists and you want it attacked | ranked concrete failure modes, each with the scenario that triggers it — "no material problems" must be an allowed answer |112| **decide** | two or more viable options with real tradeoffs | one pick, the deciding constraint named, and what fact would flip it |113114**Anti-anchoring — mandatory for `critique` and `decide`.** Handing an advisor115your own plan while signalling that you like it buys agreement, not review.116So:117- Don't say which option you wrote, prefer, or already started building.118- Label options `A` / `B`, never "my approach" vs "the alternative".119- Omit your confidence level and any endorsement language.120- State that rejecting every option, or answering "no material problems", is a121 valid outcome.122123If you catch yourself writing a brief that only makes sense if the advisor124agrees with you, you're in `plan` mode wearing a `critique` label — relabel it125or rewrite the brief.126127## Phase 3 — Brief128129**Prepare:**130- Verify every path you'll reference in the brief actually exists.131- Gather only the context the advisor can't get itself — it can Read/Grep once132 spawned, so don't pre-digest more than necessary.133- Batch related open questions into one brief. One consult covering three134 questions is far cheaper than three consults.135136**Write the brief:** a fresh `Agent` call starts cold with zero memory of this137conversation — that's a feature here, not a limitation, and for an Opus138consult it is the *entire* point. The advisor only ever sees what you139deliberately hand it. Do not paste the whole conversation. The template is the140same for both tiers and all four modes.141142```143## Brief for the advisor144**Goal:** <one or two sentences — what decision, plan, or diagnosis is needed>145**Repo / working dir:** <absolute path to the repo root — subagent cwds146 reset, so every path in this brief must be absolute>147**Constraints:** <stack, must-not-break, deadline, style/architecture rules;148 QUOTE the user's explicit instructions verbatim rather than paraphrasing>149**Context already known:** <relevant absolute file paths, prior decisions,150 relevant project memory — reference paths/names, don't paste full file151 contents unless essential>152**Specific question:** <the exact deliverable, in the shape Phase 2 names for153 the chosen mode. Add: "State your assumptions explicitly instead of asking154 questions back; list any decision that genuinely needs user input as an155 explicit open question.">156157Include only if relevant:158**What's been tried / ruled out:** <why it failed. For `diagnose`: paste the159 exact error/stack trace/failing command output VERBATIM — the advisor160 cannot reproduce your interactive state>161**Acceptance:** <how success will be verified — the failing test to make162 pass, the command to run, the metric to hit>163**Out of scope:** <what NOT to touch or reconsider>164```165166**Before spawning, check the brief in three directions:**167- **Enough:** could a cold advisor produce a useful answer from this brief168 alone? Any load-bearing fact that lives only in this conversation (a user169 decision, an error you saw, a constraint stated verbally) must be in the170 brief — the advisor cannot recover it.171- **Not too much:** include only information that changes the advisor's172 decision — don't summarize what it can discover itself. As a rough ceiling,173 most briefs run under ~300-400 words, **excluding** verbatim error output or174 schema snippets that are genuinely load-bearing — those earn their length;175 narrative padding does not.176- **Not leading** (`critique` / `decide` only): reread it once against the177 anti-anchoring rules in Phase 2.178179## Phase 4 — Spawn180181Tell the user in 1-2 sentences **which advisor and which mode** you're using182and why — do this **before** spawning, since the foreground call blocks until183it returns.184185Default spawn (advisory-only, per Global rules):186187```188Agent({189 description: "<3-5 word task description>",190 subagent_type: "Plan", // no Edit/Write access — keeps the advisor advisory-only191 model: "fable", // or "opus", per the tier picked in Phase 1192 run_in_background: false, // default: you need the answer before continuing193 prompt: "<the brief from Phase 3>"194})195```196197The only difference between the tiers is the `model` value. Use198`subagent_type: "general-purpose"` only if the user explicitly wants the199advisor to write code itself — otherwise `"Plan"` (can Read/Grep/explore,200cannot Edit/Write) prevents accidental drift into the advisor doing the201implementation work.202203Set `run_in_background: true` only when you have genuinely independent prep to204do while the advisor thinks (e.g. reproducing the bug, running the test suite205to gather evidence for Phase 5) — otherwise stay foreground.206207**If the spawn fails** (quota exhausted, model unavailable, tool error): tell208the user immediately and offer the choice — retry later, work with the main209model now, or, when Fable is the one that failed, fall back to an Opus210subagent for a cold read. Offering a different tier as an alternative is fine;211silently substituting one for a requested Fable consult is not.212213Note the agent id/name the harness returns — you need it for Resume.214215## Phase 5 — Use the answer216217Before acting on it, run this checklist:2182191. **It answers the question, in the mode you asked for:** a `critique` that220 comes back as a rewritten plan, or a `decide` that comes back as "it221 depends", missed the deliverable. If so, follow up via Resume step 1 scoped222 to the gap — don't act on a mismatched answer.2232. **User instructions win** (decision precedence, Global rules). If the224 answer contradicts something the user explicitly asked for, surface the225 conflict and the advisor's rationale and let the user decide — never226 silently follow the advisor over the user.2273. **Open questions:** if the answer flags decisions needing user input,228 resolve them with the user before touching code. Don't guess on229 load-bearing ones.2304. **Relay it:** give the user a 3-5 line summary of the approach and key231 decisions — always, not just for big answers. If it's high-stakes232 (destructive, hard to reverse, or large-scale), wait for the user's233 go-ahead before making edits; otherwise proceed.2345. **Make the verdict findable** when the consult actually changed the design:235 put the deciding reason in the commit message, or in project memory if it236 will outlive the commit. An unrecorded verdict gets re-litigated — and237 re-consulted — next session.238239Then execute yourself (or delegate to a `sonnet`/`opus` subagent for large240mechanical portions — that's plain delegation, not an advisor call, and241doesn't count against the budget). Small deviations discovered during242implementation are normal — note them and continue. Do not re-consult an243advisor to double-check routine implementation steps — that defeats the point244of the gate.245246## Resume — when implementation gets stuck247248**Resume priority:**2492501. **`SendMessage` to the existing agent** (using the agent id from Phase 4).251 This works even after the advisor already returned its answer — a completed252 foreground agent auto-resumes on `SendMessage`. Scope the message to just253 the blocker: what you tried, the exact error/result verbatim, and the one254 question you need answered.2552. **New `Agent` call at the same tier** (`model: "fable"` or `"opus"`) — only256 if the original agent is genuinely gone or unrelated to the blocker. Write257 a fresh, narrow brief (Phase 3 style, scoped to the blocker) and quote the258 relevant excerpt of the original answer — a new advisor has never seen it259 and may otherwise re-derive or contradict it. Escalating Opus → Fable here260 is allowed when the blocker turns out to be the kind of problem step 2 of261 the tier check describes; say so to the user when you do.2623. **Ask the user before exceeding the two-call budget** (Global rules263 above) — at that point it's quota burning, not leverage. A blocker isn't264 the same as a broken plan: if the plan turns out fundamentally infeasible,265 summarize the state to the user and decide together instead of266 ping-ponging with a subagent.267268Then go back to implementing with the main model.269270## Quick reference271272| Step | Tool | Model |273|---|---|---|274| Skip | — | main model only |275| Explicit request | — | always consult, at the model named |276| Gate check | (reasoning only; `AskUserQuestion` for intent) | main model |277| Tier check | (reasoning only; capability → Fable, cold view → Opus) | main model |278| Mode check | (reasoning only; plan / diagnose / critique / decide) | main model |279| Brief | (reasoning only; verify paths, check for leading language) | main model |280| Consult | `Agent` (`subagent_type: "Plan"`) | `fable` or `opus` |281| Answer check + summary to user | (reasoning only; user wins conflicts) | main model |282| Implement | direct edits / `Agent` | `sonnet` or `opus` |283| Unblock (max 1 without asking) | `SendMessage` to existing agent, or new narrow `Agent` | same tier (Opus → Fable escalation allowed) |284285## Changelog286287Entry format (binding on future entries): max 4 lines — `Added/Changed:`288summaries, plus `Rejected: <idea> — <one-clause reason>` for any declined289review suggestion so it isn't re-proposed. Long-form rationale goes in git290commit messages, never here.291292- **2.0.0** — Renamed `fable-advisor` → `agent-advisor` (user request; two293 tiers now, not one). Added: four consult modes (plan/diagnose/critique/294 decide) each naming its deliverable, mandatory anti-anchoring rules for295 critique/decide, "make the verdict findable" as Phase 5 item 5, and a296 routing rule vs. the built-in `advisor()` tool.297- **1.4.0** — Added: second tier (fresh Opus subagent) with a two-question298 tier check, Opus as Fable-spawn fallback, "ask opus"/"ถาม opus" triggers;299 budget now counts two *advisor* calls total. Rejected: a separate Opus300 budget number — two caps drift apart.301- **1.3.1** — Changelog capped to the format above; entries retro-trimmed.302 Rejected: moving rationale to a separate DESIGN.md — rejection markers303 only inoculate if they're in the file reviewers actually see, and the304 ~300-token runtime cost doesn't clear the one-file default; long-form305 rationale belongs in git instead. No runtime change.306- **1.3.0** — Added: Brief both-directions completeness check; "the answer307 addresses the brief's question" as a first check item; offset by trimming308 duplicated advisory-only/precedence prose. Rejected: numeric anchors →309 quality language — anchors are the drift detectors; per-phase exit310 criteria — every proposed exit already exists in operative form.311- **1.2.0** — Editorial/scannability pass only: checklist-first Gate,312 Prepare/Write Brief split, priority-list Resume, global rules promoted,313 Quick Reference covers Skip and explicit-request paths. No behavioral314 change from 1.1.0.315- **1.1.0** — Single CONSULT-checklist Gate; spawn-failure fallback;316 two-call budget; always-relay summary; path verification. Rejected:317 demoting `SendMessage` in Resume — completed foreground agents remain318 addressable.319- **1.0.0** — Initial: Gate → Brief → Spawn → Implement, plus Resume.