test-fixing – Coding skill for AI agents
Systematically identify and fix all failing tests using smart grouping strategies. Use when explicitly asks to fix tests (\"fix these tests\", \"make tests pass\"), reports test failures (\"tests are failing\", \"test suite is broken\"), or completes implementation and wants tests passing.
Install the test-fixing skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/test-fixing-272ef.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /test-fixing – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/test-fixing-272ef.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $test-fixing – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/test-fixing-272ef.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /test-fixing – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/test-fixing-272ef.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /test-fixing – then describe the task you want done.
SKILL.md content
Test 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
Read project instructions, dependency manifests and CI configuration to identify the existing test command. Use make test only if that target exists and is the project contract. Inspect fixture/service requirements before running it; do not invoke production operations to obtain a baseline. Preserve pre-existing changes.
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):
1. Identify root cause
- Read relevant code
- Check recent changes with
git diff - Understand the error pattern
2. Implement fix
- Use the host's available file-editing tool for code changes
- Follow applicable project instructions and conventions
- Make minimal, focused changes
3. 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
4. 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 the project's verified complete test command
- 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
- Do not delete assertions, skip failing cases, lower coverage thresholds or change expected behavior merely to obtain green tests. A test update requires evidence that the product contract changed. Report unavailable dependencies, flaky failures and unexecuted checks explicitly.
Example Workflow
User: "The tests are failing after my refactor"
1. In a repository with a verified make test target, run it → 15 failures identified
2. Group errors:
- 8 ImportErrors (module renamed)
- 5 AttributeErrors (function signature changed)
- 2 AssertionErrors (logic bugs)
3. Fix ImportErrors first → Run subset → Verify
4. Fix AttributeErrors → Run subset → Verify
5. Fix AssertionErrors → Run subset → Verify
6. Run full suite → All pass ✓
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Related skills
- test-framework-migration-skill – Migrates and converts test automation scripts between Selenium, Playwright, Puppeteer…
- test-guard – Review generated or changed test code against universal testing rules before it ships or…
- testdriver-e2e-testing – Build E2E tests with TestDriver.ai, the AI code reviewer that runs every pull request in…
- testing-patterns – Jest testing patterns, factory functions, mocking strategies, and TDD workflow. Use when…
- testing-qa – Comprehensive testing and QA workflow covering unit testing, integration testing, E2E…
- testng-skill – Generates TestNG tests in Java with groups, data providers, parallel execution, XML…
- textme – Text Claude from your phone — set up the njerschow/textme daemon so inbound iMessages…
- the-honoured-one – Forces the AI to fully load context and read relevant files before performing complex…