MCPInstall

create-agent-tests

Author, scaffold, and run coding-agent-driven tests: Markdown case files executed by a coding agent against a live environment (browser, API, DB, logs, cloud, telemetry) with an auditable PASS/FAIL/BLOCKED report. Use when a deterministic test would be premature, brittle, too expensive, or too narrow.

Installs
117
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/shiplightai/agent-skills --skill create-agent-tests
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads create-agent-tests automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Agent Tests

Producer skill for agent tests: a coding agent executes a Markdown case file against a target environment and returns an auditable report. Verification is the executing agent's judgment plus the evidence it collects (browser, API, DB, logs, cloud, telemetry), rather than fixed deterministic assertions.

This skill authors and runs agent tests. Each case produces an auditable report — a report path, a final PASS/FAIL/BLOCKED/ABORTED status, and the collected evidence artifacts — for whatever invoked it to consume.

When To Use Agent Tests

Use agent tests when verification requires flexible, tool-driven judgment across UI, API, database, logs, files, network, or live-environment state, and a deterministic test would be premature, brittle, too expensive, or too narrow.

Especially useful for:

  • UI changes needing visual, interactive, browser-console, network, or trace verification.
  • API and DB workflows where confidence requires live requests plus persisted state inspection.
  • Full-stack flows crossing frontend, backend, storage, jobs, external mocks, and cleanup.
  • Exploratory regression checks before converting a stable path into a standard unit, contract, integration, YAML E2E, or other deterministic test.

Agent tests are not a replacement for deterministic tests. Prefer converting high-value stable agent flows into a standard deterministic test (unit, contract, integration, YAML E2E, or other) once the path stabilizes.

Project Layout

Agent tests live under tests/agent/ in the target repo:

tests/agent/agent-test-suites.json   suite manifest (project-owned)
tests/agent/<feature>/<case>.md       case files, one logical journey each
tests/agent/run-agent-verification.ts runner/orchestrator
agent-test-reports/                    generated reports; do not hand-edit

The repo owns its real agent-test-suites.json, case files, fixture setup, auth/session bootstrap, CI wiring, engine secrets and MCP config, staging/production mutation policies, and cleanup ownership.

Use The Local Convention First

Before authoring, check for tests/agent/agent-test-template.md. If it exists, treat it as the authoritative local convention. Do not rediscover or replace it through broad search unless the user explicitly asks to update the convention.

If no local harness exists and an agent test is the cheapest sufficient proof, scaffold it on demand by copying the bundled starters from this skill:

  • <skill-dir>/assets/agent-test-template.md → tests/agent/agent-test-template.md
  • <skill-dir>/assets/agent-test-suites.example.json → tests/agent/agent-test-suites.example.json
  • <skill-dir>/assets/run-agent-verification.ts → tests/agent/run-agent-verification.ts

Copy these only when a project actually adopts agent tests; do not pre-seed repos that have none. Then create a real manifest from the example:

cp tests/agent/agent-test-suites.example.json tests/agent/agent-test-suites.json

Authoring A Case

Write each case from <skill-dir>/assets/agent-test-template.md (or the local template). A good case makes the executing agent unlikely to guess:

  • State the requirement, risk, or behavior under test and link its sources.
  • Fill real project context: URLs per environment, accounts/orgs, fixture and mutation policy, DB/log/cloud access, production synthetic-data policy, and cleanup ownership.
  • Separate environment preflight (prove the target can execute the case) from product verification (run the checks).
  • List concrete checks: browser pages/states, API routes and status codes, DB tables/rows, audit events, log filters, telemetry queries, timing.
  • Make each assertion unconditional for state the test itself creates. A check gated on an optional affordance ("if the UI offers X, verify Y") lets the agent skip Y and still PASS whenever X isn't found — silently dropping the coverage the case exists to provide. For fixtures you control (a freshly created token, org, etc.), require the affordance and assert on it directly; reserve conditional wording for genuinely environment-dependent surfaces.
  • Name the exact evidence each behavior requires.
  • Keep cases portable; bind environment specifics under the testing-environments section, not in the steps.
  • Never store raw secrets. Record variable names, roles, and access patterns only.

Running

Add a package script in the target repo, adjusted for its package manager:

{ "scripts": { "agent:verify": "tsx tests/agent/run-agent-verification.ts" } }

