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.
Use this skill when tests fail during the verification phase of a feature in a swarm-based development process.
Avoid using it for failures caused by infrastructure (database, network) or major architectural issues requiring redesign.
Security analysis
SafeThe 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 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.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
- Analyze the test output - Identify which tests failed and why
- Determine root cause - What's the underlying issue?
- Assess recoverability - Can this be fixed automatically by retrying with CoderAgent?
- 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.
TDD Red-Green-Refactor
Testing
Skill that guides Claude through the complete TDD cycle.
Web Accessibility Audit
Testing
Performs a comprehensive web accessibility audit following WCAG standards.
UAT Test Case Generator
Testing
Generates structured and comprehensive user acceptance test cases.