Skill

Design Robust Software Architectures

Architecture decision framework built on 'start simple' - selective context discovery, trade-off ADRs, and pattern selection.


91
Spark score
out of 100
Updated yesterday
Version 15.7.0

Add to Favorites

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

01

Document architectural decisions using ADRs.

02

Analyze trade-offs between different architectural options.

03

Select appropriate design patterns based on project context.

04

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.