skills/technical-decision-making/SKILL.md
Master technical decision-making, architecture choices, technology evaluation, and technical roadmaps for engineering teams
npx skillsauth add pluginagentmarketplace/custom-plugin-engineering-manager technical-decision-makingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Provide engineering managers with structured frameworks for making sound technical decisions, evaluating technologies, managing technical debt, and developing technical roadmaps.
Agent: technical-strategy-agent Relationship: This skill provides ADR templates, evaluation frameworks, and decision tools that the technical-strategy-agent uses.
# ADR-{NUMBER}: {TITLE}
## Status
{Proposed | Accepted | Deprecated | Superseded by ADR-XXX}
## Date
{YYYY-MM-DD}
## Context
{What is the issue that we're seeing that is motivating this decision?}
## Decision Drivers
- {driver 1}
- {driver 2}
## Considered Options
1. {Option 1}
2. {Option 2}
3. {Option 3}
## Decision Outcome
Chosen option: "{option X}", because {justification}.
### Positive Consequences
- {consequence 1}
### Negative Consequences
- {consequence 1}
## Pros and Cons of Options
### Option 1: {name}
| Aspect | Assessment |
|--------|------------|
| Effort | {Low/Medium/High} |
| Risk | {Low/Medium/High} |
| Team Fit | {score}/5 |
| Reversibility | {Easy/Hard} |
Good, because {argument}.
Bad, because {argument}.
## Links
- {Link to related ADR}
- {Link to documentation}
technology_evaluation:
template:
candidate: "{Technology name}"
evaluation_date: "{Date}"
evaluator: "{Name}"
criteria:
technical_fit:
weight: 25%
factors:
- scalability_match: "1-5"
- performance_requirements: "1-5"
- security_compliance: "1-5"
score: null
team_readiness:
weight: 20%
factors:
- current_expertise: "1-5"
- learning_curve: "1-5"
- hiring_market: "1-5"
score: null
ecosystem_maturity:
weight: 20%
factors:
- community_size: "1-5"
- documentation_quality: "1-5"
- library_availability: "1-5"
score: null
operational:
weight: 20%
factors:
- deployment_complexity: "1-5"
- monitoring_support: "1-5"
- maintenance_burden: "1-5"
score: null
cost:
weight: 15%
factors:
- licensing: "1-5"
- infrastructure: "1-5"
- training: "1-5"
score: null
interpretation:
4.5_plus: "Strong candidate - proceed"
3.5_to_4.4: "Viable - address concerns"
2.5_to_3.4: "Risky - significant gaps"
below_2.5: "Not recommended"
technical_debt_item:
id: "TD-{NUMBER}"
title: "{Short description}"
category: "{architecture | code | infrastructure | testing | documentation}"
quadrant: "{deliberate_prudent | deliberate_reckless | inadvertent_prudent | inadvertent_reckless}"
description: "{Detailed description}"
created_date: "{Date}"
owner: "{Team/Person}"
impact:
development_velocity: "{-X%}"
reliability_risk: "{low | medium | high}"
security_risk: "{low | medium | high}"
effort:
estimate: "{T-shirt: S/M/L/XL}"
sprints: "{Number}"
dependencies: ["{Other work}"]
interest_rate: "{stable | increasing | decreasing}"
recommendation:
action: "{fix | defer | monitor | accept}"
timeline: "{Q1 2025}"
justification: "{Why this recommendation}"
resolution:
status: "{open | in_progress | resolved | wont_fix}"
resolved_date: null
notes: null
technical_roadmap:
year: 2025
q1:
theme: "Foundation"
initiatives:
- name: "Infrastructure modernization"
priority: "P0"
owner: "Platform team"
dependencies: []
- name: "Observability stack"
priority: "P1"
owner: "SRE"
dependencies: ["Infrastructure modernization"]
q2:
theme: "Scale"
initiatives:
- name: "Database sharding"
priority: "P0"
owner: "Data team"
dependencies: ["Infrastructure modernization"]
q3:
theme: "Velocity"
initiatives:
- name: "CI/CD improvements"
priority: "P1"
owner: "DevEx team"
q4:
theme: "Innovation"
initiatives:
- name: "Event-driven architecture"
priority: "P2"
owner: "Architecture team"
Need identified
|
+-- Is this core to our business?
| +-- Yes -> Lean toward Build
| +-- No -> Continue
|
+-- Does a good solution exist?
| +-- No -> Must Build
| +-- Yes -> Continue
|
+-- Can we afford the buy option?
| +-- No -> Must Build
| +-- Yes -> Continue
|
+-- Is time-to-market critical?
| +-- Yes -> Lean toward Buy
| +-- No -> Continue
|
+-- Do we have the expertise to build?
+-- Yes -> Evaluate total cost of ownership
+-- No -> Buy (or hire first)
Team size and domain complexity
|
+-- Small team (<5), Simple domain
| +-- Monolith
|
+-- Small team, Complex domain
| +-- Modular Monolith
|
+-- Large team (10+), Complex domain
| +-- Microservices (with caution)
|
+-- Variable load, Event-driven
| +-- Serverless / Event-driven
|
+-- Strong audit requirements
+-- Event Sourcing + CQRS
anti_patterns:
resume_driven_development:
symptoms:
- "Let's use X because it's cool"
- "This will look great on our blog"
remedy:
- "Require business case for any new tech"
- "Evaluate with scoring matrix"
golden_hammer:
symptoms:
- "We use X for everything"
- "X worked before, it'll work now"
remedy:
- "Match tool to problem domain"
- "Regular tech radar reviews"
not_invented_here:
symptoms:
- "We'll build our own database"
- "Open source isn't good enough"
remedy:
- "Build vs Buy analysis required"
- "TCO comparison mandatory"
analysis_paralysis:
symptoms:
- "We've been evaluating for 6 months"
- "Let's add one more option"
remedy:
- "Time-box decisions"
- "Use decision framework"
- "Accept 'good enough'"
| Decision Type | Time Box | Reversibility | |---------------|----------|---------------| | Tool selection | 1 week | High | | Framework choice | 2 weeks | Medium | | Architecture pattern | 1 month | Low | | Platform migration | 1 quarter | Very Low |
Reckless Prudent
+---------------------+---------------------+
Deliberate | "We don't have time | "We must ship now |
| for design" | and deal with |
| -> Fix ASAP | consequences" |
| | -> Plan paydown |
+---------------------+---------------------+
Inadvertent | "What's layering?" | "Now we know how |
| -> Training needed | we should have |
| | done it" |
| | -> Refactor next |
+---------------------+---------------------+
| Metric | Elite | High | Medium | Low | |--------|-------|------|--------|-----| | Deployment Frequency | On-demand | Daily-Weekly | Weekly-Monthly | Monthly+ | | Lead Time | <1 hour | <1 day | <1 week | 1 month+ | | Change Failure Rate | <5% | 5-10% | 10-15% | 15%+ | | Recovery Time | <1 hour | <1 day | <1 week | 1 month+ |
| Problem | Root Cause | Solution | |---------|-----------|----------| | Decisions get reversed | Poor documentation | Use ADR template | | Tech debt grows unchecked | No visibility | Track with debt template | | Wrong tech choices | No evaluation process | Use scoring matrix | | Roadmap not followed | Unclear priorities | P0/P1/P2 classification |
input_validation:
decision_context:
type: string
min_length: 20
required: true
constraints:
type: object
properties:
budget: { type: string }
timeline: { type: string }
team_expertise: { type: array }
required: false
current_stack:
type: array
items: { type: string }
required: false
Books:
Standards:
testing
Master team dynamics, leadership principles, delegation, 1-on-1s, mentoring, and people management for engineering managers
development
Master performance management, goal-setting, OKRs, reviews, feedback, and metrics for engineering teams
development
Master hiring processes, interviewing, candidate assessment, and building strong engineering teams
development
Master career development, engineering ladders, IDPs, succession planning, and mentoring for engineering teams