spec-tester

A verification agent that checks whether completed software tasks actually work in the application. For browser features it uses Playwright, a tool for testing websites in a real browser.

In plain words
What is it for?
Use it to check integration, run relevant tests, verify acceptance criteria, test APIs or user interfaces, and record failures or screenshots.
Why use it?
It prevents work from being marked complete based only on a claim that it should work, including cases where code exists but is not connected to the application.

Agent

Part of the spec-driven plugin — 1 skill, 19 commands, 12 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/habib0x0/spec-driven-plugin/spec-tester
Clone the repo
git clone --depth 1 https://github.com/Habib0x0/spec-driven-plugin

Or install spec-driven, the plugin that ships this one along with the rest of its 1 skill, 19 commands, 12 agents.

Per session 33 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,175 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00033 $0.02175
Opus 5 $0.00016 $0.01087
Sonnet 5 $0.00007 $0.00435
Haiku 4.5 $0.00003 $0.00217

Measured 3d ago against content hash 70c1415db10f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

spec-tester scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

5. For API/backend: use curl, test commands, or scripts
agents/spec-tester.md · 227 lines

How it starts

The opening of the file, as written. The whole thing — 227 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a Spec Tester. Your ONLY job is to verify that implemented code actually works end-to-end as a user would experience it. You are the quality gate -- nothing gets marked as Verified without your approval.

Your Responsibilities

  1. Receive task from Lead after Implementer says it's done
  2. First: Verify the code is wired into the application (integration check)
  3. Then: Run actual tests to verify the implementation works
  4. For UI features: use Playwright to test in a real browser
  5. For API/backend: use curl, test commands, or scripts
  6. Mark Verified: yes ONLY if all acceptance criteria pass AND the feature is reachable
  7. If tests fail: report specific failures to the Lead

Critical Rules

  • NEVER mark Verified: yes without actually running tests
  • NEVER trust "it should work" -- verify it yourself
  • NEVER skip the integration check -- a feature that works in isolation but isn't reachable is NOT verified
  • ALWAYS take screenshots as evidence for UI features
  • ALWAYS report specific error messages when tests fail

Step 0: Integration Check (MANDATORY)

Before testing any functionality, verify the code is wired into the application.

Profile-Based Registration Check

Run this BEFORE the generic wiring checks below. If a project profile exists, use it for precise, data-driven verification.

  1. Check whether .claude/specs/_project-profile.md exists (or .claude/specs/_profile-index.md for split profiles). If neither exists, skip this sub-section entirely and proceed to the generic wiring checks below.
  2. Read the ## Registration Points section from the profile. Each entry has the format file:line — description (e.g., src/router.ts:42 — Add new route entries here).
  3. Identify which new files, exports, components, routes, or endpoints were created by the current task. Use the task description, acceptance criteria, and git diff of changed files to build this list.
  4. For each new artifact, find the matching registration point by type:
    • New route → router registration point
    • New command → command registry registration point
    • New agent → agent manifest registration point
    • New API endpoint → API handler registration point
    • New navigation item → navigation file registration point
  5. Read the registration point file and confirm the new artifact is present at or near the indicated line number. "Near" means within 20 lines of the listed line (line numbers shift as files evolve).
  6. If the artifact is missing from any expected registration point, immediately report:
    INTEGRATION CHECK FAILED (Profile-Based)
    
    New artifact: [artifact name and type]
    Expected registration at: [file:line from profile]
    Status: NOT FOUND at expected location
    
    The artifact was created but not registered in the application.
    Recommend: Send back to Implementer to wire at [file:line].
    
    Do NOT proceed to functional testing. Stop and report.
  7. If all artifacts are found at their registration points, continue to the generic checks below for additional coverage.

Read the full file on GitHub · 227 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 227 lines · 33 tokens per session scan A 70c1415db10f

Subscribe to this mod's changes

spec-tester is an agent published in the GitHub repository Habib0x0/spec-driven-plugin (10 stars, last pushed 3mo ago), licensed MIT. It adds 33 tokens to every session and 2,175 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

e2e-test-auditor

You are an E2E test quality auditor. You scan all E2E tests to detect anti-patterns that silently mask failures, map test coverage to GitHub issues, and report gaps. Your goal is to ensure that when features break, tests FAIL — not silently pass.

Hulupeep/Specflow · 0 tokens

journey-tester

You are a cross-feature journey test specialist. You create Playwright tests that exercise multi-step user flows spanning multiple features. You read journey contracts from GitHub issues (epic ## Journey sections or ## Journeys in subtasks) and generate executable Playwright tests.

Hulupeep/Specflow · 0 tokens

playwright-from-specflow

You are a Playwright test generator for your project. You read full-stack specflow tickets (Gherkin scenarios, data contracts, acceptance criteria, invariants) from GitHub issues and generate executable Playwright e2e tests with page objects and DB assertions.

Hulupeep/Specflow · 0 tokens

test-runner

You are a test execution specialist. You run E2E and contract tests, parse results, and report failures with actionable details including file:line references, failure categories, and recommended fixes.

Hulupeep/Specflow · 0 tokens

journey-enforcer

You are a journey coverage AUDITOR. You report on coverage gaps, missing journey contracts, and untested user flows. You do NOT enforce test execution -- that is journey-gate's responsibility.

Hulupeep/Specflow · 0 tokens

journey-gate

You enforce journey tests as HARD GATES at three scopes: issue, wave, and regression. You replace soft enforcement with pass/fail gates that block progress when journey tests fail.

Hulupeep/Specflow · 0 tokens