plugins/spec-plugin/skills/architect/SKILL.md
Create the implementation approach for a project. For code projects: technology stack, schemas, API contracts, system design. For non-code projects: delivery approach, document structure, resource plan. Adapts based on the project spec. Use after /ideate.
npx skillsauth add jaisonerick/spec-plugin architectInstall 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 implementation approach document that makes every foundational decision explicit, with rationale. This is the PROJECT-LEVEL architecture — it covers decisions shared across ALL versions. Individual versions get their own architecture docs via /architect-version.
You own cross-version decisions only. Do NOT author per-version DoD or build/packaging order — those belong to /architect-version and /build-stories, which read this document and sharpen it per version.
Canonical spec layout — everything lives under the project's specs/ folder:
specs/spec.md specs/roadmap.md
specs/architecture.md specs/<version>.md (e.g. specs/v0.1-even-split.md)
specs/<version>/... (per-version dir: architecture.md, stories, context.md, qa/, logs/)
Read and write relative to this specs/ folder.
specs/<project-name>.md in the current directoryspecs/spec.md if only one spec existsspecs/ locally: check CLAUDE.md (project and user level) for references to a second-brain or external specs location. Search there for a folder matching the current project (by name, git remote, or project name)./ideate firstGemfile/package.json/*.gemspec/.tool-versions/lockfiles — and let those facts drive language, runtime, and dependency decisions. If the repo is greenfield (no such files), say so explicitly in the architecture rather than assuming a stack.specs/roadmap.md exists (in the specs location), read itspecs/v*.md version files exist, skim themspecs/architecture.md already exists — if so, ask user whether to redo or reviseThe spec's Project Context → Type tells you what kind of architecture this needs.
Catalog every foundational decision needed. The categories depend on the project type.
Not every project needs all categories. Skip what's irrelevant.
Mix categories from the above as appropriate.
For each major decision, use AskUserQuestion to present:
Group related decisions (2-3 per round) to keep the conversation efficient. Iterate until all major decisions are resolved.
Write specs/architecture.md (relative to where the project spec lives).
Include these sections:
Include these sections:
(verified: <source>) (e.g. (verified: .tool-versions)) or (assumed — confirm in setup-playbook). Never state an env fact — language version, dependency pin, toolchain — as decided without a source.Before finalizing, verify:
Present a summary:
/plan to design the delivery milestones, then /orchestrate to execute each version."Ask for final sign-off.
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.