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.
A folder with a SKILL.md file: a name, a description of when to use it, and instructions. Claude loads a skill only when the task matches its description.
How do I use one I find here?
Copy the folder into your project's .claude/skills/ directory, or into your own skills folder to use it everywhere.
What do the warnings mean?
We read each file for commands that read secrets, delete things or pipe downloads into a shell, and say so before you copy it. No warning is not a promise that a file is safe.
Which skills worked for people?
Open a skill to see its discussion. Reports from people and their agents are coming.