Skip to content
Back to skills

Testing

ASecurity

Full testing guide — the three-tier strategy (Vitest unit, Playwright E2E, Maestro native smoke on Android + iOS), every test command, CI workflow triggers, and Maestro installation. Use before writing, running, or modifying tests, or when debugging CI test failures.

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 29, 2026
testinggotestingdebuggingapi

Works with

  • api

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add KyleMit/Splotch --skill testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Testing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kylemit-testing/badge)](https://www.skillsdirectory.com/skills/kylemit-testing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: testing
description: Full testing guide — the three-tier strategy (Vitest unit, Playwright E2E, Maestro native smoke on Android + iOS), every test command, CI workflow triggers, and Maestro installation. Use before writing, running, or modifying tests, or when debugging CI test failures.
---

# Splotch — Testing

The full guide is **[`docs/TESTING.md`](../../../docs/TESTING.md)**: the layer-by-layer table (tool,
command, and what CI runs it on), then a section per layer.

| Read this section        | When                                                                                                                      |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| The layer table (top)    | Picking which suite covers a change, or working out why CI ran something you didn't expect                                |
| Server-contract smoke    | Changing an `/api/*` endpoint, the adapter, or the Netlify config                                                         |
| Unit tests               | Writing Vitest for app code, the asset pipeline, store drawings, or repo scripts                                          |
| E2E web tests            | Writing or running Playwright — **including "Writing flake-resistant specs", the section that earns its keep most often** |
| Engine smoke / a11y tier | Touching the critical path or anything with a11y surface                                                                  |
| Cloud session gotchas    | Running Playwright inside a cloud session                                                                                 |
| Native smoke (Maestro)   | Android/iOS smoke runs, or installing Maestro for the first time                                                          |
| Continuous integration   | Debugging a CI failure, or deciding where a new suite should run                                                          |

The two rules worth carrying before you open it:

* **`npm test` is not everything.** It runs the unit suites plus E2E. The native Maestro smoke tests
  need an emulator/simulator and are deliberately excluded; `test:blobs:smoke` runs against a real
  deploy, not locally.
* **Concurrent worktrees share the host.** Run targeted specs with an explicit port —
  `SPLOTCH_E2E_PORT=<port> npm run test:e2e -- <spec> --workers=1`.
  `npm --silent run show:free-port` prints a candidate without touching other listeners; retry with
  another on `EADDRINUSE`. Treat a full suite as host-exclusive (root `CLAUDE.md`, ADR-0078).

`.claude/rules/testing.md` loads automatically when you edit test files and carries the authoring
rules.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…