Back to Skills
    🦞

    tdd-guide

    Test-driven development workflow with test generation, coverage

    By @alirezarezvani
    View on GitHub
    SKILL.md
    ---
    name: tdd-guide
    description: Test-driven development workflow with test generation, coverage analysis, and multi-framework support
    triggers:
      - generate tests
      - analyze coverage
      - TDD workflow
      - red green refactor
      - Jest tests
      - Pytest tests
      - JUnit tests
      - coverage report
    ---
    
    # TDD Guide
    
    Test-driven development skill for generating tests, analyzing coverage, and guiding red-green-refactor workflows across Jest, Pytest, JUnit, and Vitest.
    
    ## Table of Contents
    
    - [Capabilities](#capabilities)
    - [Workflows](#workflows)
    - [Tools](#tools)
    - [Input Requirements](#input-requirements)
    - [Limitations](#limitations)
    
    ---
    
    ## Capabilities
    
    | Capability | Description |
    |------------|-------------|
    | Test Generation | Convert requirements or code into test cases with proper structure |
    | Coverage Analysis | Parse LCOV/JSON/XML reports, identify gaps, prioritize fixes |
    | TDD Workflow | Guide red-green-refactor cycles with validation |
    | Framework Adapters | Generate tests for Jest, Pytest, JUnit, Vitest, Mocha |
    | Quality Scoring | Assess test isolation, assertions, naming, detect test smells |
    | Fixture Generation | Create realistic test data, mocks, and factories |
    
    ---
    
    ## Workflows
    
    ### Generate Tests from Code
    
    1. Provide source code (TypeScript, JavaScript, Python, Java)
    2. Specify target framework (Jest, Pytest, JUnit, Vitest)
    3. Run `test_generator.py` with requirements
    4. Review generated test stubs
    5. **Validation:** Tests compile and cover happy path, error cases, edge cases
    
    ### Analyze Coverage Gaps
    
    1. Generate coverage report from test runner (`npm test -- --coverage`)
    2. Run `coverage_analyzer.py` on LCOV/JSON/XML report
    3. Review prioritized gaps (P0/P1/P2)
    4. Generate missing tests for uncovered paths
    5. **Validation:** Coverage meets target threshold (typically 80%+)
    
    ### TDD New Feature
    
    1. Write failing test first (RED)
    2. Run `tdd_workflow.py --phase red` to validate
    3. Implement minimal code to pass (GREEN)
    4. Run `tdd_workflow.py --phase green` to validate
    5. Refactor while keeping tests green (REFACTOR)
    6. **Validation:** All tests pass after each cycle
    
    ---
    
    ## Tools
    
    | Tool | Purpose | Usage |
    |------|---------|-------|
    | `test_generator.py` | Generate test cases from code/requirements | `python scripts/test_generator.py --input source.py --framework pytest` |
    | `coverage_analyzer.py` | Parse and analyze coverage reports | `python scripts/coverage_analyzer.py --report lcov.info --threshold 80` |
    | `tdd_workflow.py` | Guide red-green-refactor cycles | `python scripts/tdd_workflow.py --phase red --test test_auth.py` |
    | `framework_adapter.py` | Convert tests between frameworks | `python scripts/framework_adapter.py --from jest --to pytest` |
    | `fixture_generator.py` | Generate test data and mocks | `python scripts/fixture_generator.py --entity User --count 5` |
    | `metrics_calculator.py` | Calculate test quality metrics | `python scripts/metrics_calculator.py --tests tests/` |
    | `format_detector.py` | Detect language and framework | `python scripts/format_detector.py --file source.ts` |
    | `output_formatter.py` | Format output for CLI/desktop/CI | `python scripts/output_formatter.py --format markdown` |
    
    ---
    
    ## Input Requirements
    
    **For Test Generation:**
    - Source code (file path or pasted content)
    - Target framework (Jest, Pytest, JUnit, Vitest)
    - Coverage scope (unit, integration, edge cases)
    
    **For Coverage Analysis:**
    - Coverage report file (LCOV, JSON, or XML format)
    - Optional: Source code for context
    - Optional: Target threshold percentage
    
    **For TDD Workflow:**
    - Feature requirements or user story
    - Current phase (RED, GREEN, REFACTOR)
    - Test code and implementation status
    
    ---
    
    ## Limitations
    
    | Scope | Details |
    |-------|---------|
    | Unit test focus | Integration and E2E tests require different patterns |
    | Static analysis | Cannot execute tests or measure runtime behavior |
    | Language support | Best for TypeScript, JavaScript, Python, Java |
    | Report formats | LCOV, JSON, XML only; other formats need conversion |
    | Generated tests | Provide scaffolding; require human review for complex logic |
    
    **When to use other tools:**
    - E2E testing: Playwright, Cypress, Selenium
    - Performance testing: k6, JMeter, Locust
    - Security testing: OWASP ZAP, Burp Suite