phpunit-runner
Run PHPUnit tests and fix failures using intelligent agent delegation. Use when user requests to:- Run tests (full suite, specific path, or single file)- Fix failing tests- Analyze test failures- Check test coverageDelegates to runner agent (haiku) for execution and fixer agent (sonnet) for fixes.Automatically cycles between run and fix until tests pass or human intervention needed.
When & Why to Use This Skill
The PHPUnit Runner skill automates the end-to-end testing and debugging workflow for PHP applications. By orchestrating specialized AI agents, it executes PHPUnit test suites, analyzes failure logs, and autonomously applies code fixes. This skill streamlines the Quality Assurance process by cycling through test execution and error resolution until the codebase reaches a stable state.
Use Cases
- Automated Test Execution: Quickly run full PHPUnit suites, specific paths, or individual files to verify code integrity after changes.
- Autonomous Bug Fixing: Automatically analyze complex test failure logs and delegate code repairs to a high-intelligence fixer agent (Sonnet) to resolve regressions.
- Continuous Quality Assurance: Maintain a 'green' build status through an automated loop that re-runs tests immediately after fixes are applied.
- Test Coverage Analysis: Check and analyze test coverage reports to identify untested logic and improve overall software reliability.
- Intelligent Escalation: Identify stubborn architectural issues or business logic conflicts that require human intervention or more advanced model analysis.
| name | phpunit-runner |
|---|---|
| description | | |
| allowed-tools | Task |
PHPUnit Runner Skill
This skill provides intelligent PHPUnit test execution and fixing through specialized agent delegation.
Agent Delegation Strategy
This skill delegates to specialized agents via the Task tool:
- php-qa-ci_phpunit-runner agent (haiku model) - Runs tests and parses results
- php-qa-ci_phpunit-fixer agent (sonnet model) - Analyzes and fixes errors
- Escalation - Uses opus model or asks human for stubborn issues
Workflow
When User Says: "Run tests"
Launch runner agent:
Use Task tool: description: "Run PHPUnit test suite" subagent_type: "php-qa-ci_phpunit-runner" prompt: "Run PHPUnit tests and provide summary"Receive runner output with log location
If failures detected:
- Launch fixer agent:
Use Task tool: description: "Fix PHPUnit test failures" subagent_type: "php-qa-ci_phpunit-fixer" prompt: "Fix test failures in log: {log_path}"
- Launch fixer agent:
After fixes applied, re-run via runner agent
Repeat cycle until:
- All tests pass → Success
- Same errors persist 2+ times → Escalate to opus or human
- User intervention needed → Ask user
When User Says: "Fix the test failures"
Check if recent log exists in var/qa/phpunit_logs/
If log found:
- Launch fixer agent directly with log path
If no log:
- Launch runner agent first to generate log
- Then launch fixer agent
Escalation Triggers
Launch opus model or ask human when:
- Fixer agent reports "cannot fix" for same error 2+ times
- Business logic questions arise (test expectations vs code behavior)
- User explicitly requests explanation of failures
Runner Agent Reference
The phpunit-runner agent (haiku model) handles:
- Runtime estimation (refuses full suite if >5min)
- Test execution with proper CI environment
- JUnit XML parsing
- Concise summary generation
See .claude/agents/php-qa-ci_phpunit-runner.md for agent implementation details.
Fixer Agent Reference
The phpunit-fixer agent (sonnet model) handles:
- Log file discovery and parsing
- Error grouping by pattern
- Fix implementation
- Verification that fixes resolve issues
See .claude/agents/php-qa-ci_phpunit-fixer.md for agent implementation details.