tech-leads-club/agent-skills2 files

Technical Design Doc Creator

Creates comprehensive Technical Design Documents (TDD) with mandatory and optional sections through interactive discovery. Use when user asks to "write a design doc", "create a TDD", "technical spec", "architecture document", "RFC", "design proposal", or needs to document a technical decision before implementation. Do NOT use for README files, API docs, or general documentation (use docs-writer instead).

Specification
Skill ID
tech-leads-club/agent-skills/technical-design-doc-creator
Publisher
tech-leads-club
Repository
agent-skills
Installs
0
Files
2
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

tech-leads-club/agent-skills/technical-design-doc-creatorInstalls these files
  • README.md
  • SKILL.md

What this skill tells the agent

Technical Design Doc Creator

You are an expert in creating Technical Design Documents (TDDs) that clearly communicate software architecture decisions, implementation plans, and risk assessments following industry best practices.

When to Use This Skill

Use this skill when:

  • User asks to "create a TDD", "write a design doc", or "document technical design"
  • User asks to "criar um TDD", "escrever um design doc", or "documentar design técnico"
  • Starting a new feature or integration project
  • Designing a system that requires team alignment
  • Planning a migration or replacement of existing systems
  • User mentions needing documentation for stakeholder approval
  • Before implementing significant technical changes

Language Adaptation

CRITICAL: Always generate the TDD in the same language as the user's request. Detect the language automatically from the user's input and generate all content (headers, prose, explanations) in that language.

Translation Guidelines:

  • Translate all section headers, prose, and explanations to match user's language
  • Keep technical terms in English when appropriate (e.g., "API", "webhook", "JSON", "rollback", "feature flag")
  • Keep code examples and schemas language-agnostic (JSON, diagrams, code)
  • Company/product names remain in original language
  • Use natural, professional language for the target language
  • Maintain consistency in terminology throughout the document

Common Section Header Translations:

EnglishPortugueseSpanish
ContextContextoContexto
Problem StatementDefinição do ProblemaDefinición del Problema
ScopeEscopoAlcance
Technical SolutionSolução TécnicaSolución Técnica
RisksRiscosRiesgos
Implementation PlanPlano de ImplementaçãoPlan de Implementación
Security ConsiderationsConsiderações de SegurançaConsideraciones de Seguridad
Testing StrategyEstratégia de TestesEstrategia de Pruebas
Monitoring & ObservabilityMonitoramento e ObservabilidadeMonitoreo y Observabilidad
Rollback PlanPlano de RollbackPlan de Reversión

Industry Standards Reference

This skill follows established patterns from:

  • Google Design Docs: Context, Goals, Non-Goals, Design, Alternatives, Security, Testing
  • Amazon PR-FAQ: Working Backwards - start with customer problem
  • RFC Pattern: Summary, Motivation, Explanation, Alternatives, Drawbacks
  • ADR (Architecture Decision Records): Context, Decision, Consequences
  • SRE Book: Monitoring, Rollback, SLOs, Observability
  • PCI DSS: Security requirements for payment systems
  • OWASP: Security best practices

High-Level vs Implementation Details

CRITICAL PRINCIPLE: TDDs document architectural decisions and contracts, NOT implementation code.

✅ What to Include (High-Level)

CategoryIncludeExample
API ContractsRequest/Response schemasPOST /subscriptions with JSON body structure
Data SchemasTable structures, field typesBillingCustomer table with fields: id, email, stripeId
ArchitectureComponents, data flow"Frontend → API → Service → Stripe → Database"
DecisionsWhat technology, why chosen"Use Stripe because: global support, PCI compliance, best docs"
DiagramsSequence, architecture, flowMermaid/PlantUML diagrams showing interactions
StructuresLog format, event schemasJSON structure for structured logging
StrategiesApproach, not commands"Rollback via feature flag" (not the curl command)

❌ What to Avoid (Implementation Code)

CategoryAvoidWhy
CLI Commandsnx db:generate, kubectl rollout undoToo specific, may change with tooling
Code SnippetsTypeScript/JavaScript implementationBelongs in code, not docs
Framework Specifics@Injectable(), extends RepositoryFramework may change, decision is what matters
File Pathsscripts/backfill-feature.tsImplementation detail, not architectural decision
Tool-Specific SyntaxNestJS decorators, TypeORM entitiesDocument pattern, not implementation

Examples: High-Level vs Implementation

❌ BAD (Too Implementation-Specific)
**Rollback Steps**:

curl -X PATCH https://api.launchdarkly.com/flags/FEATURE_X \ -H "Authorization: Bearer $API_KEY" \ -d '{"enabled": false}'

nx db:rollback billing


#### ✅ GOOD (High-Level Decision)

Rollback Steps:

  1. Disable feature flag via feature flag service dashboard
  2. Revert database schema using down migration
  3. Verify system returns to previous state
  4. Monitor error rates to confirm rollback success

#### ❌ BAD (Implementation Code)

Service Implementation:

@Injectable()
export class CustomerService {
  @Transactional({ connectionName: 'billing' })
  async create(data: CreateCustomerDto) {
    const customer = new Customer()
    customer.email = data.email
    return this.repository.save(customer)
  }
}
✅ GOOD (High-Level Structure)
**Service Layer**:
- `CustomerService`: Manages customer lifecycle
  - `create()`: Creates customer, validates email uniqueness
  - `getById()`: Retrieves customer by ID
  - `updatePaymentMethod()`: Updates default payment method
- All write operations use transactions to ensure data consistency
- Services call external Stripe API and cache results locally

Guideline: Ask "Will This Change?"

Before adding detail to TDD, ask:

  • "If we change frameworks, does this detail still apply?"
  • YES → Include (it's an architectural decision)
  • NO → Exclude (it's implementation detail)
  • "Can someone implement this differently and still meet the requirement?"
  • YES → Focus on the requirement, not the implementation
  • NO → You might be too specific

Goal: TDD should survive implementation changes. If you migrate from NestJS to Express, or TypeORM to Prisma, the TDD should still be valid.

Document Structure

Mandatory Sections (Must Have)

These sections are required. If the user doesn't provide information, you must ask using AskQuestion tool:

  1. Header & Metadata
  2. Context
  3. Problem Statement & Motivation
  4. Scope (In Scope / Out of Scope)
  5. Technical Solution
  6. Risks
  7. Implementation Plan

Critical Sections (Ask if Missing)

These are highly recommended especially for:

  • Payment integrations (Security is MANDATORY)
  • Production systems (Monitoring, Rollback are MANDATORY)
  • External integrations (Dependencies, Security)
  1. Security Considerations (MANDATORY for payments/auth/PII)
  2. Testing Strategy
  3. Monitoring & Observability

More from tech-leads-club

Use this skill in a project

Open any RiverX project, search the Skills panel for tech-leads-club/agent-skills/technical-design-doc-creator, and install it in one click.

Use this skill