architecture

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

1|Updated May 10, 2026
One-click install
npx skills add https://github.com/Tgoldi/claude-skills --skill architecture-tgoldi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture
Source: https://github.com/Tgoldi/claude-skills/tree/main/architecture
Command: npx skills add https://github.com/Tgoldi/claude-skills --skill architecture-tgoldi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Choosing the right software architecture is hard: teams often over-engineer simple projects or under-design systems that later need to scale. This Skill provides a structured framework for analyzing requirements, evaluating trade-offs, and documenting 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). - Pattern Selection: Decision trees for data access, domain logic, distributed systems, and API patterns, with anti-pattern red flags and a simplicity-first principle. - Trade-off Analysis & ADRs: Templates for documenting each decision with options considered, rationale, trade-offs accepted, and revisit triggers. - Use Case: A team starting a SaaS product with 5-10 developers can use the framework to justify a modular monolith with NestJS and PostgreSQL, document the decision in an ADR, and define migration triggers for future microservices extraction. ## Quick Start Ask the architecture skill to help decide between a monolith and microservices for a new SaaS product with a small team.

Frequently Asked Questions about architecture

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

FAQPage Schema
How do I decide between a monolith and microservices architecture?

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 to write an Architecture Decision Record (ADR)?

An ADR documents status, context (problem and constraints), the decision, rationale tied to requirements, trade-offs accepted, and consequences with mitigations. Store ADRs as numbered markdown files like docs/architecture/adr-001-use-nextjs.md.

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 preferable.

What questions should I ask before designing system architecture?

Ask about scale (users, data volume, transaction rate), team size and expertise, timeline pressure, domain complexity, and constraints like budget or legacy systems. These answers classify the project as MVP, SaaS, or Enterprise and drive pattern choices.

When is event-driven architecture the wrong choice?

Avoid event-driven architecture for simple workflows requiring strong consistency, since it introduces eventual consistency and operational complexity. Synchronous REST or GraphQL is simpler when real-time updates and loose coupling are not required.