All skills
davila7 avatar

/cto-advisor

@af0b992

Technical leadership guidance for engineering teams, architecture decisions, and technology strategy. Includes tech debt analyzer, team scaling calculator, engineering metrics frameworks, technology evaluation tools, and ADR templates. Use when assessing technical debt, scaling engineering teams, evaluating technologies, making architecture decisions, establishing engineering metrics, or when user mentions CTO, tech debt, technical debt, team scaling, architecture decisions, technology evaluation, engineering metrics, DORA metrics, or technology strategy.

Use this Skill: https://skilld.dev/gh/davila7/claude-code-templates/cto-advisor

This session only. Nothing lands on disk.

referencesarchitecture_decision_records.md

≈2.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Architecture Decision Records (ADR) Framework

What is an ADR?

Architecture Decision Records capture important architectural decisions made along with their context and consequences. They help maintain institutional knowledge and explain why systems are built the way they are.

ADR Template

ADR-[NUMBER]: [TITLE]

Date: YYYY-MM-DD
Status: [Proposed | Accepted | Deprecated | Superseded]
Deciders: [List of people involved in decision]
Technical Story: [Ticket/Issue reference]

Context and Problem Statement

[Describe the context and problem that needs to be solved. What are we trying to achieve?]

Decision Drivers
  • [Driver 1: e.g., Performance requirements]
  • [Driver 2: e.g., Time to market]
  • [Driver 3: e.g., Team expertise]
  • [Driver 4: e.g., Cost constraints]
Considered Options
  1. Option 1: [Name]
  2. Option 2: [Name]
  3. Option 3: [Name]
Decision Outcome

Chosen option: "[Option Name]", because [justification]

Positive Consequences
  • [Consequence 1]
  • [Consequence 2]
Negative Consequences
  • [Risk 1 and mitigation]
  • [Risk 2 and mitigation]
Pros and Cons of Options
Option 1: [Name]
  • Pros:
    • [Advantage 1]
    • [Advantage 2]
  • Cons:
    • [Disadvantage 1]
    • [Disadvantage 2]
Option 2: [Name]

[Repeat structure]

Links
  • [Related ADRs]
  • [Documentation]
  • [Research/PoCs]

Example ADRs

ADR-001: Microservices Architecture

Date: 2024-01-15
Status: Accepted
Deciders: CTO, VP Engineering, Tech Leads
Technical Story: ARCH-001

Context and Problem Statement

Our monolithic application is becoming difficult to scale and deploy. Different teams are stepping on each other's toes, and deployment cycles are getting longer. We need to decide on our architectural approach for the next 3-5 years.

Decision Drivers
  • Need for independent team deployment
  • Requirement to scale different components independently
  • Different components have different performance characteristics
  • Team size growing from 25 to 75+ engineers
  • Need to support multiple technology stacks
Considered Options
  1. Keep Monolith: Continue with current architecture
  2. Modular Monolith: Break into modules but single deployment
  3. Microservices: Full service-oriented architecture
  4. Serverless: Function-as-a-Service approach
Decision Outcome

Chosen option: "Microservices", because it best supports our team autonomy needs and scaling requirements, despite added complexity.

Positive Consequences
  • Teams can deploy independently
  • Services can scale based on individual needs
  • Technology diversity is possible
  • Fault isolation improved
Negative Consequences
  • Increased operational complexity - Mitigated by investing in DevOps
  • Network latency between services - Mitigated by careful service boundaries
  • Data consistency challenges - Mitigated by event sourcing patterns

ADR-002: Container Orchestration Platform

Date: 2024-02-01
Status: Accepted
Deciders: CTO, DevOps Lead, Platform Team
Technical Story: INFRA-045

Context and Problem Statement

With the move to microservices (ADR-001), we need a container orchestration platform to manage deployment, scaling, and operations of application containers.

Decision Drivers
  • Need for automated deployment and scaling
  • High availability requirements (99.9% SLA)
  • Multi-cloud strategy (avoid vendor lock-in)
  • Team familiarity and ecosystem maturity
  • Cost considerations
Considered Options
  1. Kubernetes: Industry standard, self-managed
  2. Amazon ECS: AWS-native solution
  3. Docker Swarm: Simpler alternative
  4. Nomad: HashiCorp solution
Decision Outcome

Chosen option: "Kubernetes", because of its maturity, ecosystem, and multi-cloud support.

Positive Consequences
  • Industry standard with huge ecosystem
  • Multi-cloud compatible
  • Strong community support
  • Extensive tooling available
Negative Consequences
  • Steep learning curve - Mitigated by training and hiring
  • Operational complexity - Mitigated by managed Kubernetes (EKS/GKE)

ADR-003: API Gateway Strategy

Date: 2024-03-15
Status: Accepted
Deciders: CTO, Security Lead, API Team
Technical Story: API-101

Context and Problem Statement

With multiple microservices, we need a unified entry point for external clients that handles cross-cutting concerns like authentication, rate limiting, and monitoring.

