Architect
Architecture and implementation planning before coding.
Use this skill to spend deliberate reasoning budget on the plan, while leaving the
implementation itself free to use a cheaper/faster model when the plan is clear.
When to Use
Use /architect for tasks with architectural uncertainty, high blast radius, or expensive
mistakes:
- Cross-module, cross-service, or multi-repo changes
- New abstractions, boundaries, workflows, or domain model changes
- Database/schema migrations or data backfills
- Public APIs, event schemas, contracts, SDKs, or integrations
- Auth, permissions, privacy, compliance, or security-sensitive work
- Performance, scalability, resiliency, or concurrency-sensitive changes
- Hard-to-reverse decisions
- Ambiguous requirements or multiple plausible approaches
- Work likely to split into several commits, beads, tickets, or PRs
- Any task where the user explicitly asks for architecture, design, planning, or approach
Usually skip it for:
- Small bug fixes with obvious locality
- Copy/text tweaks
- Simple CSS/layout adjustments
- Mechanical dependency bumps
- Straightforward test additions
- Refactors whose pattern and scope are already obvious
Usage
/architect <task, bead id, Jira key, or question>
/architect ABC-123
/architect bd-456
/architect --tier premium <task>
/architect --tier second-opinion <task>
/architect --tier all-in <task>
/architect --no-prompt <task>
Planning Tiers
Do not expose model churn as the primary interface. Ask for a planning tier when the
user has not specified one and the choice matters.
| Tier |
Meaning |
Use when |
standard |
Standard coding tier |
Moderate planning, low ambiguity |
premium |
Premium reasoning tier, preferring subscription/OAuth routes |
Architectural uncertainty or costly mistakes |
second-opinion |
In-session draft + one vendor-independent /second-opinion validate-plan review |
Need an independent validation pass |
all-in |
Premium draft + one bounded /second-opinion validate-plan --agent quorum --panel focused review batch |
High-risk, cross-service, security, data migrations |
This skill declares model-tier: premium, but that is semantic routing metadata,
not a mandate to use a particular provider or model. Prefer the best configured premium
route; concrete route mappings, authentication, and metered classification live in the
runtime rather than this skill. Treat external API-backed panels as separately consented,
bounded routes.
If the user names a specific model/provider, preserve that preference in the plan metadata and,
where possible, recommend how to run the planning session with that route. If unavailable, fall
back to the best configured reasoning tier and say so.
Instructions
Tier guard
This skill is model-tier: premium. Before starting, check which model you are
running as. If it is below the premium tier for this runtime (e.g. Sonnet or Haiku in
Claude Code), say so and ask via AskUserQuestion whether to:
- Continue here — accept reduced depth on this run
- Stop — switch model (
/model in Claude Code) or rerun in a premium session
Skip the prompt when the user explicitly chose the current model or passed --no-prompt.
On a premium model, stay silent and proceed. This guard checks the engine; the planning
tier prompt below (step 2) chooses how much reasoning to spend — they compose.
1. Parse the Request
Identify:
- The task/request/question
- Any Jira key (
[A-Z][A-Z0-9]+-\d+)
- Any bead id (
bd-... or project-specific bead id)
- Any explicit planning tier (
--tier standard|premium|second-opinion|all-in)
- Any explicit model preference (
--model <id> or a natural-language model mention)
- Whether the user asked not to be prompted (
--no-prompt)
If the request is missing or too vague, ask one clarifying question before investigating.
2. Decide Whether to Prompt for Tier
If no tier/model was specified:
- For clearly high-risk work, default to
premium and state why; prefer the configured
subscription/OAuth reasoning route first.
- For very high-risk work (security/data/cross-service), ask whether to use
premium or
all-in before adding a bounded multi-model review. Explain that all-in queries the
available subscription/OAuth-first CLIs and still requires explicit consent for any route
that /second-opinion classifies as metered or unknown.
- For moderate work, ask with
AskUserQuestion:
standard — good enough, stay in-session
premium — spend stronger reasoning budget
second-opinion — draft, then request one independent validation
all-in — premium draft, then request one bounded multi-model validation batch
- If
--no-prompt was supplied, choose the lowest tier that is responsible and continue.
Never block on model selection if the user has already made the intent clear.
3. Gather Context Read-Only
Stay read-only while gathering context. Do not edit code, create branches, create beads,
transition tickets, or commit changes. Architect never creates or updates tracker records,
even after a user confirms a proposed plan or owner. Step 4 renders an explicitly owned handoff;
only a separate invocation of the receiving workflow can propose and apply tracker changes.
Gather only the context needed to plan:
- Tracker context
- Jira key: fetch the ticket, acceptance criteria, linked Confluence/design links, and
related issues using Jira tools or
/jira-ticket when available.
- Bead id: resolve through
~/.agents/skills/next/scripts/next-select resolve <id> before
reading. Use only the returned store via bd -C <directory> show <id>; inspect relevant
dependencies/children there. Ambiguous or unavailable ownership means no guessed-store reads.
- For new work, use
next-select stores and choose by outcome, not cwd. In the proven store,
use bd -C <directory> list --status=open and targeted
bd -C <directory> search "<keywords>" --status all for duplicates and related work.
Inspect only high-signal matches; this is a relevance check, not a backlog audit.
- When Beads is unavailable, use the established Jira/Trello/other tracker when its
context is accessible. Otherwise retain a tracker-neutral view of independently
valuable durable work; do not introduce a tracker merely to satisfy the template.
- Repository shape
pwd
git status --short
git branch --show-current
git ls-files | head -200 or targeted find/rg for the relevant area
- When repository context establishes a validated
workspace.json project-context index, consume
its topology, repository paths, and context links when useful. Treat it as optional and
do not require, create, repair, regenerate, or audit it. If missing or suspect context blocks
responsible planning, state the limitation and recommend project-workspace doctor; do not turn
Architect into the workspace diagnostic or repair owner.
- Existing patterns
- Search for similar features, APIs, migrations, tests, contracts, or components.
- Read representative files. Prefer a few high-signal files over broad scanning.
- Conditional prior-art research
- Trigger this pass when the plan selects or replaces a dependency, introduces a third-party
integration, proposes a reusable component or abstraction, or addresses a problem likely to
have an established solution. Also trigger it when the user explicitly asks for buy-vs-build,
ecosystem options, or prior art.
- Skip it entirely for routine local changes whose repository pattern and implementation path
are already clear. Do not render a skipped-research placeholder, require a web search, or turn
this into a planning gate.
- When triggered, search in this order and stop as soon as the evidence is sufficient:
- Repository code, history, dependency manifests, and nearby docs.
- Capabilities, dependencies, and specialist skills already available in the current runtime.
- Authoritative external sources only when the local pass leaves a material fit, support,
compatibility, licensing, or maintenance question unresolved.
- Reuse
/librarian when it is available for open-source library internals, implementation
details, history, and source-backed comparisons. For package availability or public API facts,
use the runtime's existing search/fetch tools against official registries, vendor docs, specs,
or upstream source. Do not create a parallel research workflow or rely on unsourced summaries.
- Keep the lookup bounded to plausible candidates. For each serious candidate, record the source
evidence, fit, and material gaps, then recommend exactly one classification:
- Adopt — use an existing capability as-is.
- Extend — make a bounded change to the closest-fit capability.
- Compose — combine existing capabilities without introducing a new foundational solution.
- Build — add the minimum new implementation because evidenced gaps rule out the others.
- A Build recommendation must say why the inspected candidates are insufficient. Absence of a
search result is not evidence; narrow the claim or name the unresolved question instead.
- Docs/designs
- If Jira or the user links to Confluence, fetch the page.
- If Figma/design details are required, mention the needed design context and use the
available Figma/context tooling if present in the runtime.
Keep the context summary concise and cite file paths, official URLs, or upstream source clearly.
4. Produce an Architecture Plan
Output a plan that is implementation-ready but does not perform implementation.
Detailed plans are working input, not current architecture documentation.
Do not create Markdown solely to preserve planning reasoning.
Render the plan inline. Reuse an existing stable source when supplied; label it as planning input
and state its outcome-based disposition. A request to persist new planning input or its review owner
produces the explicit handoff below, not a file or tracker write from Architect.
The final user-facing plan starts with the decision summary, before investigation detail:
## Architect Plan: <short title>
### Decision brief
- Recommendation: <one or two sentences>
- Decision needed: <none, or the exact approval question>
- Choices: <approve | defer or reject | request revision, when human approval is required>
- Detailed input: <this inline plan or one stable source reference>
- Documentation disposition: <what happens on approval, defer/reject, or revision>
### Planning tier
- Tier: <standard|premium|second-opinion|all-in>
- Model preference: <none|user preference|fallback>
- Why this tier: <one sentence>
### Goal
<what we are trying to achieve>
### Context gathered
- Tracker/docs: ...
- Relevant code paths: ...
- Existing patterns: ...
### Assumptions
- ...
### Prior-art decision
<Include only when step 4's conditional research was triggered; otherwise omit this section entirely.>
| Candidate | Source evidence | Fit / material gaps |
|---|---|---|
| ... | <repository path, official URL, registry entry, spec, or upstream source> | ... |
- Recommendation: <Adopt|Extend|Compose|Build> — <why>
- New implementation justification: <required for Build; otherwise omit>
### Recommended approach
<the proposed architecture/design, incorporating the prior-art decision when present>
### Alternatives considered
1. <alternative> — rejected/accepted because ...
2. ...
### Implementation slices
| # | Slice / deliverable | Observable outcome | Acceptance evidence |
|---|---|---|---|
| 1 | <small, reviewable slice> | <user-visible behavior or system state that becomes true> | <runnable check, named CI evidence, manual UAT flow, or source evidence + expected signal> |
| 2 | ... | ... | ... |
### Tracking recommendation
<One compact recommendation: no additional item, one proposal marked not created, or an expanded epic/children breakdown when genuinely warranted. Include the decisive duplicate/related-work evidence.>
### Test strategy
- Happy path:
- Sad path:
- Edge cases:
- Regression/contract/migration checks:
### Risks and mitigations
- Risk: ... → Mitigation: ...
### Rollout / rollback
<feature flags, migrations, compatibility, observability, rollback plan if relevant>
### Open questions
- ...
### Recommended implementation tier
<standard/high is safe | use premium/high | retain premium/xhigh for implementation or final review>
Pair every implementation slice with both an observable outcome and the evidence that proves it.
The pair is the slice's acceptance contract, not a duplicate test plan:
- Runnable check: give the repository-supported command and the expected decisive signal.
- CI evidence: name the check/artifact and what success demonstrates; a future green status
without the relevant artifact or commit coverage is not enough.
- Manual UAT: give the smallest necessary flow, environment, and expected observation when
behavior cannot responsibly be proven by automation.
- Source evidence: use a rendered preview, link check, schema/config inspection, or specialist
review for documentation-only or inherently non-executable work.
Do not manufacture a shell command merely to fill the table. If proof depends on unavailable
infrastructure or an unresolved decision, say TBD, name the owner or prerequisite, and keep the
slice blocked rather than presenting vague acceptance. The broader Test strategy section still
covers cross-slice happy/sad/edge cases and project gates; it should reference rather than restate
the per-slice evidence.
Always render Tracking recommendation, but keep it proportionate. Choose exactly one form:
- No additional item: the existing Jira ticket, bead, card, or request already owns the whole
coherent outcome. Say so in one line and cite the decisive duplicate/related-work evidence when
Beads is active; there is no proposal status to render.
- One focused item: one independently valuable durable outcome is not already tracked. Keep it
to one or two lines:
Proposal — not created, suggested title, and the essential outcome/scope.
Add type, priority, acceptance, or dependency detail only when it materially changes the proposal.
- Epic with children: use only when several child outcomes are independently reviewable,
deliverable, and worth tracking even if another child changes. Label the epic and every child
Proposal — not created; give title/type/priority, scope, acceptance, and only genuine blocking
dependencies. Do not turn every implementation slice into a child.
- Tracker-neutral breakdown: use when no tracker is established but the work genuinely needs a
durable multi-item shape. Keep the same outcome/dependency discipline without prescribing a
system.
Implementation slices are delivery mechanics, not automatically tracker items. Never propose one
item per test, review pass, commit, subagent, retry, handoff, or other ephemeral activity.
For an approved structured plan in an active Beads repository:
- A one-focused-item or epic recommendation with a stable source should end with a paste-ready
/plan-to-backlog <plan-source> handoff.
- A no-additional-item recommendation needs no materialization handoff.
- Architect must not invoke
/plan-to-backlog automatically or reproduce its proposal/apply logic.
Human decision ownership for unapproved plans
When an unapproved recommendation needs durable human decision ownership, render:
/triage --human-review <source>
<source> is the existing source selector/reference or this exact inline plan. Include the decision
question, proposed owner (not created or updated), and disposition for approval, rejection/defer,
or revision. Do not invoke triage automatically or treat approval of the plan as permission to
write tracking. No durable owner exists until the receiving workflow verifies its confirmed write.
The triage-owned human-review lifecycle owns duplicate
checks, source reuse versus a dedicated blocked human decision, per-action confirmation, partial
recovery, and rationale/disposition recording. Do not reproduce or execute that mutation procedure
here. Keep unowned input inline; never create an orphan planning document.
Informational answers, approved plans, and plans without a pending human decision need no review
item. If another tracker already owns the decision, recommend its normal explicit workflow rather
than shadowing it in Beads. Approved implementation materialization remains a separate
/plan-to-backlog <plan-source> handoff, not human-review intake.
5. External Validation, When Requested
If the tier is second-opinion or all-in, perform exactly one review-and-revision pass:
- Complete the full architecture draft before requesting review.
- Build a review packet containing:
- A concise context summary: requirements, constraints, relevant tracker/docs, repository
evidence with file paths, assumptions, and open questions. Do not include secrets.
- The complete finalized draft.
- This review rubric:
- Requirements coverage and unsupported assumptions
- Technical feasibility and simpler or stronger alternatives
- Interfaces, ownership boundaries, and internal/external dependencies
- Migration, backwards compatibility, and data integrity
- Security, privacy, permissions, and abuse cases
- Reliability, failure modes, concurrency, and performance
- Testability, adequacy of the proposed test strategy, and whether each slice's observable
outcome is paired with evidence capable of proving it
- When prior-art research was triggered, whether the candidate evidence supports the
Adopt/Extend/Compose/Build recommendation and justifies any new implementation
- Whether tracking recommendations reflect independently valuable durable work, account for
existing related items, and avoid mirroring implementation mechanics
- Rollout, rollback, observability, and operational burden
- YAGNI, unnecessary abstractions, and decisions still missing
- Invoke the tier-specific route once:
second-opinion: /second-opinion validate-plan "<review packet>" --agent peer. Keep its
vendor-independent single-route selection.
all-in: /second-opinion validate-plan "<review packet>" --agent quorum --panel focused.
This is one bounded parallel batch across the selected focused panel, not a sequence of
follow-up reviews.
- Invoke only through
/second-opinion; do not probe authentication or call the CLIs directly.
Let that skill apply its independence, availability, timeout, and cost rules. When it classifies
a selected route as metered/BYOK or unknown-cost, ask for explicit consent with
AskUserQuestion immediately before the invocation. Declining that route reduces the attempted
reviewer set; it does not block the plan.
- Treat each response as advisory. Check claims against repository, tracker, and documentation
evidence. Do not use majority vote as truth: one well-evidenced unique finding may outweigh
agreement, while repeated unsupported claims remain invalid.
- Revise the draft only for validated findings, then stop. Do not send the revision out for a
second review batch or loop until reviewers agree.
The built-in focused panel contains no OpenRouter routes, but a user-local profile may override it.
Let /second-opinion apply its metered-route consent policy, and do not substitute another named panel
unless the user explicitly requests it.
Append this validation record to the final plan:
### External validation
- Review tier: <second-opinion|all-in>
- Coverage: <reviewers attempted, succeeded, unavailable, declined, or timed out>
- Reviewer findings:
- <reviewer attribution>: <material findings>
- Consensus / agreements: <shared findings with supporting evidence; descriptive, not a vote>
- Disagreements: <conflicting recommendations and evidence-based resolution or uncertainty>
- Unique findings: <single-reviewer concerns and their validation status>
- Rejected findings: <non-actionable/incorrect suggestions and why>
- Plan changes: <what changed and why, or "None">
- Residual uncertainty: <unresolved risks/questions, or "None">
For partial results, synthesize only the reviewers that returned and identify every unavailable,
declined, or timed-out route; never describe partial coverage as a complete panel. If no external
reviewer succeeds or /second-opinion is unavailable, preserve the in-session plan, set coverage
accordingly, and explicitly state that external validation was skipped.
6. Guardrails
- Do not implement code changes.
- Do not create or mutate Jira issues or Beads. Tracker writes belong only to the explicit
receiving workflow; confirmation never expands Architect's read-only boundary.
- Do not create implementation tracker items. Label implementation proposals as not created and
route approved-plan materialization through
/plan-to-backlog.
- Prefer small, reversible implementation slices with observable outcomes and proportionate proof.
- Do not invent commands for documentation-only or inherently manual acceptance; name the
necessary source evidence or UAT flow instead.
- Flag YAGNI: avoid introducing new abstractions unless they pay for themselves now.
- Do not claim the ecosystem lacks a solution without bounded, source-backed research; do not run
that research when a routine local change already has an obvious path.
- Prefer repository and installed-capability evidence before external lookup, and prefer official or
upstream evidence over commentary when external lookup is warranted.
- Call out when the right answer is “do the simple thing” rather than architecting.
- If requirements are unclear, list open questions and recommend the smallest discovery step.
- End with the next concrete action the implementation agent should take.
1---2name: architect3description: Architecture and implementation planning gate for complex or high-blast-radius work. Produces evidence-backed decisions, reviewable slices, acceptance evidence, and conditional human review ownership without editing code.4allowed-tools: "Read,Grep,Glob,Bash(git status:*),Bash(git diff:*),Bash(git log:*),Bash(git ls-files:*),Bash(git rev-parse:*),Bash(git branch --show-current:*),Bash(bd -C * list:*),Bash(bd -C * search:*),Bash(bd -C * show:*),Bash(bd -C * status:*),Bash(~/.agents/skills/next/scripts/next-select resolve:*),Bash(~/.agents/skills/next/scripts/next-select stores:*),Bash(ls:*),Bash(pwd:*),Bash(rg:*),WebFetch,WebSearch,Skill(librarian),Skill(second-opinion),AskUserQuestion,jira_issue,confluence_page"5model-tier: premium6effort: xhigh7version: "2.0.0"8author: "flurdy"9---1011# Architect1213Architecture and implementation planning before coding.1415Use this skill to spend deliberate reasoning budget on the plan, while leaving the16implementation itself free to use a cheaper/faster model when the plan is clear.1718## When to Use1920Use `/architect` for tasks with architectural uncertainty, high blast radius, or expensive21mistakes:2223- Cross-module, cross-service, or multi-repo changes24- New abstractions, boundaries, workflows, or domain model changes25- Database/schema migrations or data backfills26- Public APIs, event schemas, contracts, SDKs, or integrations27- Auth, permissions, privacy, compliance, or security-sensitive work28- Performance, scalability, resiliency, or concurrency-sensitive changes29- Hard-to-reverse decisions30- Ambiguous requirements or multiple plausible approaches31- Work likely to split into several commits, beads, tickets, or PRs32- Any task where the user explicitly asks for architecture, design, planning, or approach3334Usually skip it for:3536- Small bug fixes with obvious locality37- Copy/text tweaks38- Simple CSS/layout adjustments39- Mechanical dependency bumps40- Straightforward test additions41- Refactors whose pattern and scope are already obvious4243## Usage4445```text46/architect <task, bead id, Jira key, or question>47/architect ABC-12348/architect bd-45649/architect --tier premium <task>50/architect --tier second-opinion <task>51/architect --tier all-in <task>52/architect --no-prompt <task>53```5455## Planning Tiers5657Do not expose model churn as the primary interface. Ask for a planning **tier** when the58user has not specified one and the choice matters.5960| Tier | Meaning | Use when |61|------|---------|----------|62| `standard` | Standard coding tier | Moderate planning, low ambiguity |63| `premium` | Premium reasoning tier, preferring subscription/OAuth routes | Architectural uncertainty or costly mistakes |64| `second-opinion` | In-session draft + one vendor-independent `/second-opinion validate-plan` review | Need an independent validation pass |65| `all-in` | Premium draft + one bounded `/second-opinion validate-plan --agent quorum --panel focused` review batch | High-risk, cross-service, security, data migrations |6667This skill declares `model-tier: premium`, but that is semantic routing metadata,68not a mandate to use a particular provider or model. Prefer the best configured premium69route; concrete route mappings, authentication, and metered classification live in the70runtime rather than this skill. Treat external API-backed panels as separately consented,71bounded routes.7273If the user names a specific model/provider, preserve that preference in the plan metadata and,74where possible, recommend how to run the planning session with that route. If unavailable, fall75back to the best configured reasoning tier and say so.7677## Instructions7879### Tier guard8081This skill is `model-tier: premium`. Before starting, check which model you are82running as. If it is below the premium tier for this runtime (e.g. Sonnet or Haiku in83Claude Code), say so and ask via `AskUserQuestion` whether to:8485- **Continue here** — accept reduced depth on this run86- **Stop** — switch model (`/model` in Claude Code) or rerun in a premium session8788Skip the prompt when the user explicitly chose the current model or passed `--no-prompt`.89On a premium model, stay silent and proceed. This guard checks the *engine*; the planning90tier prompt below (step 2) chooses how much reasoning to *spend* — they compose.9192### 1. Parse the Request9394Identify:9596- The task/request/question97- Any Jira key (`[A-Z][A-Z0-9]+-\d+`)98- Any bead id (`bd-...` or project-specific bead id)99- Any explicit planning tier (`--tier standard|premium|second-opinion|all-in`)100- Any explicit model preference (`--model <id>` or a natural-language model mention)101- Whether the user asked not to be prompted (`--no-prompt`)102103If the request is missing or too vague, ask one clarifying question before investigating.104105### 2. Decide Whether to Prompt for Tier106107If no tier/model was specified:108109- For clearly high-risk work, default to `premium` and state why; prefer the configured110 subscription/OAuth reasoning route first.111- For very high-risk work (security/data/cross-service), ask whether to use `premium` or112 `all-in` before adding a bounded multi-model review. Explain that `all-in` queries the113 available subscription/OAuth-first CLIs and still requires explicit consent for any route114 that `/second-opinion` classifies as metered or unknown.115- For moderate work, ask with `AskUserQuestion`:116 - `standard` — good enough, stay in-session117 - `premium` — spend stronger reasoning budget118 - `second-opinion` — draft, then request one independent validation119 - `all-in` — premium draft, then request one bounded multi-model validation batch120- If `--no-prompt` was supplied, choose the lowest tier that is responsible and continue.121122Never block on model selection if the user has already made the intent clear.123124### 3. Gather Context Read-Only125126Stay read-only while gathering context. Do **not** edit code, create branches, create beads,127transition tickets, or commit changes. Architect never creates or updates tracker records,128even after a user confirms a proposed plan or owner. Step 4 renders an explicitly owned handoff;129only a separate invocation of the receiving workflow can propose and apply tracker changes.130131Gather only the context needed to plan:1321331. **Tracker context**134 - Jira key: fetch the ticket, acceptance criteria, linked Confluence/design links, and135 related issues using Jira tools or `/jira-ticket` when available.136 - Bead id: resolve through `~/.agents/skills/next/scripts/next-select resolve <id>` before137 reading. Use only the returned store via `bd -C <directory> show <id>`; inspect relevant138 dependencies/children there. Ambiguous or unavailable ownership means no guessed-store reads.139 - For new work, use `next-select stores` and choose by outcome, not cwd. In the proven store,140 use `bd -C <directory> list --status=open` and targeted141 `bd -C <directory> search "<keywords>" --status all` for duplicates and related work.142 Inspect only high-signal matches; this is a relevance check, not a backlog audit.143 - When Beads is unavailable, use the established Jira/Trello/other tracker when its144 context is accessible. Otherwise retain a tracker-neutral view of independently145 valuable durable work; do not introduce a tracker merely to satisfy the template.1462. **Repository shape**147 - `pwd`148 - `git status --short`149 - `git branch --show-current`150 - `git ls-files | head -200` or targeted `find`/`rg` for the relevant area151 - When repository context establishes a validated `workspace.json` project-context index, consume152 its topology, repository paths, and context links when useful. Treat it as optional and153 do not require, create, repair, regenerate, or audit it. If missing or suspect context blocks154 responsible planning, state the limitation and recommend `project-workspace doctor`; do not turn155 Architect into the workspace diagnostic or repair owner.1563. **Existing patterns**157 - Search for similar features, APIs, migrations, tests, contracts, or components.158 - Read representative files. Prefer a few high-signal files over broad scanning.1594. **Conditional prior-art research**160 - Trigger this pass when the plan selects or replaces a dependency, introduces a third-party161 integration, proposes a reusable component or abstraction, or addresses a problem likely to162 have an established solution. Also trigger it when the user explicitly asks for buy-vs-build,163 ecosystem options, or prior art.164 - Skip it entirely for routine local changes whose repository pattern and implementation path165 are already clear. Do not render a skipped-research placeholder, require a web search, or turn166 this into a planning gate.167 - When triggered, search in this order and stop as soon as the evidence is sufficient:168 1. Repository code, history, dependency manifests, and nearby docs.169 2. Capabilities, dependencies, and specialist skills already available in the current runtime.170 3. Authoritative external sources only when the local pass leaves a material fit, support,171 compatibility, licensing, or maintenance question unresolved.172 - Reuse `/librarian` when it is available for open-source library internals, implementation173 details, history, and source-backed comparisons. For package availability or public API facts,174 use the runtime's existing search/fetch tools against official registries, vendor docs, specs,175 or upstream source. Do not create a parallel research workflow or rely on unsourced summaries.176 - Keep the lookup bounded to plausible candidates. For each serious candidate, record the source177 evidence, fit, and material gaps, then recommend exactly one classification:178 - **Adopt** — use an existing capability as-is.179 - **Extend** — make a bounded change to the closest-fit capability.180 - **Compose** — combine existing capabilities without introducing a new foundational solution.181 - **Build** — add the minimum new implementation because evidenced gaps rule out the others.182 - A **Build** recommendation must say why the inspected candidates are insufficient. Absence of a183 search result is not evidence; narrow the claim or name the unresolved question instead.1845. **Docs/designs**185 - If Jira or the user links to Confluence, fetch the page.186 - If Figma/design details are required, mention the needed design context and use the187 available Figma/context tooling if present in the runtime.188189Keep the context summary concise and cite file paths, official URLs, or upstream source clearly.190191### 4. Produce an Architecture Plan192193Output a plan that is implementation-ready but does not perform implementation.194195Detailed plans are working input, not current architecture documentation.196Do not create Markdown solely to preserve planning reasoning.197198Render the plan inline. Reuse an existing stable source when supplied; label it as planning input199and state its outcome-based disposition. A request to persist new planning input or its review owner200produces the explicit handoff below, not a file or tracker write from Architect.201202The final user-facing plan starts with the decision summary, before investigation detail:203204```markdown205## Architect Plan: <short title>206207### Decision brief208- Recommendation: <one or two sentences>209- Decision needed: <none, or the exact approval question>210- Choices: <approve | defer or reject | request revision, when human approval is required>211- Detailed input: <this inline plan or one stable source reference>212- Documentation disposition: <what happens on approval, defer/reject, or revision>213214### Planning tier215- Tier: <standard|premium|second-opinion|all-in>216- Model preference: <none|user preference|fallback>217- Why this tier: <one sentence>218219### Goal220<what we are trying to achieve>221222### Context gathered223- Tracker/docs: ...224- Relevant code paths: ...225- Existing patterns: ...226227### Assumptions228- ...229230### Prior-art decision231<Include only when step 4's conditional research was triggered; otherwise omit this section entirely.>232233| Candidate | Source evidence | Fit / material gaps |234|---|---|---|235| ... | <repository path, official URL, registry entry, spec, or upstream source> | ... |236237- Recommendation: <Adopt|Extend|Compose|Build> — <why>238- New implementation justification: <required for Build; otherwise omit>239240### Recommended approach241<the proposed architecture/design, incorporating the prior-art decision when present>242243### Alternatives considered2441. <alternative> — rejected/accepted because ...2452. ...246247### Implementation slices248| # | Slice / deliverable | Observable outcome | Acceptance evidence |249|---|---|---|---|250| 1 | <small, reviewable slice> | <user-visible behavior or system state that becomes true> | <runnable check, named CI evidence, manual UAT flow, or source evidence + expected signal> |251| 2 | ... | ... | ... |252253### Tracking recommendation254<One compact recommendation: no additional item, one proposal marked not created, or an expanded epic/children breakdown when genuinely warranted. Include the decisive duplicate/related-work evidence.>255256### Test strategy257- Happy path:258- Sad path:259- Edge cases:260- Regression/contract/migration checks:261262### Risks and mitigations263- Risk: ... → Mitigation: ...264265### Rollout / rollback266<feature flags, migrations, compatibility, observability, rollback plan if relevant>267268### Open questions269- ...270271### Recommended implementation tier272<standard/high is safe | use premium/high | retain premium/xhigh for implementation or final review>273```274275Pair every implementation slice with both an observable outcome and the evidence that proves it.276The pair is the slice's acceptance contract, not a duplicate test plan:277278- **Runnable check:** give the repository-supported command and the expected decisive signal.279- **CI evidence:** name the check/artifact and what success demonstrates; a future green status280 without the relevant artifact or commit coverage is not enough.281- **Manual UAT:** give the smallest necessary flow, environment, and expected observation when282 behavior cannot responsibly be proven by automation.283- **Source evidence:** use a rendered preview, link check, schema/config inspection, or specialist284 review for documentation-only or inherently non-executable work.285286Do not manufacture a shell command merely to fill the table. If proof depends on unavailable287infrastructure or an unresolved decision, say `TBD`, name the owner or prerequisite, and keep the288slice blocked rather than presenting vague acceptance. The broader **Test strategy** section still289covers cross-slice happy/sad/edge cases and project gates; it should reference rather than restate290the per-slice evidence.291292Always render **Tracking recommendation**, but keep it proportionate. Choose exactly one form:293294- **No additional item:** the existing Jira ticket, bead, card, or request already owns the whole295 coherent outcome. Say so in one line and cite the decisive duplicate/related-work evidence when296 Beads is active; there is no proposal status to render.297- **One focused item:** one independently valuable durable outcome is not already tracked. Keep it298 to one or two lines: `Proposal — not created`, suggested title, and the essential outcome/scope.299 Add type, priority, acceptance, or dependency detail only when it materially changes the proposal.300- **Epic with children:** use only when several child outcomes are independently reviewable,301 deliverable, and worth tracking even if another child changes. Label the epic and every child302 `Proposal — not created`; give title/type/priority, scope, acceptance, and only genuine blocking303 dependencies. Do not turn every implementation slice into a child.304- **Tracker-neutral breakdown:** use when no tracker is established but the work genuinely needs a305 durable multi-item shape. Keep the same outcome/dependency discipline without prescribing a306 system.307308Implementation slices are delivery mechanics, not automatically tracker items. Never propose one309item per test, review pass, commit, subagent, retry, handoff, or other ephemeral activity.310311For an approved structured plan in an active Beads repository:312313- A one-focused-item or epic recommendation with a stable source should end with a paste-ready314 `/plan-to-backlog <plan-source>` handoff.315- A no-additional-item recommendation needs no materialization handoff.316- Architect must not invoke `/plan-to-backlog` automatically or reproduce its proposal/apply logic.317318#### Human decision ownership for unapproved plans319320When an unapproved recommendation needs durable human decision ownership, render:321322```text323/triage --human-review <source>324```325326`<source>` is the existing source selector/reference or this exact inline plan. Include the decision327question, proposed owner (not created or updated), and disposition for approval, rejection/defer,328or revision. Do not invoke triage automatically or treat approval of the plan as permission to329write tracking. No durable owner exists until the receiving workflow verifies its confirmed write.330331The [triage-owned human-review lifecycle](../triage/references/human-review.md) owns duplicate332checks, source reuse versus a dedicated blocked human decision, per-action confirmation, partial333recovery, and rationale/disposition recording. Do not reproduce or execute that mutation procedure334here. Keep unowned input inline; never create an orphan planning document.335336Informational answers, approved plans, and plans without a pending human decision need no review337item. If another tracker already owns the decision, recommend its normal explicit workflow rather338than shadowing it in Beads. Approved implementation materialization remains a separate339`/plan-to-backlog <plan-source>` handoff, not human-review intake.340341### 5. External Validation, When Requested342343If the tier is `second-opinion` or `all-in`, perform exactly one review-and-revision pass:3443451. Complete the full architecture draft before requesting review.3462. Build a review packet containing:347 - A concise context summary: requirements, constraints, relevant tracker/docs, repository348 evidence with file paths, assumptions, and open questions. Do not include secrets.349 - The complete finalized draft.350 - This review rubric:351 - Requirements coverage and unsupported assumptions352 - Technical feasibility and simpler or stronger alternatives353 - Interfaces, ownership boundaries, and internal/external dependencies354 - Migration, backwards compatibility, and data integrity355 - Security, privacy, permissions, and abuse cases356 - Reliability, failure modes, concurrency, and performance357 - Testability, adequacy of the proposed test strategy, and whether each slice's observable358 outcome is paired with evidence capable of proving it359 - When prior-art research was triggered, whether the candidate evidence supports the360 Adopt/Extend/Compose/Build recommendation and justifies any new implementation361 - Whether tracking recommendations reflect independently valuable durable work, account for362 existing related items, and avoid mirroring implementation mechanics363 - Rollout, rollback, observability, and operational burden364 - YAGNI, unnecessary abstractions, and decisions still missing3653. Invoke the tier-specific route once:366 - `second-opinion`: `/second-opinion validate-plan "<review packet>" --agent peer`. Keep its367 vendor-independent single-route selection.368 - `all-in`: `/second-opinion validate-plan "<review packet>" --agent quorum --panel focused`.369 This is one bounded parallel batch across the selected focused panel, not a sequence of370 follow-up reviews.3714. Invoke only through `/second-opinion`; do not probe authentication or call the CLIs directly.372 Let that skill apply its independence, availability, timeout, and cost rules. When it classifies373 a selected route as metered/BYOK or unknown-cost, ask for explicit consent with374 `AskUserQuestion` immediately before the invocation. Declining that route reduces the attempted375 reviewer set; it does not block the plan.3765. Treat each response as advisory. Check claims against repository, tracker, and documentation377 evidence. Do not use majority vote as truth: one well-evidenced unique finding may outweigh378 agreement, while repeated unsupported claims remain invalid.3796. Revise the draft only for validated findings, then stop. Do not send the revision out for a380 second review batch or loop until reviewers agree.381382The built-in `focused` panel contains no OpenRouter routes, but a user-local profile may override it.383Let `/second-opinion` apply its metered-route consent policy, and do not substitute another named panel384unless the user explicitly requests it.385386Append this validation record to the final plan:387388```markdown389### External validation390- Review tier: <second-opinion|all-in>391- Coverage: <reviewers attempted, succeeded, unavailable, declined, or timed out>392- Reviewer findings:393 - <reviewer attribution>: <material findings>394- Consensus / agreements: <shared findings with supporting evidence; descriptive, not a vote>395- Disagreements: <conflicting recommendations and evidence-based resolution or uncertainty>396- Unique findings: <single-reviewer concerns and their validation status>397- Rejected findings: <non-actionable/incorrect suggestions and why>398- Plan changes: <what changed and why, or "None">399- Residual uncertainty: <unresolved risks/questions, or "None">400```401402For partial results, synthesize only the reviewers that returned and identify every unavailable,403declined, or timed-out route; never describe partial coverage as a complete panel. If no external404reviewer succeeds or `/second-opinion` is unavailable, preserve the in-session plan, set coverage405accordingly, and explicitly state that external validation was skipped.406407### 6. Guardrails408409- Do not implement code changes.410- Do not create or mutate Jira issues or Beads. Tracker writes belong only to the explicit411 receiving workflow; confirmation never expands Architect's read-only boundary.412- Do not create implementation tracker items. Label implementation proposals as not created and413 route approved-plan materialization through `/plan-to-backlog`.414- Prefer small, reversible implementation slices with observable outcomes and proportionate proof.415- Do not invent commands for documentation-only or inherently manual acceptance; name the416 necessary source evidence or UAT flow instead.417- Flag YAGNI: avoid introducing new abstractions unless they pay for themselves now.418- Do not claim the ecosystem lacks a solution without bounded, source-backed research; do not run419 that research when a routine local change already has an obvious path.420- Prefer repository and installed-capability evidence before external lookup, and prefer official or421 upstream evidence over commentary when external lookup is warranted.422- Call out when the right answer is “do the simple thing” rather than architecting.423- If requirements are unclear, list open questions and recommend the smallest discovery step.424- End with the next concrete action the implementation agent should take.