architecture

Draft and evaluate Architecture Decision Records with context, options, and trade-offs.

4|4|Updated Dec 15, 2024
One-click install
npx skills add https://github.com/adrianliechti/wingman-chat --skill architecture-adrianliechti
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture
Source: https://github.com/adrianliechti/wingman-chat/tree/main/skills/engineering/architecture
Command: npx skills add https://github.com/adrianliechti/wingman-chat --skill architecture-adrianliechti

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Architecture decisions can be difficult to track and justify; this Skill helps you create and evaluate Architecture Decision Records (ADRs) to capture rationale, trade-offs, and consequences.

Core Features & Use Cases

  • Create an ADR: Document a design decision with context, options, and outcomes.
  • Evaluate designs: Compare alternative architectures and record trade-offs.
  • System design proposals: Analyze requirements and constraints to inform the final pattern choice.

Quick Start

Create an ADR comparing Kafka and SQS for the event bus, including context, options, trade-offs, and recommended decision.

Frequently Asked Questions about architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is an Architecture Decision Record and when do I need to write one?

An Architecture Decision Record (ADR) captures the rationale, trade-offs, and consequences of a technology choice. You need an ADR when making significant system design decisions, such as selecting an event bus, to ensure the reasoning is documented and trackable.

How do I document trade-offs when comparing Kafka vs SQS for system design?

To document trade-offs for Kafka vs SQS, you draft an ADR that outlines the context, evaluates both options, compares their specific trade-offs, and records the final decision along with its consequences.

Can I use this to evaluate alternative architectures from requirements and constraints?

Yes, you can evaluate alternative architectures by analyzing your specific requirements and constraints. The ADR structure helps you compare different system designs and formally record the trade-offs to inform your final pattern choice.

What is the best way to structure an ADR for a technology choice?

The best way to structure an ADR is to use a standard format with dedicated sections for context, options, trade-offs, decisions, and consequences. This ensures the design decision rationale is clear and comprehensively documented.

Does this ADR process work for designing components from requirements?

Yes, the process works for designing components from requirements by mapping your constraints into the ADR structure. It guides you to evaluate options and document the outcomes, ensuring the component design decision is justified.

Why should I document architecture decisions instead of just implementing them?

You should document architecture decisions because they can be difficult to track and justify later. Creating an ADR ensures the context and trade-offs are preserved, preventing future teams from questioning why a specific design decision was made.