Claude Code Plugins

Community-maintained marketplace

Feedback

Comprehensive Test Driven Development guide for engineering subagents with multi-framework support, coverage analysis, and intelligent test generation

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name tdd-guide
description Comprehensive Test Driven Development guide for engineering subagents with multi-framework support, coverage analysis, and intelligent test generation

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, XML only (other formats need conversion)
  • Interpretation Context: Coverage numbers need human judgment for meaningfulness

Test Generation

  • Baseline Quality: Generated tests provide scaffolding, require human review and refinement
  • Complex Logic: Advanced business logic and integration scenarios need manual test design
  • Mocking Strategy: Mock/stub strategies should align with project patterns

Framework Integration

  • Configuration Required: Test runners need proper setup (this skill doesn't modify package.json or pom.xml)
  • Version Compatibility: Generated code targets recent stable versions (Jest 29+, Pytest 7+, JUnit 5+)

When NOT to Use This Skill

  • E2E Testing: Use dedicated E2E tools (Playwright, Cypress, Selenium)
  • Performance Testing: Use JMeter, k6, or Locust
  • Security Testing: Use OWASP ZAP, Burp Suite, or security-focused tools
  • Manual Testing: Some scenarios require human exploratory testing

Example Workflows

Workflow 1: Generate Tests from Requirements

Input: User story + API specification
Process: Parse requirements → Generate test cases → Create test stubs
Output: Complete test files ready for implementation

Workflow 2: Improve Coverage

Input: Coverage report + source code
Process: Identify gaps → Suggest tests → Generate test code
Output: Prioritized test cases for uncovered code

Workflow 3: TDD New Feature

Input: Feature requirements
Process: Guide red-green-refactor → Validate each step → Suggest refactorings
Output: Well-tested feature with clean code

Workflow 4: Framework Migration

Input: Tests in Framework A
Process: Parse tests → Translate patterns → Generate equivalent tests
Output: Tests in Framework B with same coverage

Integration Points

CI/CD Integration

  • Parse coverage reports from CI artifacts
  • Generate coverage badges and reports
  • Fail builds on coverage thresholds
  • Track coverage trends over time

IDE Integration

  • Generate tests for selected code
  • Run coverage analysis on save
  • Highlight untested code paths
  • Quick-fix suggestions for test gaps

Code Review

  • Validate test coverage in PRs
  • Check test quality standards
  • Identify missing test scenarios
  • Suggest improvements before merge

Version Support

  • Node.js: 16+ (Jest 29+, Vitest 0.34+)
  • Python: 3.8+ (Pytest 7+)
  • Java: 11+ (JUnit 5.9+)
  • TypeScript: 4.5+

Related Skills

This skill works well with:

  • code-review: Validate test quality during reviews
  • refactoring-assistant: Maintain tests during refactoring
  • ci-cd-helper: Integrate coverage in pipelines
  • documentation-generator: Generate test documentation