architecture-decision
Systematically evaluate architecture decisions, document trade-offs, and select appropriate patterns. This skill should be used when the user asks about 'architecture decision', 'ADR', 'design pattern selection', 'technology choice', or needs to evaluate architectural trade-offs. Keywords: architecture, ADR, patterns, trade-offs, technical debt, quality attributes, decision record.
Best use case
architecture-decision is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Systematically evaluate architecture decisions, document trade-offs, and select appropriate patterns. This skill should be used when the user asks about 'architecture decision', 'ADR', 'design pattern selection', 'technology choice', or needs to evaluate architectural trade-offs. Keywords: architecture, ADR, patterns, trade-offs, technical debt, quality attributes, decision record.
Teams using architecture-decision should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/architecture-decision/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How architecture-decision Compares
| Feature / Agent | architecture-decision | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Systematically evaluate architecture decisions, document trade-offs, and select appropriate patterns. This skill should be used when the user asks about 'architecture decision', 'ADR', 'design pattern selection', 'technology choice', or needs to evaluate architectural trade-offs. Keywords: architecture, ADR, patterns, trade-offs, technical debt, quality attributes, decision record.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Architecture Decision Systematically evaluate architecture decisions, document trade-offs, and select appropriate patterns for context. Provides frameworks for pattern selection, ADR creation, and technical debt management. ## When to Use This Skill Use this skill when: - Making technology choices - Evaluating architectural patterns - Creating Architecture Decision Records - Assessing technical debt - Comparing design alternatives Do NOT use this skill when: - Writing implementation code - Working on requirements (use requirements-analysis) - Doing full system design (use system-design) ## Core Principle **Context drives decisions.** No pattern is universally good or bad. The best architecture is not the most elegant—it's the one that best serves its purpose while remaining maintainable and evolvable. ## The Trade-off Triangle Every architectural decision involves trade-offs: | Vertex | Maximized By | Cost | |--------|--------------|------| | **Simplicity** | Monolith, sync communication, single DB | Scalability limits | | **Flexibility** | Microservices, event-driven, plugins | Complexity overhead | | **Performance** | Caching, denormalization, optimized code | Maintainability | **Balance Strategies:** - Start simple, add complexity as needed - Measure before optimizing - Use abstractions to defer decisions - Evolve incrementally ## Quality Attributes ### Performance - Metrics: Response time (p50, p95, p99), throughput, resource utilization - Tactics: Caching, load balancing, async processing ### Scalability - Dimensions: Horizontal, vertical, elastic - Patterns: Stateless services, sharding, event streaming ### Reliability - Metrics: Uptime, MTBF, MTTR - Patterns: Circuit breakers, retries, redundancy ### Maintainability - Factors: Readability, modularity, testability - Patterns: Clean architecture, DDD, SOLID ## Context-Pattern Mapping ### Team Context | Context | Preferred Patterns | Avoid | |---------|-------------------|-------| | **Small team** | Monolith, vertical slices, shared DB | Microservices, complex abstractions | | **Multiple teams** | Service boundaries, API contracts | Shared state, tight coupling | ### Scale Context | Context | Preferred Patterns | Reasoning | |---------|-------------------|-----------| | **Startup** | Monolith first, vertical scaling | Optimize for development speed | | **Enterprise** | Service mesh, horizontal scaling | Optimize for operational scale | ## Decision Matrix Template | Option | Consistency | Flexibility | Scalability | Complexity | Cost | Total | |--------|-------------|-------------|-------------|------------|------|-------| | Option A | 5 | 2 | 3 | 2 | 3 | 15 | | Option B | 3 | 5 | 4 | 3 | 3 | 18 | | Option C | 2 | 3 | 5 | 1 | 2 | 13 | Weight factors based on context priorities. ## Architecture Decision Record (ADR) Template ```markdown # ADR-[NUMBER]: [TITLE] ## Status [Proposed | Accepted | Deprecated | Superseded] ## Context [What is the situation requiring a decision?] ### Requirements - [Requirement 1] - [Requirement 2] ### Constraints - [Constraint 1] - [Constraint 2] ## Decision [What is the decision?] ### Justification - [Reason 1] - [Reason 2] ## Consequences ### Positive - [Benefit 1] - [Benefit 2] ### Negative - [Drawback 1] - [Drawback 2] ## Alternatives Considered ### [Alternative 1] Reason rejected: [Why] ### [Alternative 2] Reason rejected: [Why] ``` ## Architectural Refactoring Patterns ### Branch by Abstraction 1. Create abstraction over current implementation 2. Implement new solution behind abstraction 3. Switch to new implementation 4. Remove old implementation ### Strangler Fig 1. Identify boundary 2. Implement new solution for new features 3. Gradually migrate old features 4. Retire old system ### Parallel Run 1. Implement new solution 2. Run both old and new 3. Compare results 4. Switch when confident ## Technical Debt Management ### Debt Categories | Type | Examples | Payment Strategy | |------|----------|------------------| | **Design** | Missing abstractions, tight coupling | Refactoring sprints | | **Code** | Duplication, complexity, poor naming | Continuous cleanup | | **Test** | Missing tests, flaky tests | Test improvement | | **Documentation** | Missing docs, outdated diagrams | Documentation sprints | ### Metrics - **Debt ratio:** Debt work / Total work (target < 20%) - **Interest rate:** Extra effort due to debt - **Debt ceiling:** Maximum acceptable debt ## Anti-Patterns ### Big Ball of Mud **Symptoms:** No clear structure, everything depends on everything **Remedy:** Identify boundaries, extract modules, establish interfaces ### Distributed Monolith **Symptoms:** Services must deploy together, sync chains, shared DBs **Remedy:** Merge related services, async communication, separate DBs ### Golden Hammer **Symptoms:** One solution for all problems, force-fitting patterns **Remedy:** Learn alternatives, evaluate objectively, prototype options ## Related Skills - **system-design** - Full system design with ADRs - **code-review** - Implementation validation - **task-decomposition** - Breaking down architectural work - **requirements-analysis** - Understanding constraints
Related Skills
tech-decision
This skill should be used when the user asks to "기술 의사결정", "뭐 쓸지 고민", "A vs B", "비교 분석", "라이브러리 선택", "아키텍처 결정", "어떤 걸 써야 할지", "트레이드오프", "기술 선택", "구현 방식 고민", or needs deep analysis for technical decisions. Provides systematic multi-source research and synthesized recommendations.
software-architecture-design
Designs system structure across monolith/microservices/serverless. Use when structuring systems, scaling, decomposing monoliths, or choosing patterns.
multi-agent-architecture
多 Agent 架构设计与智能 Spawn 系统。当需要设计多 Agent 系统、配置专业化 Agent、实现智能任务分发、或优化并发处理能力时使用此技能。
architecture-patterns
Software architecture patterns and best practices
architecture-decision-records
Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architect...
wemp-operator
> 微信公众号全功能运营——草稿/发布/评论/用户/素材/群发/统计/菜单/二维码 API 封装
zsxq-smart-publish
Publish and manage content on 知识星球 (zsxq.com). Supports talk posts, Q&A, long articles, file sharing, digest/bookmark, homework tasks, and tag management. Use when publishing content to 知识星球, creating/editing posts, uploading files/images/audio, managing digests, batch publishing, or formatting content for 知识星球.
zoom-automation
Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.
zoho-crm-automation
Automate Zoho CRM tasks via Rube MCP (Composio): create/update records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.
ziliu-publisher
字流(Ziliu) - AI驱动的多平台内容分发工具。用于一次创作、智能适配排版、一键分发到16+平台(公众号/知乎/小红书/B站/抖音/微博/X等)。当用户需要多平台发布、内容排版、格式适配时使用。触发词:字流、ziliu、多平台发布、一键分发、内容分发、排版发布。
zhihu-post-skill
> 知乎文章发布——知乎平台内容创作与发布自动化
zendesk-automation
Automate Zendesk tasks via Rube MCP (Composio): tickets, users, organizations, replies. Always search tools first for current schemas.