Design Robust Software Architectures
Architecture decision framework built on 'start simple' - selective context discovery, trade-off ADRs, and pattern selection.
Why it matters
Establish clear, maintainable, and scalable software architectures by systematically documenting decisions, analyzing trade-offs, and selecting appropriate patterns.
Outcomes
What it gets done
Document architectural decisions using ADRs.
Analyze trade-offs between different architectural options.
Select appropriate design patterns based on project context.
Ensure architectural decisions align with requirements and constraints.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-architecture | bash Overview
Architecture Decision Framework
An architecture decision framework built on simplicity-first principles, using selective context discovery, ADR-based trade-off analysis, and pattern selection decision trees. Use for significant architecture decisions; use dedicated skills for database schema, API design, or deployment architecture specifics.
What it does
This skill is an architecture decision framework built on the principle that requirements drive architecture, trade-offs inform decisions, and ADRs (Architecture Decision Records) capture the rationale. It's organized as a selective content map read only as needed: context-discovery.md (questions to ask, project classification - for starting architecture design), trade-off-analysis.md (ADR templates and trade-off framework - for documenting decisions), pattern-selection.md (decision trees and anti-patterns - for choosing patterns), examples.md (MVP, SaaS, and Enterprise reference implementations), and patterns-reference.md (a quick pattern-comparison lookup).
Its core principle is "simplicity is the ultimate sophistication": start simple, add complexity only when proven necessary, since removing complexity later is much harder than adding it when actually needed. Before finalizing an architecture, a validation checklist confirms requirements are clearly understood, constraints are identified, each decision has a documented trade-off analysis, simpler alternatives were considered, ADRs are written for significant decisions, and the chosen patterns match the team's actual expertise.
When to use - and when NOT to
Use this when starting a new architecture design, documenting a significant architectural decision with its trade-offs, or choosing between competing patterns for a system.
Not the right skill for database schema design specifically (see database-design), API design patterns specifically (see api-patterns), or deployment architecture specifically (see deployment-procedures) - this framework is the higher-level decision layer that those more specific skills feed into.
Inputs and outputs
Inputs: the project's requirements, constraints, and team expertise/context.
Outputs: a project classification, a chosen architecture pattern backed by documented trade-off analysis, one or more ADRs capturing the rationale for significant decisions, and a validated checklist confirming simpler alternatives were considered before adding complexity.
Integrations
Designed to compose with database-design, api-patterns, and deployment-procedures skills for the more specific architectural sub-decisions.
Who it's for
Architects and engineers making significant architecture decisions who need a lightweight, ADR-driven framework that defaults to simplicity and documents trade-offs rather than jumping straight to a complex pattern.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.