# Test

> Proves that a code change meets its acceptance criteria. Uses focused automated checks and a real browser for browser-facing work. Use to test or verify a diff, branch, PR, URL, or user flow.

- Skill: `owainlewis/test` (Agent Skill)
- Install (CLI): `npx skillmds add owainlewis/test`
- Raw SKILL.md: https://api.skillmd.com/api/skills/owainlewis/test/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: owainlewis (https://skillmd.com/u/owainlewis)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/owainlewis/test

---


# Test

Prove the behavior that matters. A passing build or a source-code reading can support the proof, but neither proves a user-visible flow.

## Process

1. Read the task, its source design when present, changed code, existing tests, and repository instructions. Acceptance criteria come from the task or approved design. Preserve their wording and `AC-n` or `INV-n` IDs. Never rewrite criteria to match the code.
2. Map every acceptance criterion, cited invariant, and affected failure path to proof by ID. Test changed behavior and behavior a refactor must preserve.
3. If automated tests cannot exercise the affected behavior, explain why and give other evidence.
4. Add or update focused tests where proof is missing. Assertions should fail when the changed behavior breaks.
5. Assert behavior a user or caller can observe unless the test targets a documented internal contract. Keep setup and assertions no more complex than the scenario.
6. Run the narrowest checks that exercise the changed behavior and affected interfaces. Run wider checks when shared behavior or interfaces changed.
7. When browser-rendered behavior changes, start the documented app and check the required flows and affected failures in a real browser.
   - Check desktop and mobile when layout or responsive styles changed.
   - Check keyboard use when interactions changed.
   - Check console errors and failed requests during every flow.
   - Capture evidence. Reading source is not browser proof.
8. Report each `AC-n`, `INV-n`, or task criterion as pass, fail, or unverified. Include the command, browser flow, or other evidence.

## Return

Report each criterion in this shape:

```text
Criterion: <ID or exact wording>
Result: Pass / Fail / Unverified
Evidence: <command, browser flow, or artifact>
Gap: <what remains unknown, or None>
```

Lead with failures and unverified criteria. Do not hide them below passing checks.

## Boundaries

- Do not weaken assertions to make a change pass.
- Do not fix unrelated failures.
- If required browser tooling is unavailable, report the check as blocked unless the user explicitly accepts a manual exception.

