architecture

Guides architectural decision-making through requirements analysis, trade-off evaluation, and ADR documentation.

Updated Feb 8, 2026
One-click install
npx skills add https://github.com/ttnhan18062000/rpg-based-simulation --skill architecture-ttnhan18062000
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture
Source: https://github.com/ttnhan18062000/rpg-based-simulation/tree/main/.agents/skills/architecture
Command: npx skills add https://github.com/ttnhan18062000/rpg-based-simulation --skill architecture-ttnhan18062000

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Choosing software architecture without a structured process leads to over-engineered systems, premature microservices, and undocumented decisions that teams later regret. This Skill provides a disciplined framework for gathering requirements, evaluating trade-offs, selecting patterns, and recording decisions as Architecture Decision Records (ADRs). ## Core Features & Use Cases - Context Discovery: A question hierarchy covering scale, team, timeline, domain, and constraints, plus a project classification matrix (MVP, SaaS, Enterprise) to calibrate architecture complexity. - Pattern Selection: Decision trees for data access, domain logic, distributed systems, and APIs, with red-flag anti-patterns and a simplicity-first principle. - Trade-off Analysis & ADRs: Templates for documenting options, rationale, accepted trade-offs, consequences, and revisit triggers, stored under docs/architecture/. - Use Case: A team starting a new SaaS product uses the classification matrix to choose a modular monolith over microservices, then writes an ADR capturing the rationale and the trigger conditions for extracting services later. ## Quick Start Ask the assistant to help design the architecture for your project by describing your expected scale, team size, timeline, and domain complexity.

Frequently Asked Questions about architecture

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

FAQPage Schema
How do I choose between a monolith and microservices?

Choose microservices only when all three conditions hold: clear domain boundaries, a team larger than 10 developers, and different scaling needs per service. Otherwise start with a modular monolith and extract services later when the need is proven.

How do I write an Architecture Decision Record (ADR)?

An ADR documents the context and problem, options considered with pros and cons, the chosen decision, rationale tied to constraints, accepted trade-offs, consequences, and a revisit trigger. Store ADRs as numbered markdown files under docs/architecture/.

When should I use the Repository pattern versus direct ORM access?

Use the Repository pattern when you need testability, complex queries, or multiple data sources. For simple CRUD against a single database, direct ORM access with tools like Prisma or Drizzle is simpler and sufficient.

When is Domain-Driven Design worth the complexity?

Full DDD with aggregates and value objects is justified only for complex domains with domain experts on the team. Without domain experts, use partial DDD with rich entities and clear boundaries; for simple CRUD, a transaction script is enough.

What are common architecture anti-patterns to avoid?

Common anti-patterns include premature microservice splitting, over-abstraction with Clean/Hexagonal architecture, event sourcing for simple audit needs, unnecessary CQRS, and Repository wrappers around trivial CRUD. Prefer the simpler alternative in each case.