agent-instructions
Use when writing project instructions for a coding agent (CLAUDE.md, AGENTS.md, or equivalent). Covers what belongs in them, what…
Use when testing a web application interactively — verifying a feature, reproducing a bug, or checking a flow in a real browser. Covers systematic exploration, console and network inspection, and reporting what you find. Trigger on "check this works in the browser", "reproduce
Claude Code
$ npx -y skills add nimadorostkar/Claude-Skills-collection --skill web-app-testing --agent claude-code
Codex
$ npx skills add nimadorostkar/Claude-Skills-collection --skill web-app-testing -a codex -y
Cursor
$ npx skills add nimadorostkar/Claude-Skills-collection --skill web-app-testing -a cursor -y
Gemini CLI
$ npx skills add nimadorostkar/Claude-Skills-collection --skill web-app-testing -a gemini-cli -y
GitHub Copilot
$ npx skills add nimadorostkar/Claude-Skills-collection --skill web-app-testing -a github-copilot -y
OpenCode
$ npx skills add nimadorostkar/Claude-Skills-collection --skill web-app-testing -a opencode -y
Windsurf
$ npx skills add nimadorostkar/Claude-Skills-collection --skill web-app-testing -a windsurf -y
name: web-app-testing description: Use when testing a web application interactively — verifying a feature, reproducing a bug, or checking a flow in a real browser. Covers systematic exploration, console and network inspection, and reporting what you find. Trigger on "check this works in the browser", "reproduce this bug", "click through the signup flow". Do not use for writing automated browser tests — see the e2e-playwright skill; for layout checks, see the visual-qa skill. metadata: category: testing version: 1.0.0 tags: [testing, browser, manual-testing, debugging, qa]
Verify a web application by driving it, systematically. Automated tests confirm what someone thought to check; interactive testing finds what nobody thought of, which is where the interesting bugs are.
1. **Walk the happy path first** — Confirm the feature does what it claims for a normal user with normal data. If this fails, stop; there is nothing else to test yet. 2. **Open the console and the network tab before you start** — A 500 that the UI silently swallows, or a console error on every keystroke, is invisible if you are only looking at the page. 3. **Probe the boundaries** — Empty input, maximum length, special characters, a name with an apostrophe, a quantity of zero, a quantity of -1. The interesting bugs live here. 4. **Break the network** — Throttle it, then take it offline mid-request. What does the user see? A spinner forever is a defect. 5. **Test the back button and refresh** — Mid-flow. Multi-step forms and payment flows break here constantly. 6. **Check the second viewport** — At least one mobile width. Layouts break at breakpoints, and nobody looks.
**A systematic pass over one feature:**
Feature: refund an order (admin)
Happy path
[PASS] Full refund on a paid order succeeds; the order shows "Refunded".
[PASS] Partial refund reduces the balance and shows the remaining amount.
Boundaries
[PASS] Refund of 0 is rejected with a clear message.
[FAIL] Refund exceeding the order total is accepted by the UI. The API
returns 422, but the UI shows a success toast and the row does not
update. The user believes the refund succeeded.
Steps: order ord_01HX (total $42) -> Refund -> enter 500 -> Submit.
Expected: an inline error stating the maximum refundable amount.
Actual: green "Refund issued" toast; no state change.
Console: POST /refunds 422 (Unprocessable Content) — error swallowed
in the .catch() at RefundModal.tsx:88.
Error paths
[FAIL] With the network offline, Submit spins indefinitely. No timeout, no
error state. The user cannot tell whether the money moved.
Interaction
[FAIL] Double-clicking Submit issues two POSTs. The second returns 409
(idempotency held), so no double refund occurs — but the UI shows
an unexplained error on the second response. The button is not
disabled during the request.
Not tested
- Multi-currency orders (no test data available in this environment).
- Refunds on orders older than 90 days (gateway restriction; needs a stub).Three real defects, none of which an automated test suite was checking for, and all found in under fifteen minutes by being systematic rather than clever.
A curated library of 137 production-grade skills for Claude and other AI coding agents. Every skill follows one structure, speaks with one voice, and earns its place by changing what the agent does.
Use when writing project instructions for a coding agent (CLAUDE.md, AGENTS.md, or equivalent). Covers what belongs in them, what…
Use when an agent needs state that survives a session or a context compaction. Covers what to persist, file-based memory,…
Use when automating agent behavior with lifecycle hooks. Covers hook events, deterministic enforcement of rules the model should…
Use when packaging skills, commands, hooks, and MCP servers into a distributable plugin. Covers manifest structure, bundling,…
Use when writing a new skill for an AI agent. Covers scoping, description writing for reliable triggering, progressive…
Use when reviewing or improving an existing agent skill. Covers triggering accuracy, content quality, redundancy with the base…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.