Expert methodology for making and documenting critical architectural decisions using ADRs, trade-off analysis, migration planning, and technical debt management.
This skill provides a systematic approach to making critical architectural and technology decisions. Use it to evaluate options, document decisions through Architecture Decision Records (ADRs), plan migrations, and manage technical debt strategically.
Trigger this skill when you need to:
Follow this systematic decision-making process:
Define the Problem
Identify Options
Define Evaluation Criteria
references/frameworks/decision-criteria-framework.md to select criteriaResearch Each Option
Score Against Criteria
references/templates/trade-off-matrix.mdIdentify Trade-offs
Make the Decision
Create Architecture Decision Record (ADR)
references/templates/adr-template.mdCreate Implementation Plan
Frameworks (references/frameworks/):
decision-criteria-framework.md - Comprehensive evaluation criteria for different decision typesarchitecture-patterns.md - Common patterns with pros/cons (microservices, event-driven, serverless, etc.)technical-debt-assessment.md - Framework for quantifying and prioritizing technical debtmigration-strategies.md - Approaches for major migrations (strangler fig, big bang, phased)Templates (references/templates/):
adr-template.md - Standard Architecture Decision Record formattrade-off-matrix.md - Structured comparison of optionsmigration-plan-template.md - Step-by-step migration planningbuild-vs-buy-analysis.md - Framework for build vs buy decisionsrfc-template.md - Request for Comments format for collaborative decision-makingExamples (references/examples/):
Example 1: User says "Should we move from PostgreSQL to MongoDB?"
ā Frame decision: What problem are we solving? Current pain points? ā Define criteria: Query patterns, scalability needs, team expertise, migration cost ā Score both options + alternatives (keep PostgreSQL but optimize, use both) ā Create ADR documenting decision and trade-offs ā If migrating, generate migration plan with risk mitigation
Example 2: User says "We need to evaluate our technical debt"
ā Load references/frameworks/technical-debt-assessment.md
ā Categorize debt: performance, security, maintainability, scalability
ā Score by impact (business risk) and effort (time/cost to fix)
ā Prioritize using impact/effort matrix
ā Create remediation roadmap with phased approach
Example 3: User says "Help us decide between building or buying a feature"
ā Use references/templates/build-vs-buy-analysis.md
ā Evaluate: development cost, time to market, ongoing maintenance, flexibility, vendor risk
ā Calculate Total Cost of Ownership for both options
ā Consider strategic fit and competitive advantage
ā Document decision in ADR format
Example 4: User says "We're considering microservices. Is it right for us?"
ā Load references/frameworks/architecture-patterns.md
ā Assess current context: team size, complexity, deployment frequency, organizational structure
ā Compare monolith vs microservices vs modular monolith
ā Identify trade-offs specific to the situation
ā Create ADR with recommendation and implementation roadmap if appropriate
Technology Selection:
Architecture Patterns:
Migration Decisions:
Build vs Buy:
All outputs should be:
Version: 1.0.0 Author: Rinaldo Festa Philosophy: Make better technical decisions through systematic evaluation and clear documentation