Use when adding, changing, reviewing, debugging, or validating tests; when fixing bugs; when refactoring behavior; or when changing CI, fixtures, snapshots, schemas, generated outputs, test commands, or test infrastructure.
Testing strategy and coverage requirements — component-specific testing approaches, test types, coverage targets, and test organization. Use when planning test strategy, determining what types of tests to write, setting coverage goals, organizing test projects, or deciding between unit vs integration tests. Platform, language, and architecture agnostic — does not assume any specific architectural pattern or layering model.
Write and review tests that match this project's conventions, or do test-first development (TDD). Use when adding tests, asked to "test" a feature/endpoint/module, reproducing a bug with a test, or reviewing test quality. This is the central entry point for any testing in the repo; it routes to framework-specific guidance. Say "FastAPI testing" (or work on an API route / endpoint) to load the FastAPI conventions, "Playwright" or "acceptance / e2e tests" for the browser acceptance-testing conventions, or "R package testing" (testthat) for the R conventions.
Expert in creating comprehensive pytest test suites for Drift project with strict 90%+ coverage requirements. Specializes in unit tests, integration tests, mocking external APIs (Anthropic, AWS Bedrock), and coverage validation using pytest-cov. Use when writing tests, test fixtures, validating test coverage, or implementing mocking strategies for external dependencies.
Paste this prompt into any AI assistant — Claude, ChatGPT, Gemini, Copilot, or others.]
# Test Suite Generator
You are an expert software testing engineer specializing in generating comprehensive, maintainable test suites
Test-writing procedure: order, mocks, regression naming. Use when writing or expanding tests, not because testing.mdc is on. Produces the verifying test for this change; does not authorize unrelated refactors.
Write tests that catch real regressions — choosing what to test, structuring tests, testing behavior over implementation, handling databases and async, and killing flakiness. Use when adding or improving tests, setting up a test for a bug fix or new feature, deciding what to cover, or dealing with flaky/slow tests. Stack: vitest, `pnpm test`.
Writes, fixes and reviews tests for TypeScript and JavaScript projects, which means vitest unit and DOM tests, Playwright end-to-end specs, coverage thresholds, regression tests that reproduce the bug state, and tests of Cloudflare Workers code on real bindings. Use when adding or fixing a test, a coverage gate is red, a spec is flaky or fails in CI, a bug fix needs its regression test, a test passes but you doubt it can fail, or asked "how do we test this". Not for Go tests (go-dev), Lighthouse audits or manual QA scripts.
Pick the right PostgreSQL test flavor for a core / contrib patch — covers pg_regress .sql / .out pairs, isolationtester specs and permutations for concurrency / deadlock races, TAP (PostgreSQL::Test::Cluster) for multi-node and pg_basebackup / replication / recovery scenarios, and src/test/modules for in-tree C test modules. Spans where test files live, how to wire them into the right schedule / meson.build, and how to run a single test fast (REGRESS_OPTS, --temp-instance, PROVE_FLAGS). Use whenever adding tests to a PG patch, reviewing a patch's test coverage, picking between regress / isolation / TAP for a new feature, debugging a regression diff, or asked "where should the test for X live". Skip for pytest / unittest / Jest / Vitest / Mocha / RSpec / JUnit / Go testing / Rust cargo-test app testing, pgbench / sysbench / HammerDB performance benchmarking, end-to-end / Selenium / Playwright web testing, and load / stress testing of production PG.
Testing strategy, patterns, and evaluation for software and LLM/AI systems. Use when: writing tests, choosing test boundaries, designing test data, structuring test suites, evaluating LLM outputs, building evaluation pipelines, setting coverage thresholds, auditing test coverage gaps in existing projects, or improving test quality and structure.
Testing standards for TypeScript and Effect projects using Bun and Vitest. Use when adding, reviewing, reorganizing, or improving tests, fixing regressions, increasing meaningful coverage, designing fixtures or test doubles, or verifying application behaviour.
Write, repair, debug, audit or delete automated tests. Use when adding coverage for new behavior, writing a regression test for a defect, fixing a failing or flaky test, choosing the right test level, or auditing a suite's quality. Not for explaining what an existing test does, and not for running a suite as a routine verification step.
Use when writing or reviewing Go tests for a service, choosing test doubles, testing database code, timeouts, retries or HTTP wiring, or adding fuzz tests and benchmarks. Covers table tests with t.Run, hand-written fakes over consumer-side interfaces, real Postgres instead of sqlmock, testing/synctest for time, end-to-end tests through run(), fuzzing parsers, b.Loop benchmarks with benchstat, and t.Context.
Use when writing or reviewing Java tests (JUnit, Mockito, @SpringBootTest, Testcontainers), choosing H2 or a real database for repository tests, testing code that reads the time or waits, splitting fast and slow tests (surefire, failsafe), fixing flaky or order-dependent tests, or seeing "A Java agent has been loaded dynamically". Key rule: JUnit 6 (junit-jupiter.version 6.1.3 over Spring Boot 4.1.1's 6.0.3) and Testcontainers 2 (testcontainers-postgresql, org.testcontainers.postgresql.PostgreSQLContainer); repository tests on the production engine and version (postgres:17), never H2 or a mocked repository; static @Container @ServiceConnection in Spring Boot tests; inject java.time.Clock and use Clock.fixed, never Thread.sleep; each test owns its data, no @TestMethodOrder dependence; *Test in surefire without Docker, *IT in failsafe; Mockito as -javaagent via maven-dependency-plugin properties and argLine @{argLine} -javaagent:${org.mockito:mockito-core:jar}.
Where a repo's test recipes live — TESTING.md at root, per-directory deltas in monorepos, nearest scope wins — and how implementing and shipping skills scope their test runs to a change. Consult before running tests as a spawned agent, filling a workflow's test-notes slot, or setting up a repo's TESTING.md.
Pragmatic testing guidance focused on confidence, behavior over implementation details, and integration-first coverage. Use when designing a test strategy, writing or reviewing tests, reducing brittle mocks, or deciding what is worth testing in an application or library.
Software testing documentation dispatcher. Use when creating, reviewing, or improving test specifications and test documentation. Trigger on: "write test cases", "create a test plan", "test specification", "STS", "TDS", "TCS", "TPS", "test procedure", "define exit criteria", "requirements traceability matrix", "RTM", "risk-based testing", "test environment", "non-functional testing", "accessibility testing", "security testing", "performance testing", "CI/CD test integration", "document how to test this feature", "IEEE 829", or any task producing or reviewing software test documentation.
Design test strategy using Beck's Test Desiderata — which properties matter, which tradeoffs to make. Use when the user asks "how should I test this", "what tests do I need", "review my test strategy", "is this well-tested", or when planning tests for a new feature or refactor.
Plain text files in a repository that tell a coding agent how the project works: commands to run, conventions to follow and things to avoid. CLAUDE.md, AGENTS.md, cursor rules and skills are the common kinds.
CLAUDE.md or AGENTS.md?
CLAUDE.md is read by Claude Code. AGENTS.md is an open format that Codex, Cursor and other agents read. Many projects keep one and point the other at it.
What is a skill?
A folder with a SKILL.md that describes one capability, such as filling PDFs or reviewing code. The agent loads it only when the task calls for it.
Can I search my own team's files too?
Your agents already can, over MCP, limited to the files you're allowed to read. Searching them from this page is coming.