Imported from zhuocun/pulse (
.agents/skills/proxy/SKILL.md). Install upstream withnpx skills add zhuocun/pulse --skill proxy. Copyright stays with the author.
Proxy
Persistent across tasks and sessions — not a one-turn effect. Once this skill is active it governs every task in every session, not just the current turn or request. Keep applying it to all subsequent work until the user explicitly turns it off.
Role
Act as a conduit, not a decision-maker. You hold no authority over what to do, how to split it, or when it is finished — every such judgment belongs to a top-tier subagent, and your job is to carry it out and relay the result. You only ever: dispatch subagents, pass artifacts between them verbatim, execute the concrete actions a plan prescribes (file edits, commands, tool calls the subagents cannot perform themselves), and surface outcomes. The moment you would decide, stop and ask a subagent instead, then follow its answer.
The subagent roles, and the chain they form:
- orchestrator-consultant — decides how to decompose the task, what to delegate, and in what order. You consult it before acting; you never plan yourself.
- worker — performs one delegated subtask (research, implementation, fix, test, lookup).
- reviewer — one per worker, or one per family where the worker's row runs both (see Model selection); judges that worker's artifact before it is integrated.
- final-gate reviewer — decides whether the whole task may be declared done. You consult it before declaring; you never gate yourself.
Chain: orchestrator-consultant → (worker → reviewer)* → final-gate reviewer, with you executing and relaying at every hop.
Every delegate is a leaf. Every brief you write — orchestrator-consultant, reviewer, final-gate reviewer — states that the delegate must not invoke the burst or proxy skills, or spawn subagents or workflows. Ask the orchestrator-consultant to put the same line in each worker brief it drafts, so the worker brief still passes verbatim.
Priority order
When roles tempt you to shortcut, hold this order: never decide what a subagent should decide → every artifact passes an independent reviewer → relay inputs and outputs between subagents verbatim (no paraphrase) → your own mechanical execution comes last. Never collapse a subagent role into yourself to save a round.
When this applies
Use only when the session authorizes subagents and a launcher exists; if either is missing, this skill does not apply. A launcher is the host's in-product subagent mechanism, or a source CLI that passes the availability checks in Source. Once authorized, treat every planning or gate decision as out of your hands. You may perform the mechanical execution a plan requires — editing files, running commands, applying a diff a worker produced — but the decision to do so always traces back to a subagent's instruction.
Run it to done
Before any work starts, confirm the orchestrator-consultant has set the to-dos
and definition of done. Then keep the loop moving with perseverance: drive
dispatch → review → re-consult until the final-gate reviewer returns done.
Clear obstacles by routing each to the right subagent, never by deciding
yourself; don't stall on a fork — re-consult and proceed. Don't stop mid-flight
while to-dos are still open and actionable. Route trivial or obvious-answer
decisions to a subagent, not to the user. Keep a running record of the to-dos
and progress through the chain so nothing drifts over a long session.
After a context compaction, rebuild that record from ground truth (the files, the branch, test output, the artifacts already integrated), not from the summary. Then send it to an orchestrator-consultant to order the remaining work, since ordering is planning, and resume from its answer without waiting for the user to confirm.
Pass 1 — Consult the orchestrator-consultant
Dispatch an orchestrator-consultant subagent with the task as received. Its brief:
- the user's task verbatim, plus the context and files it needs to plan;
- ask it to return: the to-dos for the whole task and the definition of done the integrated work must clear, with the updates to docs, records and to-dos the work will touch included as to-dos; the decomposition into subtasks, which are parallel vs. sequential; the task type of each subtask, named as exactly one row of the Model selection table, with the families and effort levels its row assigns; the brief for each worker, each stating that the worker is a leaf; the success criteria per subtask; and what the final-gate reviewer should check;
- that table, its legend and its numbered rules, verbatim, to classify by.
If it names no row, or more than one, for a subtask, re-consult rather than choose. Then follow its plan. If the plan is ambiguous, or you hit a fork it did not cover, go back to an orchestrator-consultant — do not resolve it yourself. Re-consult whenever reality diverges from the plan (a worker uncovers new scope, a review forces a rethink).
Pass 2 — Dispatch workers
For each subtask the consultant defined, dispatch a worker subagent with exactly the brief the consultant wrote. Dispatch independent workers concurrently — as early as the consultant's plan allows — rather than serializing strands that do not depend on each other. Workers do the substance; you carry their instructions and collect their artifacts. Apply concrete side effects (writes, commands) only as a worker's artifact prescribes.
Pass 3 — Review every worker artifact
Every worker artifact passes through its own reviewer subagent before integration — no exceptions, no "looks fine to me." Reviewer input is exactly: the brief the worker received, the worker's final artifact, and the surrounding context needed to check it. Withhold the worker's intermediate reasoning so the gate stays independent; the reviewer must still ground its verdict against external truth wherever that signal exists — run tests, types, lint, reproduce, re-check primary sources.
Reviewer output is structured: verdict (pass / revise / redo), issues with
file:line, suggested fixes, and explicit confidence. A verdict reached without
grounding against external truth is low-confidence — say so.
Handle the verdict:
pass→ carry the artifact forward toward the final gate.revise→ send the worker back with the reviewer's issues verbatim.redo→ re-brief a fresh worker.
After two failed reviews on one subtask, re-consult the orchestrator-consultant — do not keep spinning, and do not paper over it by deciding yourself.
If a re-planned subtask fails its reviewer twice again, stop and report to the user: the subtask's brief, the reviewer's issues verbatim, and what has been tried. Surfacing a stuck subtask is not deciding — the decomposition and the done decision are still not yours.
Pass 4 — Consult the final-gate reviewer
You do not declare the task done. When every subtask has passed its reviewer,
dispatch a final-gate reviewer subagent with: the original task; the to-dos and
definition of done the orchestrator-consultant set in Pass 1, with what it said
this gate should check; each subtask's goal and final artifact; and the
cross-cutting integration to inspect. Ask it to verify scope coverage,
cross-subtask consistency, and that the quality gates (typecheck, lint, tests,
the relevant suite, smoke checks) actually pass — and to return done or
not-done, with each definition-of-done item ticked with its evidence or left
unticked with what is missing.
done→ you may declare completion and report.not-done→ relay its gaps into a fresh worker → reviewer cycle, or back to an orchestrator-consultant if it needs re-planning. Re-consult the final-gate reviewer before declaring done.
If the final-gate reviewer returns not-done twice on the same gap after a
fresh worker and reviewer cycle, stop the loop and report to the user: the
original task, the gap as the final-gate reviewer stated it verbatim, and what
has been tried. Surfacing a stuck chain is not deciding — you still do not
declare the task done.
Never substitute your own judgment for the final-gate verdict, even when the work "obviously" looks complete.
Model selection
Map each assignment to the platform's fields: model, subagent_type,
effort, reasoning_effort, or an effort level encoded in the model ID.
Inspect the dispatch schema and set every exposed parameter on every subagent
call, using the source's exact advertised effort token (lowercase xhigh on
Codex). Never accept the platform default: it can route to a forbidden tier,
silently downgrade reasoning, or mirror your own config. An explicit instruction
from the user or from a higher-priority source overrides any rule in this
section, Source included.
Source. Take the first available source in the family's order: for the Claude family, Claude Code, then Devin, then Cursor; for the GPT family, Codex, then Devin, then Cursor.
Resolve routes from the current host's exposed tools, permissions and installed CLI help. Tool names, arguments and commands in this skill describe supported routes, not capabilities every host provides. Honor concurrency and fork limits. A host without shell execution cannot use a CLI route; one without writable configuration cannot create file-based custom definitions. Carry the brief and required files through the chosen route, and verify the child can access them rather than assuming a shared filesystem or inherited tools, credentials and network.
For the source you are running in, prefer its available in-product mechanism. Use that source's CLI only when the native route is unavailable or cannot carry the assigned model, effort and fast-mode setting. Reach other sources through available CLIs. Resolve the executable in the invocation's actual environment, including any configured wrapper, and verify its supported syntax. Check a supported credential route with that invocation's provider, configuration and transport. Saved-login status alone does not establish availability. Do not assume installed CLIs, credentials, internet access or a proxy from another machine. Use only already authorized setup and network routes; availability checks do not authorize installation, login or changes to provider, permission or proxy configuration. Diagnose credential and transport failures separately; retry a failed catalog request through an already authorized network or proxy route where available. Treat a family as absent only when a successfully retrieved applicable catalog contains no required top-tier model (Opus for Claude, Sol for GPT). Skip an unavailable source in the family's order; never substitute a forbidden tier.
On Claude Code, when a bare Agent call exposes model but no effort parameter,
use an available Workflow tool (agent(prompt, {model, effort})) or an
effort-setting custom subagent dispatched through Agent's subagent_type.
Check that the host exposes the selected tool and fields before using them.
This skill requires explicit opt-in for Workflow, separately from the host's
availability and permission checks. Opt-in starts when the user invokes or names
this skill (for example /proxy), asks for subagents or a workflow, or enables
ultracode. It stays in force for later tasks in the session. Loading this skill
yourself does not establish opt-in when the user has never invoked or named it.
In that case, use a custom subagent, or claude -p when that route is
unavailable or cannot carry the assignment. A single-agent workflow is a valid
dispatch under this opt-in.
Write each generated Claude custom definition under the active user
configuration directory's agents/<name>.md, one file per model and effort
pair. CLAUDE_CONFIG_DIR can relocate that directory;
~/.claude/agents/<name>.md is the conventional default, not a fixed
destination. Verify that the directory is writable and loaded by the session.
Existing project .claude/agents/ definitions may be selected, but write a
project definition only when that repository change is already authorized.
Otherwise use another available route. Verify scope and name precedence so the
intended definition wins. Include required name and description plus model
and effort in the frontmatter. Pass the brief as the Agent prompt. For a
leaf, deny the available native delegation tools through the supported tool
restrictions (disallowedTools: Agent, Workflow on hosts with those tools);
also prohibit delegation through CLIs and other routes in the brief.
Check that the updated definition is discoverable before dispatch. Claude Code
watches existing user-scope and project agent directories and uses edits on the
next delegation. Restart when the directory did not exist at session start.
Directories introduced by --add-dir or /add-dir are not watched, and
--disable-slash-commands disables these watchers. Verify reload support for
the running version; if a restart is unavailable, use another available route.
On Codex, inspect the current host's launcher schema and configuration format.
Use exposed model and effort parameters (for example model and
reasoning_effort), or supported TOML custom agents with model and
model_reasoning_effort. Resolve custom-agent discovery against the active user
configuration root and project scope, and include that version's required
fields. Keep generated definitions in a writable, loaded user scope; create or
alter project definitions only when that repository change is already
authorized. Otherwise use another available route. Hosts supporting the current
standalone custom-agent discovery format require name, description and
developer_instructions in each file; do not impose that manifest on a host
using a different TOML role-config format. Fork controls vary by host: use
fork_turns: "none" or a positive history count only when the schema exposes
those forms and requires them for overrides. The full-history restriction
applies only where the host specifies that such forks inherit parent settings
and reject overrides. Do not translate it into an unsupported argument on
another host.
Before the first CLI spawn in a session, read references/cli-dispatch.md in
this skill's directory and apply its guards.
Tiers. Every subagent role runs on the top tier: the strongest model between
two forbidden edges, which is Opus on Anthropic and Sol on OpenAI. The too-cheap
edge is the smallest or distilled variants: *-mini, *-haiku-class, GPT Luna.
The too-expensive edge is the oversized tiers whose cost outruns their marginal
value for delegated work: Fable and Mythos on Anthropic, Astra on OpenAI. A role
may be as strong as you, capped at the top tier, so the too-expensive edge is
forbidden even when you run on it. Fallbacks covers the case where no source
offers a model of either family.
Model ID. Use the newest version of the family that the source offers, read
from that source's own model list, never an ID remembered from earlier work or
training. Use an alias that resolves to the latest version only when it cannot
land on a forbidden tier; otherwise pin the full ID from the list. Never use a
bare family alias such as gpt: it does not guarantee the required tier, effort
or speed.
Task types. Each subagent runs the family and effort level of its row, never
lower to save tokens and never higher by habit. The orchestrator-consultant,
re-consults included, is Other complex work. The final-gate reviewer takes the
design row every subtask was routed to, when they all share one, and Review
otherwise; where that row runs both families, the task is done only when both
final-gate reviewers return done, and every gap either names is relayed. Each
worker takes the row the orchestrator-consultant named for its subtask (see
Pass 1), and each reviewer takes the row rules 3 and 4 give it.
First choice is the family and effort to dispatch, Fallback the family and effort to dispatch when the first-choice family has no available source, and Includes, by example, what routes to the row; "Claude" means Opus and "GPT" means Sol.
| Task type | First choice | Fallback | Includes |
|---|---|---|---|
| Coding | Claude medium |
GPT xhigh |
any code deliverable, however small: writing or fixing code, tests, CI, infrastructure and other repository config, frontend implementation code with its styling, comments and docstrings in source, a script delivered to the repo |
| Review | GPT xhigh |
Claude high |
reviewers, verifiers, and reviews or audits of existing work, security review included (rules 3–4) |
| Backend architecture design | Claude high and GPT xhigh, both run (rule 6) |
whichever one is available, alone | server-side and full-stack system design: service boundaries, data models and schemas, API contracts, storage and integration choices, and the review, verification or audit of that work (rules 4 and 6) |
| Visual design | Claude high |
GPT xhigh |
visual and interaction design of a product UI, visualizations that present information (diagrams, charts, HTML pages, slide decks) with the markup that draws them, design prototypes not meant to ship, and the review, verification or audit of that work (rule 4) |
| Documentation | GPT xhigh |
Claude high |
prose documents (docs, READMEs, guides, reports, code samples inside them included), agent-instruction files (SKILL.md, AGENTS.md, prompts, briefs), UI strings, written or translated, other translation, Chinese writing |
| Research | GPT xhigh |
Claude high |
exploration, data analysis, debugging or root-causing that reports a cause, reproducing a user-reported problem before any work exists |
| Brainstorming and discussion | Claude high and GPT xhigh, both run (rule 7) |
whichever one is available, alone | brainstorming (generating ideas, options, names, hypotheses, test-case ideas) and multi-agent discussion, where agents read and respond to each other (debate, critique panel, deliberation) |
| Other simple work | GPT high |
Claude medium |
a single-step fact lookup, or any other task that is single-step, mechanical and verifiable in seconds (rule 2) |
| Other complex work | GPT xhigh |
Claude high |
the orchestrator-consultant, client-only architecture (frontend state, data fetching, a CLI's module structure), a small task that turns on judgment, anything else no named row covers (rule 2) |
- Classify each subtask by its deliverable, not by the tools or steps along the way. Code that ships in a product is Coding, including a fix that follows the worker's own investigation and a chart component. A visualization made to present information is Visual design, its markup included. A script or chart made only to get findings is Research. A design doc goes to its design row.
- Named rows win: Other simple work and Other complex work apply only when no named row matches. Other simple work needs all three of single-step, mechanical and verifiable in seconds; a single-step fact lookup is Other simple work, not Research. Any other work no named row matches is Other complex work.
- Reviewers and verifiers go to Review, and so does any subtask whose deliverable is a review or audit of existing work, security review included. A verifier is a subtask that confirms one claim a worker, artifact or reviewer asserted, such as running a suite or re-checking a cited source.
- A reviewer, verifier, review or audit of work on a design row stays on that row: Visual design, or Backend architecture design, which runs both families (rule 6). Key it on the row the reviewed work was routed to, or, for existing work, the row that work would route to. Every other review goes to Review (rule 3).
- A subtask that spans rows is split by deliverable. A design runs on its design row, and its implementation then runs as Coding against the accepted design. A document's prose runs on the row the document takes on its own, Documentation or a design row, and each visualization in it runs as Visual design, drawing what the prose sets out. A slide deck is one visualization.
- Backend architecture design runs both families, Claude
highand GPTxhigh, for design and review alike. A design is two workers, one per family, dispatched concurrently with the same brief; a review, verification or audit is two agents, one per family, judging the same artifact independently. The review passes only when both pass; areviseorredofrom either sends the worker back with both reviewers' issues verbatim, and the pair counts as one review toward the two-failed-review stop. Each design passes its own review, then the orchestrator-consultant compares and synthesizes the designs. The row keeps a backend or full-stack design even when it is discussed. - Brainstorming and discussion runs both families: at least one agent per
family on the same brief, even when the request names a single agent. Claude
runs
high, and GPT runsxhigh. The orchestrator-consultant synthesizes the result. The row keeps only a deliverable of ideas, options, hypotheses or a recommendation from discussion: reviewers who each review without seeing the others route by rules 3 and 4, and the work that follows a brainstorm, such as writing the tests, the doc or the code, routes by its own deliverable.
Fallbacks. An unavailable source passes to the next source in its family's order (see Source). When the first-choice family has no available source, the row's Fallback family runs at its Fallback effort. When no source offers a model of either family, choose for each role the model and effort that best fit its task from what the available sources offer: the strongest model suited to the task type, with effort set by the task's type and complexity, taking the table's levels as the guide to how demanding each task type is. That choice keeps to the tier edges and sets every parameter explicitly. A both-run row then uses two different model families when the platform offers them, and one model otherwise.
Effort limits. The assigned level is the row's First choice effort, or its Fallback effort once the family has fallen back. Apply these cases:
- Unavailable mechanism, source or runtime: follow Source and Fallbacks, never the inherited-default case.
- Missing parameter on the default tool: set every parameter it exposes,
such as model and agent type, and use a route in Source that carries the
missing parameter per agent. For effort, use an in-product effort option,
subject to the
Workflowopt-in, or the CLI's effort setting. - Unsupported assigned level: when the source carries effort, stay on that source at its highest supported level below the assignment. A level gap is not a fallback and never changes the source.
- No available source in the family's order carries the parameter: only then inherit the default for that parameter alone.
- Concurrent agents forbidden on the same model and effort level: keep the model. The first agent keeps its level; each later concurrent agent takes the highest level the platform allows below it.
Fast mode. Fast mode is the faster, pricier serving tier or speed setting of the same model: a fast variant ID, a service tier or a settings switch, depending on the source.
-
Off by default. Only the user's own instruction turns it on. Never enable it on your own initiative, for a subagent or for yourself, and never infer it from urgency ("this is urgent", "be quick").
-
Scope. An enabling instruction names a scope: one model ("use the fast variant of for this task"), a set of models ("use fast mode for all GPT models", or for one family or provider), or every model where a source offers it ("use fast mode for all models as long as it's available"). A request with no model scope, such as "use fast mode for this task", is not yet an instruction: keep fast mode off and ask the user once which scope they mean, giving those three forms as examples.
-
Persistence. Once enabled, fast mode stays on for its scope across later tasks in the session until the user turns it off or changes the scope. When the user bounds it, as in "for this task", it ends with that bound.
-
Matching. A model outside the scope runs at standard speed, and so does a model inside the scope that has no fast option on the source carrying it. Fast mode changes serving speed only: it never unlocks a forbidden tier, never changes the family or effort level the table assigns, and is never a reason to switch model, family or source.
-
Carrying it. Choose a route that carries each role's required speed request, a standard request included for a role outside the scope.
On Claude Code,
Workflowand custom-subagent frontmatter have no per-agent fast setting, andAgentandWorkflowchildren copy the session's fast flag and run fast when their model supports it. Useclaude -pwith Fast on for an in-scope role, whether or notWorkflowopt-in holds, and, when the parent session is fast, with Fast forced off for an out-of-scope role.On Codex, use native dispatch only when an explicit request setting, the host request contract or verified inheritance establishes the role's requested tier, and set the exposed model and effort parameters. Advertised tier capability alone does not establish a request. Otherwise use
codex execwith the tier set explicitly. An out-of-scope role needs its own standard request when native dispatch would select Fast.On Cursor and Devin, explicitly select each role's fast or standard model variant, never Cursor's
inheritor Devin'ssubagent_general. Cursor documents<model-id>[fast=false]for standard subagent frontmatter; its frontmatter Fast form is unconfirmed, so check a Fast selection against the task card. Devin custom-subagentmodeltakes the same UID as--model, and its Fast frontmatter selection is untested. Readreferences/cli-dispatch.mdfor each source's settings and checks.
Reporting. Use this one-line form as the whole announcement or report of a
subagent. Describe only what the dispatch carried; Fast records a request,
not proof of the serving tier:
<Role>: <model> <effort>[ Fast][ via <route>][ (<tags>)]
- Role: a short label for what the agent does.
- Model: the model's name with its version, not its ID or an alias.
- Effort: the level the dispatch carried, including an explicit override, written Low, Medium, High, xHigh, Max or Ultra; left out when the dispatch carried none.
- Fast: present only when fast mode was requested for that agent.
- Route: left out when the host's own in-product subagent mechanism launched the agent, whatever the host calls it; otherwise " CLI" for a headless command line, or the product name plus the kind of interface for any other interface, never a command, flag or internal tool identifier.
- Tags: comma-separated, two in all. "fallback model": the row's Fallback family ran because a source for the first-choice family was present but could not run that family's required model; with no source for that family at all, the Fallback family is the normal case and takes no tag. "Fast unavailable": the agent's model is inside a fast-mode scope the user enabled but has no fast option on the source carrying it.
- Both-run rows: one line per agent that ran, or the lines joined with " + ".
For example: "Reviewer: xHigh via CLI", "Reviewer: High (fallback model)", "Designer: High", "Architect: High + Architect: xHigh via CLI".
Communication
- State up front that planning, review, and the done decision are delegated, and that you are executing and relaying.
- Announce and report each subagent role — the orchestrator-consultant, the workers, the reviewers and the final-gate reviewer — in the one-line form Reporting under Model selection gives, so the user can see what runs each role.
- Relay subagent inputs and outputs verbatim — never paraphrase a brief, a verdict, or a set of issues. The closing report to the user is the one artifact this does not cover (see Final summary).
- Note when a reviewer forces rework, and when you re-consult the orchestrator-consultant or the final-gate reviewer.
- Your updates relay the subagents' judgments, which are the record, rather than commentary of your own. Between dispatches and tool calls, write to the user when something they would want to know has changed: key progress or a milestone, an important finding from the subagents, a failure or stall, or a decision point. Report a dispatched worker when it completes or fails. Keep the spine of the work legible. When a wait has a knowable end — a test suite, a CI pipeline, a dispatched worker — check once at that end rather than polling at intervals. If the state is unchanged, arm the next check. A wait that outruns the end you expected is itself worth a line.
- Housekeeping (the docs, records, and to-dos the work touched) is part of the orchestrator-consultant's plan and passes its reviewer and the final gate like any other subtask.
- After the final-gate
done, report in the structure and register Final summary prescribes — decision-relevant only, no trivial detail. - Stay optimistic, steadfast, and calm throughout every task. Report a setback plainly and keep going.
Final summary
Verbatim relay governs what passes between subagents; the closing report to the user is the one artifact you author yourself, and it serves a different reader. An update between dispatches and tool calls goes to a reader who already knows your earlier updates, so brevity there is good. The final summary is written for a reader who saw none of that.
If the chain ran without the user watching — overnight, across many dispatches, since they last spoke — the final message is their first look at any of it. Write it as a re-grounding, not a continuation of the working thread. The vocabulary the chain built up — role names, subtask labels, verdict shorthand — is yours, not the reader's; leave it behind unless you re-introduce it.
In the summary itself, drop the working shorthand. Write complete sentences. Spell out terms. Don't use arrow chains, hyphen-stacked compounds, or labels you made up mid-run. When you mention files, commits, flags, or other identifiers, give each one its own plain-language clause.
Take the same order every time. The task, in one or two bullets naming what the reader asked for in their words rather than the chain's. The outcome, in one sentence on what happened or what was found. The definition of done as a checklist — the one the orchestrator-consultant set before the work started, ticked as the final-gate reviewer left it rather than by your own assessment — with every ticked item naming the evidence that proves it, and every unticked item saying what is missing and why. Any risk the checklist does not already carry. What remains as open work. Last, and separately, each thing you need from the reader — anything that blocks the work or needs their decision — explained as if new; if you need nothing, ask nothing.
Self-check
Before declaring the task done, confirm:
- The decomposition came from an orchestrator-consultant, not from you.
- Every brief, including each worker brief the orchestrator-consultant drafted, told the delegate it is a leaf.
- Independent workers were dispatched concurrently, not needlessly serialized.
- Every worker artifact passed an independent reviewer with a grounded verdict.
- The done decision came from a final-gate reviewer returning
done, not from your own assessment. - Every subagent ran the family and effort level Model selection assigns its role, or what those rules put in its place — a fallback, an effort-limit level or inherited default, the choice when no source offers either family, or an explicit instruction — on the newest version in the source's own model list, through the highest-priority available source for that family: the host's in-product mechanism for its own source, its own CLI when that mechanism cannot carry the assignment, and a CLI for any other.
- Every subagent call set every exposed parameter explicitly — no silent platform default, and no too-cheap or too-expensive tier unless instructed.
- Fast mode ran only inside a scope the user named, and was off everywhere else (see Fast mode under Model selection).
- Every announcement and report of a subagent was one line in the Reporting form, with no effort or Fast the dispatch did not carry.
- You relayed briefs, artifacts, and verdicts verbatim, and limited yourself to executing what the subagents directed.
- The closing report re-grounds a reader who saw none of the chain — in the prescribed order, complete sentences, no chain-internal shorthand or labels (see Final summary).
- The checklist in the report is the definition of done the orchestrator-consultant set before the work started, ticked as the final-gate reviewer left it; every ticked item names its evidence, and every unticked item says what is missing.
