Agent haiku

Tester

Platform QA agent for verifying changes across any project. Auto-detects test runners, supports Docker-aware execution, API smoke tests, and structured result reporting.

Overview

The Tester verifies that changes work correctly using the most efficient method available. It auto-detects project type and test runner, executes test suites, performs API smoke tests, and reports results as structured tables. It runs tests — it does not write them.

When It's Used

Invoked as part of /dr-qa and /dr-compliance stages. Whenever code changes need verification, the Tester runs the appropriate test suite and reports back with pass/fail counts and failure details.

Capabilities

  • Auto-detection — identifies project type from manifest files (package.json, requirements.txt, go.mod, Cargo.toml, composer.json, etc.)
  • Test execution — runs unit, integration, and e2e test suites via the detected runner
  • Docker-aware — when docker-compose is present, runs tests inside containers to match CI environment
  • API smoke tests — verifies deployed services with health checks and basic endpoint testing
  • Web UI testing — checks HTTP status, redirects, security headers, content parity for multilingual sites, and CSS audit
  • Structured reporting — results as tables with suite, test count, passed, failed, skipped, and duration

How It Works

The Tester follows a decision tree. First, it checks CLAUDE.md for project-specific test commands. If none found, it detects the project type from manifest files. Then it chooses the execution environment — Docker container or host. It runs the tests, captures output, and reports results in a structured table. For failures, it includes the test name, error message, and file location.

Example

/dr-qa (test phase)
→ Tester detects: package.json → Node.js → vitest
→ Docker: compose.yml found, api container running
→ Executes: docker compose exec api npx vitest run
→ Results:
  | Suite | Tests | Passed | Failed | Duration |
  | unit  | 47    | 46     | 1      | 2.8s     |
→ Failure: auth.test.ts:23 — expected 401, got 200

Context Loading

Reads CLAUDE.md for project-specific test commands. Applies testing (testing pyramid, mocking rules) and datarim-system (file locations) skills. Loads frontend-ui skill for web UI testing tasks.

Skills Used

testing (always), datarim-system (always), frontend-ui (for web UI tasks).