Decision Drivers
  • Security requirements (OAuth2, API keys)
  • Need for rate limiting and throttling
  • Monitoring and analytics requirements
  • Developer experience for API consumers
  • Performance (sub-100ms overhead)
Considered Options
  1. Kong: Open-source, plugin ecosystem
  2. AWS API Gateway: Managed service
  3. Istio/Envoy: Service mesh approach
  4. Build Custom: In-house solution
Decision Outcome

Chosen option: "Kong", because of its flexibility and plugin ecosystem while avoiding vendor lock-in.


Common Architecture Decisions

1. Frontend Architecture

  • Single Page Application (SPA) vs Server-Side Rendering (SSR) vs Static Site Generation (SSG)
  • React vs Vue vs Angular vs Svelte
  • Monorepo vs Polyrepo
  • Micro-frontends vs Monolithic frontend

2. Backend Architecture

  • Monolith vs Microservices vs Serverless
  • REST vs GraphQL vs gRPC
  • Synchronous vs Asynchronous communication
  • Event-driven vs Request-response

3. Data Architecture

  • SQL vs NoSQL vs NewSQL
  • Single database vs Database per service
  • CQRS vs Traditional CRUD
  • Event Sourcing vs State-based storage

4. Infrastructure Decisions

  • Cloud provider: AWS vs Azure vs GCP vs Multi-cloud
  • Containers vs VMs vs Serverless
  • Kubernetes vs ECS vs Cloud Run
  • Self-hosted vs Managed services

5. Development Practices

  • Continuous Deployment vs Continuous Delivery
  • Feature flags vs Branch-based deployment
  • Blue-green vs Canary vs Rolling deployment
  • GitFlow vs GitHub Flow vs GitLab Flow

ADR Best Practices

Writing Good ADRs

  1. Keep them short: 1-2 pages maximum
  2. Be specific: Include concrete examples
  3. Document why, not what: Focus on reasoning
  4. Include all options: Even obviously bad ones
  5. Be honest about drawbacks: Every decision has trade-offs

When to Write ADRs

Write an ADR when:

  • The decision has significant impact
  • Multiple options were seriously considered
  • The decision is hard to reverse
  • You find yourself explaining the same decision repeatedly
  • There's disagreement about the approach

ADR Lifecycle

  1. Proposed: Under discussion
  2. Accepted: Decision made and being implemented
  3. Deprecated: No longer relevant but kept for history
  4. Superseded: Replaced by another ADR

Storage and Discovery

  • Store ADRs in your main repository under docs/architecture/decisions/
  • Use consistent numbering (ADR-001, ADR-002, etc.)
  • Create an index file linking all ADRs
  • Reference ADRs in code comments where relevant
  • Review ADRs regularly (quarterly) for relevance

Decision Evaluation Framework

Technical Factors (40%)

  • Performance impact
  • Scalability potential
  • Security implications
  • Maintainability
  • Technical debt

Business Factors (30%)

  • Time to market
  • Cost (initial and ongoing)
  • Revenue impact
  • Competitive advantage
  • Regulatory compliance

Team Factors (30%)

  • Current expertise
  • Learning curve
  • Hiring availability
  • Team preference
  • Training requirements

Anti-patterns to Avoid

  1. Decision by Committee: Too many stakeholders leading to compromise solutions
  2. Analysis Paralysis: Over-analyzing instead of deciding
  3. Resume-Driven Development: Choosing tech for personal goals
  4. Hype-Driven Development: Choosing the newest/coolest tech
  5. Not-Invented-Here: Rejecting external solutions by default
  6. Vendor Lock-in: Over-dependence on proprietary solutions
  7. Premature Optimization: Solving problems you don't have yet
  8. Under-documentation: Not capturing the "why" behind decisions

Review Checklist

Before finalizing an ADR, ensure:

  • Problem is clearly stated
  • All realistic options are considered
  • Trade-offs are honestly evaluated
  • Decision rationale is clear
  • Consequences are identified
  • Mitigation strategies are defined
  • Success metrics are established
  • Review date is set (if applicable)

Source: SKILL.md on GitHub

1 warning15d5 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    The skill provides technical leadership guidance and analytical tools for engineering management. It is functional and contains no malicious code, although it has a theoretical vulnerability to indirect prompt injection due to how it processes input data.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW · No issues

  • Runlayer7mo

    6/6 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at af0b992. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 15 hours ago.

Activeupdated 10 months ago
Other metadata
metadata
{
  "version": "1.0.0",
  "author": "Alireza Rezvani",
  "category": "c-level",
  "domain": "cto-leadership",
  "updated": "2025-10-20",
  "python-tools": "tech_debt_analyzer.py, team_scaling_calculator.py",
  "frameworks": "DORA-metrics, architecture-decision-records, engineering-metrics",
  "tech-stack": "engineering-management, team-organization"
}

README badge

README badge for davila7/claude-code-templates/cto-advisor