plugins/spec-plugin/skills/architect-version/SKILL.md
Deep-dive architecture for a single version. Reads the version spec, overall architecture, roadmap, and related versions, then produces a comprehensive architecture document with specific implementation choices. Adapts to project type. Use before /build-stories.
npx skillsauth add jaisonerick/spec-plugin architect-versionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Your task: produce a comprehensive architecture document for the given version that makes every important decision explicit, with rationale.
specs/ in CWD.specs/<version>.mdspecs/architecture.mdspecs/roadmap.mdspecs/) — check Project Context for project type and code repository pathspecs/v*.md) to understand prior and future versionsspecs/<version>/Identify all key decisions needed for this version. Adapt categories to the project type.
Pay special attention to "Simplified in this version" from the version spec — architecture should match the simplified scope, not the full future version.
Do not write code sketches against assumed APIs. The biggest source of downstream rework is an architecture that references a method/field/endpoint that doesn't exist, or a transformation that silently changes a value. Before you commit a decision, verify it against the real code by running the primitive skills inline (you run at opus — the right tier for these), or dispatch the cheap mechanical /verify-symbol to the intern:
/verify-symbol — for every external method/field/endpoint/flag your sketch relies on, confirm it exists and get its real signature (don't assume partner.slug or CreditOffer.find_by_offer)./trace-flow — for every cross-layer transformation in your design or DoD, trace the value end-to-end and note where its shape changes (the emit-symbol-tr-to-contract class of bug).When the V0.4 architect did exactly this, the version passed QA 11/11 on the first try with zero fix cycles.
Use AskUserQuestion for every significant decision point. Present:
Limit to 2-3 decisions per round. Iterate until resolved.
Write specs/<version>/architecture.md.
The architecture doc must contain an explicit ## Definition of Done — concrete, testable acceptance criteria for this version, derived from (and sharpening) the version spec's high-level DoD. A fresh, independent auditor will gate this DoD before any story is built, so write it to survive that audit:
For non-code projects the same applies: criteria must assert the deliverable does its job, not merely that a file exists.
The architecture has the facts (what files exist, what the toolchain is) but the ordering implications are usually left implicit, so build-stories and the PO rediscover them by trial. Make them explicit in a ## Build & Packaging Order section:
This applies to non-code projects too: if a deliverable can only be produced once an upstream artifact exists, state the ordering.
Use mermaid for ALL diagrams:
flowchart for processes and relationshipssequenceDiagram for interactionserDiagram for data modelsstateDiagram-v2 for state machinesPresent a summary:
Report back to the team lead (write the doc; the lead commits it).
If the team lead returns auditor findings, the DoD measured the wrong thing somewhere. Revise the architecture/DoD to address each finding specifically — strengthen the items that a trivial implementation could have passed — write the update, and report back. A new fresh auditor re-gates each round; iterate until it passes.
tools
Assess how the LATEST spec-plugin version is performing across every previous session that invoked it — aggregate run efficiency (thinking%, compactions, exploration-vs-skills, preload firing, fresh-per-story), process adherence, and recurring spec-quality issues — then propose concrete, evidence-backed improvements for the NEXT version (plugin skills/agents/hooks, and spec/process patterns). Read-only: proposes, never self-modifies. Not tied to a single run.
development
Confirm whether a code symbol (method/class/field/endpoint/flag) actually exists and return its REAL signature + definition location — or the nearest match. Uses LSP/introspection, never grep-spelunking. Cheap and fast.
development
Walk one value or action end-to-end across every layer/hop — go-to-definition by go-to-definition, or with a debugger breakpoint — and report the real state transitions and where the contract/shape diverges. The workhorse for architecture sketches and cross-layer debugging.
testing
Bring a fresh worktree/checkout to a runnable state — verify base HEAD, copy gitignored files (.env), allocate per-agent DB/test env, install deps, run the smoke gate. Deterministic, mechanical. Reports a single ready/blocked verdict.