architecture

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

2|Updated May 30, 2026
One-click install
npx skills add https://github.com/virahitvin8/crafty-gis --skill architecture-virahitvin8
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: architecture
Source: https://github.com/virahitvin8/crafty-gis/tree/main/GIT_STAR/.agent/skills/architecture
Command: npx skills add https://github.com/virahitvin8/crafty-gis --skill architecture-virahitvin8

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 fail to scale. This Skill provides a structured framework for analyzing requirements, evaluating trade-offs, and documenting decisions so architecture choices are deliberate and defensible. ## 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 Architecture Decision Records capturing context, options, rationale, trade-offs, and revisit triggers. - Use Case: A team debating microservices versus a modular monolith can walk through the decision tree, check the requirements (team size, scaling needs, domain boundaries), and produce an ADR documenting the final choice. ## Quick Start Help me decide between a modular monolith and microservices for a SaaS product with 5 developers and 10K users, and write an ADR for the decision.

Frequently Asked Questions about architecture

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

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

Microservices are justified only when you have clear domain boundaries, more than 10 developers, and different scaling needs per service. If any condition is unmet, start with a modular monolith and extract services later when proven necessary.

How to write an Architecture Decision Record (ADR)?

An ADR documents status, context, 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 or multiple data sources. For simple CRUD against a single database, direct ORM access with tools like Prisma or Drizzle is simpler and preferable.

When is Domain-Driven Design not worth it?

Full DDD is over-engineering for simple CRUD domains or teams without domain experts. Use partial DDD with rich entities and clear boundaries, or a Transaction Script pattern for mostly procedural logic.

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.