Run a suite or a single case:

pnpm agent:verify --target local --suite smoke --project-name "<project name>"
pnpm agent:verify --target local --case tests/agent/<feature>/<case>.md

references/runner.md documents the runner defaults, flags, matching environment variables, and the report status contract in full.

Report Status Contract

Every case report must end with exactly one line:

Status: PASS
Status: FAIL
Status: BLOCKED
Status: ABORTED
  • PASS / FAIL: environment preflight completed and product verification ran.
  • BLOCKED: environment/setup could not execute the case (missing DB/log access, unreachable URL, failed login/session bootstrap, missing fixtures or approval). Do not report FAIL for an environment blocker.
  • ABORTED: orchestration interruption only. Release gates ignore ABORTED and rerun the case; never end with PASS/FAIL/BLOCKED for an interruption.

Required cases fail the runner unless they return PASS.

When a case drives a browser, collect auditable evidence — HTML report, screenshot set, video, trace, or project-standard equivalent. Text-only browser claims are not sufficient.

Output

A run leaves an auditable report at its report path, ending with exactly one Status: line, plus any collected evidence artifacts (HTML report, screenshots, video, trace, logs). That report and its evidence are the deliverable — whatever invoked this skill consumes them.

When Not To Use

  • When a deterministic unit, contract, integration, or YAML E2E test is the cheaper, more durable proof — use the standard deterministic format instead.
  • When no live environment, access, or fixtures are available — record the blocker rather than authoring an unrunnable case.

FAQ

What does the create-agent-tests skill do?

Author, scaffold, and run coding-agent-driven tests: Markdown case files executed by a coding agent against a live environment (browser, API, DB, logs, cloud, telemetry) with an auditable PASS/FAIL/BLOCKED report. Use when a deterministic test would be premature, brittle, too expensive, or too narrow.

How do I install create-agent-tests?

Run npx skills add https://github.com/shiplightai/agent-skills --skill create-agent-tests in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/create-agent-tests/ (personal) or .claude/skills/create-agent-tests/ (project).

Which AI agents can use create-agent-tests?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is create-agent-tests safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains create-agent-tests?

It is published by shiplightai in shiplightai/agent-skills. It has 117 recorded installs.

More from shiplightai/agent-skills

View all →

verify

shiplightai/agent-skills

Verify UI changes in the browser using Shiplight MCP tools.

AI & Agents636 installs

review

shiplightai/agent-skills

Review orchestrator and single entry point for all application reviews. Triage what needs reviewing, then run the right domains: security (OWASP, auth, headers, supply chain), privacy (PII, tracking, consent, GDPR/CCPA), compliance (HIPAA, SOC 2, PCI-DSS, GDPR), design (responsive, accessibility, typography, i18n), resilience (error handling, degradation, API contracts), performance (Core Web Vitals, bundles, runtime), SEO (meta, structured data, crawlability), and GEO (AI citation readiness, llms.txt, entity clarity). Use for pre-launch readiness, post-incident planning, or any 'review my app for X' request.

cloud

shiplightai/agent-skills

Sync local tests with Shiplight cloud — push and pull YAML test cases, templates, and functions between your repo and the cloud. Requires a Shiplight cloud subscription.

Testing & QA593 installs

triage

shiplightai/agent-skills

Triage failing Shiplight YAML tests: reproduce failures, inspect evidence, apply minimal correct fixes, report app/spec mismatches, and update project memory.

AI & Agents584 installs

create-tests

shiplightai/agent-skills

Deprecated alias for create-yaml-tests. Renamed to create-yaml-tests; this entry only redirects for backward compatibility. Use create-yaml-tests to create, update, and repair local Shiplight YAML E2E tests.

Testing & QA495 installs

design-review

shiplightai/agent-skills

Open the skill to read its SKILL.md instructions.

Popular testing & qa skills

View category →

tdd

mattpocock/skills

Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

Testing & QA1.2M installs

grilling

mattpocock/skills

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

Testing & QA996.2K installs

migrate-to-shoehorn

mattpocock/skills

Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.

Testing & QA484.1K installs

run-train

lllllllama/rigorpilot-skills

Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.

Testing & QA337.8K installs

test-driven-development

obra/superpowers

Use when implementing any feature or bugfix, before writing implementation code

Testing & QA261.8K installs

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work

Testing & QA216.8K installs