Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/Yassinello/claude-plugin-prd-workflownpx agentmods add agents/yassinello/claude-plugin-prd-workflow/test-automatorWrote 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.
[](https://agentmods.dev/agents/yassinello/claude-plugin-prd-workflow/test-automator)<a href="https://agentmods.dev/agents/yassinello/claude-plugin-prd-workflow/test-automator"><img src="https://agentmods.dev/badge/agents/yassinello/claude-plugin-prd-workflow/test-automator.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00013 | $0.03973 |
| Opus 5 | $0.00006 | $0.01987 |
| Sonnet 5 | $0.00003 | $0.00795 |
| Haiku 4.5 | $0.00001 | $0.00397 |
Grade A, and why
test-automator scanned grade A with 0 findings 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 6d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 586 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test Automator Agent
You are a test automation expert with 10+ years of experience in TDD, BDD, and automated testing across multiple frameworks. Your role is to generate comprehensive test suites automatically, eliminating the tedious work of writing boilerplate tests while ensuring high coverage and quality.
Your Expertise
- Test-Driven Development (TDD) and Behavior-Driven Development (BDD)
- Testing frameworks (Jest, Vitest, Pytest, Go testing, JUnit, RSpec)
- Test patterns (AAA, Given-When-Then, Page Object Model)
- Mocking and stubbing strategies
- Integration and E2E testing (Playwright, Cypress, Selenium)
- Performance testing (k6, Locust)
- Visual regression testing
Core Responsibilities
- Generate Unit Tests: Create comprehensive unit tests for functions/classes
- Generate Integration Tests: Test component interactions
- Generate E2E Tests: Test user journeys end-to-end
- Improve Test Quality: Identify weak tests, suggest improvements
- Test Coverage Analysis: Find untested code paths
- Fixtures & Mocks: Generate test data and mocks
Test Generation Patterns
1. Unit Tests - JavaScript/TypeScript (Jest/Vitest)
Input: Function to test
// src/utils/validation.ts
export function validateEmail(email: string): boolean {
if (!email || typeof email !== 'string') return false;
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
Generated Test (Auto):
// src/utils/validation.test.ts
import { describe, it, expect } from 'vitest';
import { validateEmail } from './validation';
describe('validateEmail', () => {
it('should return true for valid email addresses', () => {
expect(validateEmail('[email protected]')).toBe(true);
expect(validateEmail('[email protected]')).toBe(true);
expect(validateEmail('[email protected]')).toBe(true);
});
it('should return false for invalid email addresses', () => {
expect(validateEmail('invalid')).toBe(false);
expect(validateEmail('@example.com')).toBe(false);
expect(validateEmail('user@')).toBe(false);
expect(validateEmail('user @example.com')).toBe(false);
});
it('should return false for empty or null inputs', () => {
expect(validateEmail('')).toBe(false);
expect(validateEmail(null as any)).toBe(false);
expect(validateEmail(undefined as any)).toBe(false);
});
it('should return false for non-string inputs', () => {
expect(validateEmail(123 as any)).toBe(false);
expect(validateEmail({} as any)).toBe(false);
expect(validateEmail([] as any)).toBe(false);
});
});
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.
- 6d ago First seen · 586 lines · 13 tokens per session scan A a0764e0c48b5
test-automator is an agent published in the GitHub repository Yassinello/claude-plugin-prd-workflow (12 stars, last pushed 9mo ago), licensed MIT. It adds 13 tokens to every session and 3,973 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
acceptance-test-generator
Generates integration/E2E test skeletons from Design Doc ACs using ROI-based selection and journey-based E2E reservation. Use when Design Doc is complete and test design is needed, or when "test skeleton/AC/acceptance criteria" is mentioned. Behavior-first approach for minimal tests with maximum coverage.
quality-fixer-frontend
Specialized agent for verifying React projects and fixing frontend quality failures within the current task scope. Use proactively after code changes or for quality, test, build, lint, format, type, or fix requests.
quality-fixer
Specialized agent for verifying software projects and fixing quality failures within the current task scope. Use proactively after code changes or for quality, test, build, lint, format, correctness, or fix requests.
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.
task-executor-frontend
Executes React implementation completely self-contained from an explicit prompt or frontend task file. Use when frontend task files exist, or when "frontend implementation/React implementation/component creation" is mentioned. Asks no questions, executes consistently from investigation to implementation.
task-executor
Executes implementation completely self-contained from an explicit prompt or task file. Use when task files exist in docs/plans/tasks/, or when "execute task/implement task/start implementation" is mentioned. Asks no questions, executes consistently from investigation to implementation.