Agent skill
fixing-tests
Use when tests are failing, test quality issues were identified, or user wants to fix/improve specific tests
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/fixing-tests
SKILL.md
Fixing Tests
Surgical test remediation. Three input modes, phased execution, verified output.
Invariant Principles
- Tests catch bugs, not green checkmarks. Every fix must detect real failures, not just pass.
- Production bugs are not test issues. Flag and escalate; never silently "fix" broken behavior.
- Read before fixing. Never guess at code structure or blindly apply suggestions.
- Verify proves value. Unverified fixes are unfinished fixes.
- Scope discipline. Fix tests, not features. No over-engineering, no under-testing.
Inputs
| Input | Required | Description |
|---|---|---|
audit_report |
No | Structured findings from green-mirage-audit with YAML block, patterns 1-8 |
general_instructions |
No | User description like "fix tests in X" or "test_foo is broken" |
run_and_fix |
No | Request to run suite and fix failures ("get suite green") |
commit_strategy |
No | Per-fix (recommended), batch-by-file, or single commit |
One of the three input modes required. If unclear, ask user to clarify target.
Outputs
| Output | Type | Description |
|---|---|---|
fixed_tests |
Code changes | Modified test files with strengthened/corrected assertions |
summary_report |
Inline | Metrics table: total items, fixed, stuck, production bugs |
production_bugs |
Inline | List of production bugs discovered with recommended actions |
stuck_items |
Inline | Items that couldn't be fixed with recommendations |
Input Mode Detection
| Mode | Detection | Action |
|---|---|---|
audit_report |
Structured findings with patterns 1-8, "GREEN MIRAGE" verdicts, audit file reference | Parse YAML block, extract findings |
general_instructions |
"Fix tests in X", "test_foo is broken", references to specific tests | Extract target tests/files |
run_and_fix |
"Run tests and fix failures", "get suite green" | Run tests, parse failures |
If unclear: ask user to clarify target.
Phase 0: Input Processing
Build WorkItem list:
interface WorkItem {
id: string;
priority: "critical" | "important" | "minor" | "unknown";
test_file: string;
test_function?: string;
pattern?: number; // 1-8 from green mirage
blind_spot?: string; // What broken code would pass
error_message?: string; // For run_and_fix mode
}
Optional: ask commit strategy (per-fix recommended, batch-by-file, single).
Phase 1: Discovery (run_and_fix only)
Skip for audit_report/general_instructions modes.
Run test suite, parse failures into WorkItems with error_type, message, stack trace.
Phase 2: Fix Execution
Process by priority: critical > important > minor.
For EACH work item:
2.1 Investigate
Read test file + production code. Audit suggestions are starting points, not gospel.
2.2 Classify Fix Type
| Situation | Fix |
|---|---|
| Weak assertions (green mirage) | Strengthen to verify actual content |
| Missing edge cases | Add test cases |
| Wrong expectations | Correct expectations |
| Broken setup | Fix setup, not weaken test |
| Flaky (timing/ordering) | Mock/control non-determinism |
| Tests implementation details | Rewrite to test behavior |
| Production code buggy | STOP and report (see below) |
2.3 Production Bug Protocol
PRODUCTION BUG DETECTED
Test: [test_function]
Expected: [what test expects]
Actual: [what code does]
Options:
A) Fix production bug (test will pass)
B) Update test to match buggy behavior (not recommended)
C) Skip test, create issue
Do NOT silently fix production bugs as "test fixes." </CRITICAL>
2.4 Apply and Verify
# Run fixed test
pytest path/to/test.py::test_function -v
# Check file for side effects
pytest path/to/test.py -v
Verification:
- Specific test passes
- File tests still pass
- Fix would catch actual failure
2.5 Commit (if per-fix strategy)
fix(tests): strengthen assertions in test_function
- [What was weak/broken]
- [What fix does]
- Pattern: N - [name] (if from audit)
Phase 3: Batch Processing
FOR priority IN [critical, important, minor]:
FOR item IN work_items[priority]:
Execute Phase 2
IF stuck after 2 attempts: add to stuck_items, continue
Phase 4: Final Verification
Run full test suite. Report:
| Metric | Value |
|---|---|
| Total items | N |
| Fixed | X |
| Stuck | Y |
| Production bugs | Z |
Include stuck items with recommendations, production bugs with actions.
Special Cases
Flaky tests: Identify non-determinism source, mock/control it. Use deterministic waits, not sleep-and-hope.
Implementation-coupled tests: Rewrite to test behavior through public interface.
Missing tests entirely: Read production code, identify key behaviors, write tests following codebase patterns.
Green Mirage Audit Integration
Parse YAML block between --- markers. Use remediation_plan.phases for execution order. Honor depends_on dependencies. Batch by file when possible.
Fallback: parse legacy markdown format by **Finding #N:** headers.
Self-Check
Before completing:
- All items processed or marked stuck
- Each fix verified to pass
- Each fix verified to catch failure it should
- Full suite ran at end
- Production bugs flagged, not silently fixed
- Commits follow strategy
- Summary provided
If ANY unchecked: STOP and fix.
<FINAL_EMPHASIS> Fix it. Prove it works. Move on. No over-engineering. No under-testing. </FINAL_EMPHASIS>
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?