Guides automated testing of SPIP plugins and squelettes using PHPUnit — the standard test tool for SPIP. Covers the full self-contained setup (composer, spip-cli), unit tests with lightweight mocks, and integration tests against a real SPIP instance. Use whenever the user wants to test, verify, or validate a SPIP plugin or squelette — even if they don't mention PHPUnit — including questions like "how do I test my plugin", "I want to make sure my filtre works", or "how do I write tests for my autorisation / CVT form / #BALISE".
Use when a reported defect has to be reproduced as a failing test before it is fixed, when a change to a template or to any rendered output has to be proved, or when setting up TYPO3 extension test infrastructure, writing unit/functional/E2E tests, configuring PHPUnit 11/12/13, mutation testing, mocking final classes (v14), CI/CD matrix across TYPO3 12/13/14.3 LTS, dev-dependency consolidation via typo3-ci-workflows meta-package, or debugging CI failures. Also triggers on: testing-framework setup, ensure proper testing, test matrix, integration testing, e2e testing, coverage, test generation.
Use this skill when running or writing automated tests against the testbench — the three-phase execution protocol every test case follows, live progress on the Pi's web UI, blocking prompts for physical operator actions (button press, cable swap, power cycle), the TestbenchDriver Python API, and activity log queries. Use it for authoring a pytest suite as well as for tracking a manual run. For driving one instrument, use that instrument's skill instead. Triggers on "test progress", "test session", "test spec", "test case", "test harness", "run the tests", "write a test", "TestbenchDriver", "human interaction", "operator", "activity log", "test panel".
Generates professional Test Plan and Test Cases documents following IEEE 829 test documentation standards, ISTQB testing methodologies, and Google Testing Blog best practices. This skill activates when the user asks to write a test plan, create test cases, draft a test plan document, create a test cases document, define a test strategy, write a QA document, produce a testing document, draft a test specification, or build a quality assurance plan. It produces comprehensive, structured test documentation that ensures thorough coverage, traceability to requirements, and a clear path from test design through execution and defect management.
Mobile E2E testing patterns — Flutter integration_test, Patrol, Maestro, golden testing, device matrix, and test data management. Use when writing E2E tests for mobile applications.
Write, modify, debug, or review bun:test suites with deterministic isolation. Use for Bun test failures, module mocks, spies, globals, order-dependent behavior, and tests that pass alone but fail in the suite.
Verify web deliverables in a real browser using Playwright — rendering, interaction, console errors, responsive layout, E2E flows. Use whenever the deliverable is a website, web app, HTML page, dashboard, or artifact that renders in a browser, and before claiming any UI "works", "renders", or "looks right". Static inspection of HTML/JSX is NOT verification of a web deliverable.
Web testing with Playwright, Vitest, k6. E2E/unit/integration/load/security/visual/a11y testing. Use for test automation, flakiness, Core Web Vitals, mobile gestures, cross-browser.
Test for reflected, stored and DOM-based XSS with context-aware payloads and CSP bypass checks, following OWASP WSTG. Use during an authorized web application test.
Testing patterns for MCP tool/resource handlers using `createMockContext` and Vitest. Covers mock context options, handler testing, McpError assertions, format testing, Vitest config setup, and test isolation conventions.
Testes Pest PHP em projetos Laravel — test()/it(), datasets, mocks, browser tests, smoke tests e arch(). Usar ao escrever, corrigir ou refatorar testes em tests/Feature, tests/Unit ou tests/Browser, ou quando o usuário mencionar Pest, TDD ou php artisan test.
Use when the user wants to add, run, or debug end-to-end tests. Covers Playwright, Selenium, Cypress, happy paths, critical user journeys, and CI integration.
Use when writing or running backend/API tests that hit HTTP endpoints directly (no browser) — REST or GraphQL, via Supertest/Vitest (TS/JS) or httpx/pytest (Python). Decides, per test, whether to use a mock database, a real database with transaction rollback, or a real database hit black-box over HTTP with an explicit teardown script — and never lets test data linger uncleaned. Also covers the case where the flow under test depends on an entity owned by another repo/service (e.g. testing order-cancellation when order-creation lives elsewhere) — this skill stops and asks for that dependency instead of guessing its shape. Not for browser-driven E2E (use webapp-testing/e2e-testing) or React component tests (use react-testing).
Playwright browser E2E testing patterns — Page Object Model, config snippets, artifact management, and flaky test strategies. Reference only, not executable — for actually running a webapp's E2E suite and generating the standard report, use webapp-testing.
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.