Master technical decision-making, architecture choices, technology evaluation, and technical roadmaps for engineering teams
Provides ADR templates, technology evaluation matrices, and technical debt trackers for structured engineering decisions. Triggered when evaluating architectures, selecting tools, or planning technical roadmaps.
/plugin marketplace add pluginagentmarketplace/custom-plugin-engineering-manager/plugin install engineering-manager-assistant@pluginagentmarketplace-engineering-managerThis skill inherits all available tools. When active, it can use any tool Claude has access to.
assets/decision_config.yamlreferences/DECISION_GUIDE.mdscripts/decision_helper.pyProvide 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:
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.