test-writer
The test-writer skill generates comprehensive test suites for existing code by analyzing source files to identify all public functions and methods, then creating tests across multiple coverage categories including happy paths, edge cases, error scenarios, and integration points. Use this skill when you need to add test coverage to a codebase, particularly when integrating new code into projects with established testing patterns that should be replicated.
git clone --depth 1 https://github.com/vstorm-co/pydantic-deepagents /tmp/test-writer && cp -r /tmp/test-writer/pydantic_deep/bundled_skills/test-writer ~/.claude/skills/test-writerSKILL.md
# Test Writer Generate comprehensive tests for the target code. ## Process 1. Read the source code to understand all public functions/methods 2. Identify the testing framework already used in the project (pytest, unittest, etc.) 3. Follow existing test patterns and conventions in the project 4. Write tests covering all categories below ## Coverage Strategy ### Happy Path - Normal inputs with expected outputs - All public methods/functions ### Edge Cases - Empty inputs (empty string, empty list, None) - Boundary values (0, -1, max int) - Single element collections ### Error Cases - Invalid input types - Missing required arguments - Network/IO failures (mock external calls) ### Integration - Multiple functions working together - State changes across calls ## Guidelines - One test function per behavior, not per method - Descriptive test names: `test_<what>_<condition>_<expected>` - Use fixtures for shared setup - Mock external dependencies (APIs, databases, filesystem) - Assert specific values, not just truthiness - Test both return values and side effects
Building, compiling, and resolving dependency issues across languages
Systematic code review for bugs, security, style, and performance
Working with diverse data formats: binary, text, structured, and custom
Systematic exploration of unknown environments before starting work
Git operations: commits, branches, PRs, and conflict resolution
Writing efficient code that handles large data and tight constraints
Refactor code to improve structure and maintainability
Create new reusable skills from conversation context