software-architecture

Design scalable software architectures using ADR-driven workflows.

28|1|Updated Aug 30, 2025
One-click install
npx skills add https://github.com/outfitter-dev/agents --skill software-architecture-outfitter-dev
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: software-architecture
Source: https://github.com/outfitter-dev/agents/tree/main/baselayer/skills/software-architecture
Command: npx skills add https://github.com/outfitter-dev/agents --skill software-architecture-outfitter-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Provide design frameworks and decision notes for building scalable, maintainable systems.

Core Features & Use Cases

  • Architecture patterns: layered, hexagonal, microservices
  • Trade-off analysis: evaluate options with criteria
  • Documentation prompts: ADR and design notes

Quick Start

Start with a high-level architecture question and capture design decisions using the skill.

Frequently Asked Questions about software-architecture

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

FAQPage Schema
How do I design a scalable system architecture?▼

Design scalable architectures by applying structured frameworks—layered, hexagonal, or microservices patterns—paired with trade-off analysis and Architecture Decision Records (ADRs). The skill enforces a phased workflow: discovery, constraint evaluation, design, and standardized documentation with observability practices to ensure maintainability as systems grow.

What's the best way to evaluate architectural trade-offs?▼

Evaluate architectural trade-offs by establishing clear criteria, comparing options systematically, and documenting decisions through ADRs. This approach captures reasoning for technology stack choices, scaling strategies, and performance decisions, creating a reference for future maintainers and preventing recurring design debates.

When do I need an Architecture Decision Record?▼

Use ADRs when designing new systems, planning major features, evaluating architectural approaches, or making technology stack decisions. ADRs document the context, options considered, trade-offs, and final decision, creating maintainable reference records that guide long-term system evolution.

Can I use architecture frameworks for existing systems?▼

Yes. The skill applies to designing new systems and refactoring existing ones. Use architectural frameworks and decision records to evaluate current approaches, plan feature additions, or migrate to patterns like microservices, ensuring decisions are documented and constraints are explicitly evaluated.

How do I plan for scale and performance in system design?▼

Plan for scale by identifying performance constraints during discovery and analysis phases, selecting patterns that handle your load profile, and documenting observability practices. The ADR-driven workflow ensures scaling decisions are explicit, justified, and communicated to the team.

What documentation should I create for architectural decisions?▼

Create standardized Architecture Decision Records capturing problem context, architectural options evaluated, constraints, trade-offs, and the chosen approach. Include observability practices and TodoWrite steps to ensure decisions are traceable, decisions remain discoverable, and implementation guidance is clear.