From pipeline
Produce the technical plan for a work package — types, schemas, APIs, file paths, ordered tasks. Interrogate the spec, reconcile it against the codebase, then draft. Run AFTER /concept (always) and AFTER /design (when the work package has UI).
How this skill is triggered — by the user, by Claude, or both
Slash command
/pipeline:architectureThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Why:** A clear plan prevents wasted implementation time. Without architectural planning, the builder builds the wrong thing, misses edge cases, or invents abstractions the system doesn't need. The reviewer catches errors before they become expensive rework.
Why: A clear plan prevents wasted implementation time. Without architectural planning, the builder builds the wrong thing, misses edge cases, or invents abstractions the system doesn't need. The reviewer catches errors before they become expensive rework.
Fixed inputs (do NOT re-litigate):
/concept — includes which docs were read and the relevant canonical contracts under {{paths.docs}}./design (UI work packages), at the path the design step wrote it (e.g. .pipeline/progress/<id> or alongside the work package). If no design system is configured (pipeline.config designSystem: null), there is no design input and this clause does not apply.Doc discovery: Read the "Required reading" from /concept output if available. Otherwise list {{paths.docs}} to identify relevant topic folders. Output a "Required reading" section in the plan listing the specific doc files the engineer must read before implementing. This is the natural filter — downstream skills read only what the plan prescribes.
If the spec contradicts an existing concept doc, stop — that's a /concept gap.
Before producing acceptance criteria, walk the decision tree. Pick only the questions that are actually unsettled — the ones where the spec, the work-package file, or existing code don't give you a confident answer. Skip what's already pinned. For each remaining question, propose your recommended answer with the evidence you have, then ask the human (or the reviewer in autonomous mode) to confirm, override, or dig deeper. Issue all of these probes in one parallel batch — independent questions don't need separate round-trips.
Few, important questions. Three sharp probes force a real decision; ten low-stakes ones are noise that get answered with shrugs while the load-bearing assumption stays silent. The bar to ask is: "will the answer change the plan?" If no, don't ask.
Sample interrogation lines (adapt to the work package):
{{paths.docs}} says X, this work package says Y."Stop interrogating when the path is clear, not when you run out of questions. Three to seven branches is typical. If the work package already pins a decision, don't re-litigate it — confirm and move on.
Before locking the plan, reconcile the spec against the actual codebase. Spec/codebase drift discovered at write-tests time is too late — catch it here.
For every named symbol the spec references — table, route, component, file, constant, env var — verify it exists with the expected shape. The lookups are independent: collect the full symbol list first, then issue all the greps and reads in one parallel batch (one tool-call round, not one per symbol). Specifically:
grep every symbol in the codebase. Does it exist? With what shape?Produce a Plan reconciliation: block in the plan listing every spec assumption that disagreed with reality and how the plan handles each. If the spec assumes a table, route, or column that doesn't exist, the plan must include the migration / scaffolding step.
Read the work package under .pipeline/work-packages/. Read existing code in the affected areas of {{paths.source}} and the relevant doc sections identified in doc discovery above.
If the work package has a UI surface and /design produced an approved spec, read it. The visual contract, component vocabulary, and interaction states are inputs — do not re-litigate them. (Skipped when no design system is configured.)
Produce:
references/verification-methods.md).route-checklist: block listing every route + every file the guard/middleware must cover. Step /architecture-review then greps the implementation against that checklist before signing off. Lesson: a plan that enumerated all routes but whose implementation applied the guard to only one route shipped a hole — the checklist makes the gap visible at review.protectedTests: string[] listing test files (under {{paths.tests}}) whose assertions must not change. The definition-of-done audit checks the protected set with {{vcs}}-tracked diffs (e.g. git diff --name-only).delete | reroute | rename). The migration is part of the plan, not a follow-up.sharedFiles: string[] listing infrastructure files this work package modifies that other concurrent work packages may also touch (schema definitions, shared types, the router, app entrypoint, seed files). Used by the pipeline to detect overlap and schedule merge order when work packages run in parallel.Every acceptance criterion MUST have a concrete verification method. "Write a test" is not specific enough. Say exactly what the test does and what it asserts. The verification-method rubric — criterion type → exact verification — is in references/verification-methods.md. Where a criterion is "type safety" or "the whole change is green," the verification is the project's verify command, {{verify}} (or a fast typecheck, if the project defines one, for incremental checks).
When a sub-decision in the plan is non-trivial — a schema with multiple plausible shapes, an API where versioning matters, a primitive (a load-bearing noun) that several work packages will consume — sketch two alternative shapes and pick. The reverse cost of getting it wrong is the budget for this phase.
For each alternative: 1-paragraph shape, 1 trade-off, 1 reason to reject. The synthesis often combines insights from both. Inspired by A Philosophy of Software Design — "design it twice" — and the discipline of designing reusable primitives once, well.
Skip when the decision is forced (existing pattern, single sane shape, low blast radius). Don't theatre-design where one obvious answer exists.
.pipeline/ state convention (e.g. .pipeline/progress/<id>.json or alongside the work package) so downstream skills can read it.Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub ambrovia/agent-skills-pipeline --plugin pipeline