tdd-guide
Comprehensive Test Driven Development guide for engineering subagents with multi-framework support, coverage analysis, and intelligent test generation
What this skill does
# TDD Guide - Test Driven Development for Engineering Teams A comprehensive Test Driven Development skill that provides intelligent test generation, coverage analysis, framework integration, and TDD workflow guidance across multiple languages and testing frameworks. ## Capabilities ### Test Generation - **Generate Test Cases from Requirements**: Convert user stories, API specs, and business requirements into executable test cases - **Create Test Stubs**: Generate test function scaffolding with proper naming, imports, and setup/teardown - **Generate Test Fixtures**: Create realistic test data, mocks, and fixtures for various scenarios ### TDD Workflow Support - **Guide Red-Green-Refactor**: Step-by-step guidance through TDD cycles with validation - **Suggest Missing Scenarios**: Identify untested edge cases, error conditions, and boundary scenarios - **Review Test Quality**: Analyze test isolation, assertions quality, naming conventions, and maintainability ### Coverage & Metrics Analysis - **Calculate Coverage**: Parse LCOV, JSON, and XML coverage reports for line/branch/function coverage - **Identify Untested Paths**: Find code paths, branches, and error handlers without test coverage - **Recommend Improvements**: Prioritized recommendations (P0/P1/P2) for coverage gaps and test quality ### Framework Integration - **Multi-Framework Support**: Jest, Pytest, JUnit, Vitest, Mocha, RSpec adapters - **Generate Boilerplate**: Create test files with proper imports, describe blocks, and best practices - **Configure Test Runners**: Set up test configuration, coverage tools, and CI integration ### Comprehensive Metrics - **Test Coverage**: Line, branch, function coverage with gap analysis - **Code Complexity**: Cyclomatic complexity, cognitive complexity, testability scoring - **Test Quality**: Assertions per test, isolation score, naming quality, test smell detection - **Test Data**: Boundary value analysis, edge case identification, mock data generation - **Test Execution**: Timing analysis, slow test detection, flakiness detection - **Missing Tests**: Uncovered edge cases, error handling gaps, missing integration scenarios ## Input Requirements The skill supports **automatic format detection** for flexible input: ### Source Code - **Languages**: TypeScript, JavaScript, Python, Java - **Format**: Direct file paths or copy-pasted code blocks - **Detection**: Automatic language/framework detection from syntax and imports ### Test Artifacts - **Coverage Reports**: LCOV (.lcov), JSON (coverage-final.json), XML (cobertura.xml) - **Test Results**: JUnit XML, Jest JSON, Pytest JSON, TAP format - **Format**: File paths or raw coverage data ### Requirements (Optional) - **User Stories**: Text descriptions of functionality - **API Specifications**: OpenAPI/Swagger, REST endpoints, GraphQL schemas - **Business Requirements**: Acceptance criteria, business rules ### Input Methods - **Option A**: Provide file paths (skill will read files) - **Option B**: Copy-paste code/data directly - **Option C**: Mix of both (automatically detected) ## Output Formats The skill provides **context-aware output** optimized for your environment: ### Code Files - **Test Files**: Generated tests (Jest/Pytest/JUnit/Vitest) with proper structure - **Fixtures**: Test data files, mock objects, factory functions - **Mocks**: Mock implementations, stub functions, test doubles ### Reports - **Markdown**: Rich coverage reports, recommendations, quality analysis (Claude Desktop) - **JSON**: Machine-readable metrics, structured data for CI/CD integration - **Terminal-Friendly**: Simplified output for Claude Code CLI ### Smart Defaults - **Desktop/Apps**: Rich markdown with tables, code blocks, visual hierarchy - **CLI**: Concise, terminal-friendly format with clear sections - **CI/CD**: JSON output for automated processing ### Progressive Disclosure - **Summary First**: High-level overview (<200 tokens) - **Details on Demand**: Full analysis available (500-1000 tokens) - **Prioritized**: P0 (critical) → P1 (important) → P2 (nice-to-have) ## How to Use ### Basic Usage ``` @tdd-guide I need tests for my authentication module. Here's the code: [paste code or provide file path] Generate comprehensive test cases covering happy path, error cases, and edge cases. ``` ### Coverage Analysis ``` @tdd-guide Analyze test coverage for my TypeScript project. Coverage report: coverage/lcov.info Identify gaps and provide prioritized recommendations. ``` ### TDD Workflow ``` @tdd-guide Guide me through TDD for implementing a password validation function. Requirements: - Min 8 characters - At least 1 uppercase, 1 lowercase, 1 number, 1 special char - No common passwords ``` ### Multi-Framework Support ``` @tdd-guide Convert these Jest tests to Pytest format: [paste Jest tests] ``` ## Scripts ### Core Modules - **test_generator.py**: Intelligent test case generation from requirements and code - **coverage_analyzer.py**: Parse and analyze coverage reports (LCOV, JSON, XML) - **metrics_calculator.py**: Calculate comprehensive test and code quality metrics - **framework_adapter.py**: Multi-framework adapter (Jest, Pytest, JUnit, Vitest) - **tdd_workflow.py**: Red-green-refactor workflow guidance and validation - **fixture_generator.py**: Generate realistic test data and fixtures - **format_detector.py**: Automatic language and framework detection ### Utilities - **complexity_analyzer.py**: Cyclomatic and cognitive complexity analysis - **test_quality_scorer.py**: Test quality scoring (isolation, assertions, naming) - **missing_test_detector.py**: Identify untested paths and missing scenarios - **output_formatter.py**: Context-aware output formatting (Desktop vs CLI) ## Best Practices ### Test Generation 1. **Start with Requirements**: Write tests from user stories before seeing implementation 2. **Test Behavior, Not Implementation**: Focus on what code does, not how it does it 3. **One Assertion Focus**: Each test should verify one specific behavior 4. **Descriptive Names**: Test names should read like specifications ### TDD Workflow 1. **Red**: Write failing test first 2. **Green**: Write minimal code to make it pass 3. **Refactor**: Improve code while keeping tests green 4. **Repeat**: Small iterations, frequent commits ### Coverage Goals 1. **Aim for 80%+**: Line coverage baseline for most projects 2. **100% Critical Paths**: Authentication, payments, data validation must be fully covered 3. **Branch Coverage Matters**: Line coverage alone is insufficient 4. **Don't Game Metrics**: Focus on meaningful tests, not coverage numbers ### Test Quality 1. **Independent Tests**: Each test should run in isolation 2. **Fast Execution**: Keep unit tests under 100ms each 3. **Deterministic**: Tests should always produce same results 4. **Clear Failures**: Assertion messages should explain what went wrong ### Framework Selection 1. **Jest**: JavaScript/TypeScript projects (React, Node.js) 2. **Pytest**: Python projects (Django, Flask, FastAPI) 3. **JUnit**: Java projects (Spring, Android) 4. **Vitest**: Modern Vite-based projects ## Multi-Language Support ### TypeScript/JavaScript - Frameworks: Jest, Vitest, Mocha, Jasmine - Runners: Node.js, Karma, Playwright - Coverage: Istanbul/nyc, c8 ### Python - Frameworks: Pytest, unittest, nose2 - Runners: pytest, tox, nox - Coverage: coverage.py, pytest-cov ### Java - Frameworks: JUnit 5, TestNG, Mockito - Runners: Maven Surefire, Gradle Test - Coverage: JaCoCo, Cobertura ## Limitations ### Scope - **Unit Tests Focus**: Primarily optimized for unit tests (integration tests require different patterns) - **Static Analysis Only**: Cannot execute tests or measure actual code behavior - **Language Support**: Best support for TypeScript, JavaScript, Python, Java (other languages limited) ### Coverage Analysis - **Report Dependency**: Requires existing coverage reports (cannot generate coverage from scratch) - **Format Support**: LCOV, JSON, XM
Related in Code Review
gstack
IncludedFast headless browser for QA testing and site dogfooding. Navigate pages, interact with elements, verify state, diff before/after, take annotated screenshots, test responsive layouts, forms, uploads, dialogs, and capture bug evidence. Use when asked to open or test a site, verify a deployment, dogfood a user flow, or file a bug with screenshots. (gstack)
startup-due-diligence
IncludedLegal due diligence review for seed-stage and Series A startups (US, Delaware C-Corp focus). Supports both investor and founder perspectives. Capabilities include: (1) Interactive document review and issue spotting; (2) Document request list generation; (3) Cap table and SAFE/convertible note analysis; (4) Red flag identification with severity ratings; (5) Diligence report generation. TRIGGERS: due diligence, DD, startup investment, cap table review, Series A, seed round, investor diligence, legal review startup, SAFE analysis, convertible note, 409A, founder vesting.
interview-master
IncludedThis skill should be used when the user asks to "generate interview questions", "prepare for interview", "optimize resume", "conduct mock interview", "analyze git commits for resume", "generate resume from code", "review my resume", or mentions interview preparation, career assistance, or extracting project experience from git history. Provides comprehensive interview and career development guidance for both job seekers and interviewers.
fix-issue
IncludedFixes GitHub issues using parallel analysis agents for root cause investigation, code exploration, and regression detection. Reads issue context from gh CLI, searches codebase and memory for related patterns, generates a fix with tests, and links the resolution back to the issue via PR. Includes prevention analysis to avoid recurrence. Use when debugging errors, resolving regressions, fixing bugs, or triaging issues.
sf-apex
IncludedGenerates and reviews Salesforce Apex code with 150-point scoring. TRIGGER when: user writes, reviews, or fixes Apex classes, triggers, test classes, batch/queueable/schedulable jobs, or touches .cls/.trigger files. DO NOT TRIGGER when: LWC JavaScript (use sf-lwc), Flow XML (use sf-flow), SOQL-only queries (use sf-soql), or non-Salesforce code.
swift-development
IncludedComprehensive Swift development for building, testing, and deploying iOS/macOS applications. Use when Claude needs to: (1) Build Swift packages or Xcode projects from command line, (2) Run tests with XCTest or Swift Testing framework, (3) Manage iOS simulators with simctl, (4) Handle code signing, provisioning profiles, and app distribution, (5) Format or lint Swift code with SwiftFormat/SwiftLint, (6) Work with Swift Package Manager (SPM), (7) Implement Swift 6 concurrency patterns (async/await, actors, Sendable), (8) Create SwiftUI views with MVVM architecture, (9) Set up Core Data or SwiftData persistence, or any other Swift/iOS/macOS development tasks.