
Test Fixing
FreeSystematically identify and fix failing tests with ease.
Free · Opens the source repo
What Test Fixing does
Test Fixing is a skill designed for developers who need to address failing tests in their codebase efficiently. By employing a systematic approach, this skill helps users identify, group, and resolve test failures based on their root causes. The process begins with an initial test run using make test, which highlights all failing tests and categorizes them by error types and affected modules. This structured analysis allows developers to prioritize their fixes based on the impact of the failures and the dependencies involved.
The core of Test Fixing lies in its smart error grouping strategy. It organizes failures by error type, module, and root cause, enabling developers to tackle the most critical issues first. For example, fixing import errors and missing dependencies is prioritized before addressing logic errors. This ensures that the foundational aspects of the code are stable before moving on to more complex issues. The skill also emphasizes a focused fixing process, where developers are encouraged to implement minimal changes and verify each fix before proceeding to the next group of errors.
Test Fixing is particularly useful in continuous integration and deployment (CI/CD) environments, where maintaining a passing test suite is crucial for development workflows. It caters to developers who encounter test failures after code refactoring or when integrating new features, providing them with a clear pathway to restore functionality. The final verification step ensures that after all fixes are applied, the complete test suite can be run to confirm that no regressions have occurred and that test coverage remains intact.
In summary, Test Fixing is an essential skill for developers looking to streamline their testing processes and ensure their code remains robust and reliable. By following the structured methodology provided, users can effectively manage and resolve test failures, leading to more efficient development cycles and higher code quality.
When to use it
Use this skill when you encounter failing tests or need to ensure that tests pass after making changes to the codebase.
When not to use it
This skill may not be suitable for scenarios where tests are passing, or for users looking for a quick fix without understanding the underlying issues.
What you can build with it
Fixing Tests After Refactoring
After refactoring code, a developer uses the skill to identify and fix 15 failing tests systematically.
Resolving CI/CD Failures
When a CI/CD pipeline fails due to test issues, the skill helps the team quickly identify and resolve the underlying problems.
Addressing Multiple Test Failures
A developer encounters various test failures and utilizes the skill to group and fix them efficiently, ensuring a stable codebase.
How to install Test Fixing
View source1. Install with the skills CLI
npx skills add davila7/claude-code-templates/test-fixing --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by davila7Test Fixing
Systematically identify and fix all failing tests using smart grouping strategies.
When to Use
- Explicitly asks to fix tests ("fix these tests", "make tests pass")
- Reports test failures ("tests are failing", "test suite is broken")
- Completes implementation and wants tests passing
- Mentions CI/CD failures due to tests
Systematic Approach
1. Initial Test Run
Run make test to identify all failing tests.
Analyze output for:
- Total number of failures
- Error types and patterns
- Affected modules/files
2. Smart Error Grouping
Group similar failures by:
- Error type: ImportError, AttributeError, AssertionError, etc.
- Module/file: Same file causing multiple test failure
- Root cause: Missing dependencies, API changes, refactoring impacts
Prioritize groups by:
- Number of affected tests (highest impact first)
- Dependency order (fix infrastructure before functionality)
3. Systematic Fixing Process
For each group (starting with highest impact):
-
Identify root cause
- Read relevant code
- Check recent changes with
git diff - Understand the error pattern
-
Implement fix
- Use Edit tool for code changes
- Follow project conventions (see CLAUDE.md)
- Make minimal, focused changes
-
Verify fix
- Run subset of tests for this group
- Use pytest markers or file patterns:
uv run pytest tests/path/to/test_file.py -v uv run pytest -k "pattern" -v - Ensure group passes before moving on
-
Move to next group
4. Fix Order Strategy
Infrastructure first:
- Import errors
- Missing dependencies
- Configuration issues
Then API changes:
- Function signature changes
- Module reorganization
- Renamed variables/functions
Finally, logic issues:
- Assertion failures
- Business logic bugs
- Edge case handling
5. Final Verification
After all groups fixed:
- Run complete test suite:
make test - Verify no regressions
- Check test coverage remains intact
Best Practices
- Fix one group at a time
- Run focused tests after each fix
- Use
git diffto understand recent changes - Look for patterns in failures
- Don't move to next group until current passes
- Keep changes minimal and focused
Example Workflow
User: "The tests are failing after my refactor"
- Run
make test→ 15 failures identified - Group errors:
- 8 ImportErrors (module renamed)
- 5 AttributeErrors (function signature changed)
- 2 AssertionErrors (logic bugs)
- Fix ImportErrors first → Run subset → Verify
- Fix AttributeErrors → Run subset → Verify
- Fix AssertionErrors → Run subset → Verify
- Run full suite → All pass ✓
Frequently asked questions about Test Fixing
Similar skills
Agent Host Debug Logs
Analyze Agent Host debug logs for deeper insights.
Code OSS Dev - Launch + Debug
Launch and debug Code OSS with isolated profiles.
Phoenix CLI
Debug LLM applications with structured analysis tools.
Power Automate Debugging
Diagnose and fix Power Automate flow errors effectively.
Arize Trace
Inspect and export traces for LLM applications.
Runtime Behavior Probe
Investigate real runtime behavior with precision.
