architecture-selection
System architecture design advisor for choosing patterns, performing C4 modeling, and evaluating scalability, ops maturity, and technology stacks for software projects.
Introduction
The architecture-selection skill serves as an expert system architecture advisor designed to assist development teams in making informed, pragmatic, and scalable technical decisions. It guides users through the entire architecture lifecycle, from initial requirement analysis to final decision documentation using the Architecture Decision Record (ADR) format. By balancing technical requirements with team capabilities and operational maturity, the skill prevents common pitfalls like premature optimization, 'resume-driven development,' and the creation of distributed monoliths.
The skill is built upon a robust framework that evaluates candidates against criteria including team size, domain complexity, scaling needs (uniform, varied, async, or unpredictable), and time-to-market pressure. It leverages industry-standard documentation methods like the C4 model to visualize system context, containers, and components, ensuring that architecture is not just a theoretical concept but a bridge to implementation. It supports a variety of patterns including Monolith, Microservices, Event-Driven, and Serverless architectures.
-
Evaluates at least two architectural candidates before suggesting a path forward to ensure objective decision-making.
-
Implements a weighted evaluation matrix for technology selection based on Fit, Maturity, Team Skills, Performance, Operations, and Cost.
-
Generates formal ADRs including Context, Decision, Consequences, and Alternatives to maintain long-term technical project history.
-
Provides actionable migration paths for transitioning between patterns, such as breaking down monoliths into bounded contexts.
-
Enforces strict quality constraints, such as identifying bottlenecks before recommending scaling and ensuring operational feasibility.
-
Utilizes domain-specific references for scalability, reliability, and pattern analysis to inform advice.
-
Input: Specify the target system context, team size, current operational maturity, and business requirements as arguments.
-
Workflow: The agent analyzes the domain, scores potential architectures, conducts a technology trade-off analysis, and outputs a structured recommendation.
-
Constraints: Always prioritize maintainability and operational reality over theoretical complexity; avoid 'golden hammer' biases by evaluating each use case individually.
Repository Stats
- Stars
- 265
- Forks
- 39
- Open Issues
- 0
- Language
- Shell
- Default Branch
- main
- Sync Status
- Idle
- Last Synced
- Apr 29, 2026, 02:07 PM