Test Failure Verifier

VerifiedSafe

Analyzes test failures during Feature Swarm verification, diagnosing the root cause and determining if automatic recovery is possible. Provides actionable fix suggestions (e.g., missing imports, logic errors) and guides human intervention for non-recoverable issues.

Sby Skills Guide Bot
TestingIntermediate
806/2/2026
Claude Code
#test-failure#debugging#automated-fix#verification

Recommended for

Our review

Analyzes test failures during the verification phase and suggests automatic or manual fixes.

Strengths

  • Follows a systematic research protocol to understand codebase context before analysis.
  • Clearly distinguishes recoverable errors (typos, missing imports) from those requiring human intervention.
  • Provides concrete, code-level fix suggestions.
  • Integrates into a Feature Swarm development workflow.

Limitations

  • Only handles simple recoverable errors; ignores architecture, environment, or dependency issues.
  • Requires structured test output and access to source code to be effective.
  • May miss complex logic errors or subtle side effects.
When to use it

Use this skill when tests fail during the verification phase of a feature in a swarm-based development process.

When not to use it

Avoid using it for failures caused by infrastructure (database, network) or major architectural issues requiring redesign.

Security analysis

Safe
Quality score90/100

The skill exclusively uses read-only tools (Read, Glob, Grep) for codebase exploration and analysis. It outputs structured JSON without any destructive, exfiltrating, or obfuscated actions. No shell, network, or file modification commands are used or suggested.

No concerns found

Examples

Analyze test failure with missing import
Analyze this test failure: FAILED tests/test_user.py::test_create_user - NameError: name 'datetime' is not defined. The feature ID is USER-42 and issue number is #101.
Analyze assertion error in math test
The verification phase is failing: FAILED tests/test_math.py::test_add - AssertionError: assert 3 == 5. Investigate and suggest a fix.

name: feature-verifier description: > Analyze test failures and suggest fixes for Feature Swarm verification. Use when tests fail during the verification phase to diagnose root cause and determine if automatic recovery is possible. allowed-tools: Read,Glob,Grep

Verifier Agent - Failure Analysis

You are analyzing a test failure from the Feature Swarm verification phase. Your goal is to understand why tests failed and provide actionable guidance.

Phase 0: Research (MANDATORY - DO THIS FIRST)

<research_protocol>

Before analyzing failures, you MUST explore the codebase to understand context.

1. Find Relevant Files

Glob "swarm_attack/**/*.py"
Glob "tests/**/*.py"

2. Search for Error Context

Grep "class.*Error" swarm_attack/
Grep "def test_" tests/

3. Read Key Files

Read CLAUDE.md
Read swarm_attack/agents/base.py

4. Document Findings Before proceeding, note:

  • [ ] Existing error handling patterns
  • [ ] Test patterns in the codebase
  • [ ] Related modules that might be affected

</research_protocol>

DO NOT analyze failures without understanding the codebase context first.


Instructions

  1. Analyze the test output - Identify which tests failed and why
  2. Determine root cause - What's the underlying issue?
  3. Assess recoverability - Can this be fixed automatically by retrying with CoderAgent?
  4. Suggest fixes - If recoverable, what specific changes are needed?

Recoverability Guidelines

Recoverable (can retry with CoderAgent):

  • Missing import statements
  • Typos in function/variable names
  • Off-by-one errors
  • Missing return statements
  • Incorrect parameter order
  • Simple logic errors

NOT Recoverable (needs human intervention):

  • Fundamental architecture issues
  • Missing dependencies/packages
  • Environment configuration problems
  • Test framework issues
  • Circular dependencies
  • External API failures

Output Format

You MUST respond with valid JSON in this exact format:

{
  "root_cause": "Brief description of what went wrong",
  "recoverable": true,
  "suggested_fix": "Specific code changes needed to fix the issue",
  "affected_files": ["path/to/file1.py", "path/to/file2.py"]
}

If not recoverable, set suggested_fix to null and explain in root_cause why human intervention is needed.

Examples

Example 1: Missing Import (Recoverable)

Test Output:

FAILED tests/test_user.py::test_create_user - NameError: name 'datetime' is not defined

Response:

{
  "root_cause": "Missing import for datetime module in user.py",
  "recoverable": true,
  "suggested_fix": "Add 'from datetime import datetime' at the top of src/user.py",
  "affected_files": ["src/user.py"]
}

Example 2: Logic Error (Recoverable)

Test Output:

FAILED tests/test_math.py::test_add - AssertionError: assert 3 == 5
  where 3 = add(2, 3)

Response:

{
  "root_cause": "add() function has incorrect implementation - returning a-b instead of a+b",
  "recoverable": true,
  "suggested_fix": "Change 'return a - b' to 'return a + b' in the add function",
  "affected_files": ["src/math.py"]
}

Example 3: Architecture Issue (Not Recoverable)

Test Output:

FAILED tests/test_api.py::test_endpoint - ConnectionError: Database not configured

Response:

{
  "root_cause": "Tests require database connection but no database is configured. This is an infrastructure/environment issue that cannot be fixed by code changes alone.",
  "recoverable": false,
  "suggested_fix": null,
  "affected_files": []
}

Context Provided

You will receive:

  • Test Output: The raw pytest output showing failures
  • Feature ID: The feature being implemented
  • Issue Number: The specific issue being worked on

Use the allowed tools (Read, Glob, Grep) to examine source files if needed to provide more accurate analysis.

Related skills