solution-architecture
Designs system structure and makes architectural decisions defensible — boundaries, coupling, trade-offs, and recording why. Use this to design a new system or major component, choose between architectural options, review an existing design, decide where a boundary belongs, or do
Install
npx skills add https://github.com/cbrock84/headcount/tree/main/plugins/technology/skills/solution-architecture
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install cbrock84-headcount@llmmart
git clone https://github.com/cbrock84/headcount.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole cbrock84/headcount collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Solution architecture
Architecture is the set of decisions that are expensive to reverse. Everything cheap to change later is design, and does not need this level of ceremony.
Start from what constrains, not from what appeals
Architecture is driven by quality attributes, not by features. Establish the ones that actually bind before drawing anything: expected load and its shape, latency the user notices, availability the business will fund, data residency and retention obligations, the rate of change the team needs to sustain, and the size and skills of the team who will operate it.
Vague attributes produce vague architecture. "Scalable" is not a requirement; "20,000 concurrent sessions with p99 under 300ms" is a constraint that eliminates options.
Boundaries are the whole game
Draw boundaries where change is independent and where data has a single owner. A boundary in the right place absorbs change; a boundary in the wrong place turns every feature into a negotiation across three teams.
The reliable test: if a routine change requires coordinated deployment across two components, the boundary is wrong regardless of how clean the diagram looks.
Prefer coarse boundaries until you have evidence for finer ones. Distributed systems convert simple in-process failures into network, partial-failure and consistency problems — a cost worth paying for independent scaling or independent deployment, and not worth paying for tidiness.
Trade-offs, stated
Every architecture sacrifices something. The failure is not choosing badly; it is choosing without naming what was given up, so nobody later understands why the constraint exists.
Present options with their costs: what each makes easy, what each makes hard, what it costs to operate, and what it would take to reverse. Two credible options and an honest comparison beat one recommendation.
Record decisions
Write down the decision, the context at the time, the options considered, and the consequences accepted. Architecture rots because the reasoning evaporates while the structure remains, and the next team reads a constraint as an accident.
Keep records short and immutable — supersede rather than edit, so the history of thinking survives.
Sources
references/sources.md in this skill lists the outside authorities that settle the questions
here — what each one is authoritative for, and what you may do with it. Check them before
answering on anything they cover, and cite what you used. Most are free to read and not free
to reproduce; the use note on each is binding.
Never
- Design against quality attributes nobody has quantified.
- Split a system into services to make the diagram tidy.
- Present a single option as though no trade-off was made.
- Leave an expensive-to-reverse decision undocumented.
Files (headcount)
-
references
-
sources.md 845 B
# Sources — `technology:solution-architecture` <!-- Generated by scripts/build-sources.py from sources/*.toml. Do not edit. --> Check these before answering on anything they cover, and cite what you used. The use note on each one is binding: most of what a professional cites is free to read and not free to reproduce. ## AWS Well-Architected Framework Amazon Web Services · global · **read and cite only — copyrighted, do not reproduce** <https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html> **Authoritative for:** What AWS itself considers a correct design on AWS, and therefore what an AWS architecture review will be graded against. --- Sources are maintained in `sources/` upstream, not here. If one is wrong, out of date, or missing, fix it there — this file is regenerated and an edit to it is lost.
-
-
SKILL.md 3.1 KB
--- name: solution-architecture description: Designs system structure and makes architectural decisions defensible — boundaries, coupling, trade-offs, and recording why. Use this to design a new system or major component, choose between architectural options, review an existing design, decide where a boundary belongs, or document an architectural decision so it survives the people who made it. --- # Solution architecture Architecture is the set of decisions that are expensive to reverse. Everything cheap to change later is design, and does not need this level of ceremony. ## Start from what constrains, not from what appeals Architecture is driven by quality attributes, not by features. Establish the ones that actually bind before drawing anything: expected load and its shape, latency the user notices, availability the business will fund, data residency and retention obligations, the rate of change the team needs to sustain, and the size and skills of the team who will operate it. Vague attributes produce vague architecture. "Scalable" is not a requirement; "20,000 concurrent sessions with p99 under 300ms" is a constraint that eliminates options. ## Boundaries are the whole game Draw boundaries where change is independent and where data has a single owner. A boundary in the right place absorbs change; a boundary in the wrong place turns every feature into a negotiation across three teams. The reliable test: if a routine change requires coordinated deployment across two components, the boundary is wrong regardless of how clean the diagram looks. Prefer coarse boundaries until you have evidence for finer ones. Distributed systems convert simple in-process failures into network, partial-failure and consistency problems — a cost worth paying for independent scaling or independent deployment, and not worth paying for tidiness. ## Trade-offs, stated Every architecture sacrifices something. The failure is not choosing badly; it is choosing without naming what was given up, so nobody later understands why the constraint exists. Present options with their costs: what each makes easy, what each makes hard, what it costs to operate, and what it would take to reverse. Two credible options and an honest comparison beat one recommendation. ## Record decisions Write down the decision, the context at the time, the options considered, and the consequences accepted. Architecture rots because the reasoning evaporates while the structure remains, and the next team reads a constraint as an accident. Keep records short and immutable — supersede rather than edit, so the history of thinking survives. ## Sources `references/sources.md` in this skill lists the outside authorities that settle the questions here — what each one is authoritative for, and what you may do with it. Check them before answering on anything they cover, and cite what you used. Most are free to read and not free to reproduce; the use note on each is binding. ## Never - Design against quality attributes nobody has quantified. - Split a system into services to make the diagram tidy. - Present a single option as though no trade-off was made. - Leave an expensive-to-reverse decision undocumented.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.