spec-tester

spec-tester is an agent for Claude Code from Habib0x0/spec-driven-plugin. It costs 33 tokens per session (2,175 once invoked), scanned A, original, MIT.

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 for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

Part of the spec-driven plugin — 1 skill, 18 commands, 11 agents shipped together

Good fit Use it to check integration, run relevant tests, verify acceptance criteria, test APIs or user interfaces, and record failures or screenshots.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/habib0x0/spec-driven-plugin/spec-tester
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.

Clone the repo
git clone --depth 1 https://github.com/Habib0x0/spec-driven-plugin

Made for: Claude Code.

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

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for spec-tester

README.md
[![agentmods](https://agentmods.dev/badge/agents/habib0x0/spec-driven-plugin/spec-tester/github.svg)](https://agentmods.dev/agents/habib0x0/spec-driven-plugin/spec-tester)
Your own site
<a href="https://agentmods.dev/agents/habib0x0/spec-driven-plugin/spec-tester"><img src="https://agentmods.dev/badge/agents/habib0x0/spec-driven-plugin/spec-tester/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for spec-tester

Your own site · 80×15
<a href="https://agentmods.dev/agents/habib0x0/spec-driven-plugin/spec-tester"><img src="https://agentmods.dev/badge/agents/habib0x0/spec-driven-plugin/spec-tester.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
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. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00033 $0.02175
Opus 5.5 $0.00013 $0.00870
Sonnet 5.5 $0.00007 $0.00435
Haiku 4.5 $0.00003 $0.00217

Measured 1mo ago against content hash 70c1415db10f, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, 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 1mo 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. 1mo 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 5mo ago), licensed MIT. It adds 33 tokens to every session and 2,175 once invoked, about $0.0001 per session on Opus 5.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

test-generator

Generate unit, integration, and e2e test suites following testing-strategy patterns.

navraj007in/architecture-cowork-plugin · 19 tokens

integration-test-reviewer

Reviews changed integration and E2E tests against skeletons, proof obligations, or explicit prompt claims. Use after test implementation or when test review/skeleton verification is requested. Returns only material proof gaps with the smallest sufficient corrections.

shinpr/claude-code-workflows · 50 tokens

output-ux-reviewer

Review a cli-web- CLI from the end-user perspective by RUNNING it. Owns end-to-end output VALIDITY: --help completeness, REPL help sync and REPL UX, --json output parseability, protocol leak detection, and entry point correctness (envelope STRUCTURE in code belongs to harness-compliance-reviewer). Returns scored…

ItamarZand88/CLI-Anything-WEB · 85 tokens

ux-evaluator

Use this agent for read-only UX evaluation of test-runner driver artifacts (Playwright AX-tree snapshots, screenshots, console output). Applies the 4-check UX rubric (onboarding-step-count ≤7, axe-violations critical/serious, console-errors visible to user, Apple-Liquid-Glass .glassEffect() conformance on SwiftUI 26+)…

Kanevry/session-orchestrator · 86 tokens

arn-spark-ux-judge

This agent should be used when the arn-spark-static-prototype skill or arn-spark-clickable-prototype skill needs an independent quality verdict on prototype artifacts. Delivers strict, evidence-based scoring of every criterion on a defined scale, determines a PASS or FAIL verdict, and provides actionable improvement…

AppsVortex/arness · 395 tokens

qa-engineer

Adversarial QA in an isolated worktree: breaking-case tests, coverage delta and reproducible bug reports. Use to test a feature, close coverage gaps or verify a fix.

KevinZai/commander · 40 tokens