Use throughout the build and before claiming any phase or the project "done", to run the four mandatory quality gates and verify them with evidence. Covers the test pyramid, Playwright + Chrome DevTools browser verification, WCAG AA, and the commit/finish gate wiring.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add martian56/claude-engineer --skill testing-and-quality --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Testing And Quality?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/martian56-testing-and-quality)More formats (shields.io, HTML) on the badges page.
---
name: testing-and-quality
description: Use throughout the build and before claiming any phase or the project "done", to run the four mandatory quality gates and verify them with evidence. Covers the test pyramid, Playwright + Chrome DevTools browser verification, WCAG AA, and the commit/finish gate wiring.
---
# Testing & Quality
**Announce at start:** "I'm using claude-engineer:testing-and-quality to enforce the four quality gates."
## Iron Law
**No "done" without all four gates passing, verified by fresh evidence.** (Pairs with
`superpowers:verification-before-completion` - assertions follow evidence, never precede it.)
## The four gates (exact pass/fail commands; exit 0 = pass)
1. **Tests + coverage** - FE `vitest run --coverage`; BE `pytest --cov=app --cov-fail-under=80`.
2. **E2E + zero console errors** - `playwright test` (specs include a console-error/`pageerror` fixture and assert no 4xx/5xx on key routes). Drive flows and confirm every button/screen works via the Playwright + Chrome DevTools MCPs.
3. **Accessibility (WCAG AA)** - `playwright test a11y/` using `@axe-core/playwright` with tags `wcag2a,wcag2aa,wcag21aa,wcag22aa`; assert zero violations. Manual keyboard/focus spot-checks too.
4. **Strict types + lint clean** - `tsc --noEmit && eslint . && prettier --check . && ruff check . && ruff format --check . && mypy app`.
## The gate runner + commit gate
- Scaffold `scripts/quality-gate.mjs` from `templates/quality-gate.mjs`. It runs all four gates and writes
`.claude-engineer/quality-gate-status.json` (`{ allPass, results }`).
- The claude-engineer **PreToolUse(Bash) hook blocks `git commit`** unless that file shows `allPass: true`.
So: run `node scripts/quality-gate.mjs` → fix failures → commit. Intentional bypass: `git commit --no-verify`.
- The same four commands are the **finish** condition and the **CI** merge condition (`claude-engineer:ci-cd-pipeline`).
## Browser verification (MCPs - BYO install)
- **Chrome DevTools MCP** - capture/assert zero console errors per screen, Lighthouse audits, network-failure checks.
- **Playwright MCP** - drive real flows; confirm interactions actually work.
Install per `templates/recommended-mcps.md`.
**Full detail (test pyramid, coverage targets, Playwright setup, the console-error fixture, axe usage, exact commands):**
read `references/testing-and-gates.md` on demand.
## Red flags - STOP
- Claiming "done"/"passing" without re-running the gate now.
- Committing with a failing/stale gate (use `--no-verify` only with explicit reason).
- Treating console warnings/errors as acceptable - the E2E gate requires zero.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!