- Reduce SKILL.md from 288 to 118 lines - Add trigger phrases: generate tests, analyze coverage, TDD workflow, etc. - Add Table of Contents - Remove marketing language - Move Python tools to scripts/ directory (8 files) - Move sample files to assets/ directory - Create references/ with TDD best practices, framework guide, CI integration - Use imperative voice consistently Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
119 lines
4.2 KiB
Markdown
119 lines
4.2 KiB
Markdown
---
|
|
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
|