Skip to content
Skills Library
Programming · Testing

webapp-testing

/webapp-testing

Browser-tests a local webapp end to end — starts the app, installs Playwright if missing, writes a spec for the critical path plus edge cases, runs headless, captures screenshots, console and network logs on failure, and reports a pass/fail table with repro steps. Degrades to curl smoke tests when no browser is available. Use when the user says "test my app", "does signup still work", "check the site before I deploy", or "this page is blank".

Repository
claude-inc ↗
Licence
MIT
Last repository change
22.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
2
Deprecation

No signals detected. Repository changed on 22.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Browser-tests a local webapp end to end — starts the app, installs Playwright if missing, writes a spec for the critical path plus edge cases, runs headless, captures screenshots, console and network logs on failure, and reports a pass/fail table with repro steps. Degrades to curl smoke tests when no browser is available. Use when the user says "test my app", "does signup still work", "check the site before I deploy", or "this page is blank".

Triggers from the description

test my appdoes signup still workcheck the site before I deploythis page is blank
Original author description

Browser-tests a local webapp end to end — starts the app, installs Playwright if missing, writes a spec for the critical path plus edge cases, runs headless, captures screenshots, console and network logs on failure, and reports a pass/fail table with repro steps. Degrades to curl smoke tests when no browser is available. Use when the user says "test my app", "does signup still work", "check the site before I deploy", or "this page is blank".

How it works

  1. When to use
  2. Workflow
  3. Output format
  4. Quality bar
  5. Example
Original SKILL.md headings · 68 lines, 510 words
SKILL.md preview
---
name: webapp-testing
description: Browser-tests a local webapp end to end — starts the app, installs Playwright if missing, writes a spec for the critical path plus edge cases, runs headless, captures screenshots, console and network logs on failure, and reports a pass/fail table with repro steps. Degrades to curl smoke tests when no browser is available. Use when the user says "test my app", "does signup still work", "check the site before I deploy", or "this page is blank".
---

# Webapp Testing — QA Engineer

> "Browser-test your app"

If a human can click it, it can break. Prove the critical path in a real browser before anything ships.

## When to use

- "Test my app" / "check the site before I deploy" — the pre-ship confidence run
- "Does signup still work?" after touching auth, forms, or routing
- "This page is blank" / "the button does nothing" — reproduce with evidence, not vibes
- Regression pass after a dependency bump, refactor, or CSS overhaul
- The project has zero e2e coverage and needs a first spec to seed CI

## Workflow

1. Start the app in the background (`npm run dev`, `uvicorn app:app`, `rails s`, ...) and poll until it answers — `curl -sf http://localhost:<port>` in a retry loop. Never test a dead server.
2. Ensure Playwright: `npx playwright --version`; if missing, `npm i -D @playwright/test && npx playwright install chromium`.
3. Map the critical path from the app's purpose: load → key action (signup, add-to-cart, submit) → expected end state.
4. Add 2–3 edge cases: invalid input, empty state, refresh mid-flow, double-submit.
5. Write `tests/e2e.spec.ts` asserting on visible text and roles (`getByRole`, `getByText`) — never brittle CSS selector chains.
6. Run headless: `npx playwright test --reporter=line`.
7. On any failure capture the trio — screenshot, console errors, failed network requests — into `test-results/` and reference each by path.
8. Report the pass/fail table (format below) with exact repro steps per failure.
9. No browser possible (install blocked, sandboxed env)? Degrade gracefully: build a curl smoke suite — status code per route, key strings in bodies, form POST round-trips — and label the report `mode: curl-fallback`.

## Output format

```
## QA report — <app> @ http://localhost:<port>   (mode: playwright-chromium | curl-fallback)

| # | Scenario | Result | Evidence |
|---|----------|--------|----------|
| 1 | Signup happy path | PASS | — |
| 2 | Invalid email rejected | FAIL | test-results/02-invalid-email.png |

Failures:
2. Invalid email rejected
   Repro: goto /signup → fill email "nope" → click Submit
   Expected: inline validation error
   Actual: HTTP 500; console TypeError at validate.js:14; POST /api/signup → 500

Re-run: npx playwright test --reporter=line
```

## Quality bar

- [ ] Server confirmed answering before the first test ran
- [ ] Critical path plus at least two edge cases covered
- [ ] Selectors use roles and text, not CSS chains that break on restyle
- [ ] Every failure ships with screenshot, console, and network evidence
- [ ] Repro steps followable by a human with zero context
- [ ] Entire suite re-runs with one stated command

## Example

Ask: "Check the store before I deploy."

Produced: app started on :3000, `tests/e2e.spec.ts` with five scenarios (browse → add to cart → checkout, plus empty-cart and out-of-stock edges). Result 4 PASS / 1 FAIL.

```
| 5 | Empty-cart checkout | FAIL | test-results/05-empty-cart.png |
Repro: goto /cart (empty) → click Checkout → HTTP 500
```

Verdict: hold the deploy until the empty-cart 500 is fixed; everything else is green.

Versions

RepositoryScoreLicence
This page · alebgl77/claude-inc100MIT
Navinspire-ia/navin100AGPL-3.0
Reprograme/redevkit100MIT
wrongstack/wrongstack100MIT
baysao/dot.agents100Apache-2.0
patriotai/ai-lab100MIT
khaledsaeed18/dotclaude100MIT
jeffersonvalente/cardume100MIT
JZKK720/cubecloud-skills-bundle-kit100MIT

Database snapshot: 13.11.2026 · package version ba981fa7303e (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 95memstack-development-webapp-testing
    Use when the user says 'write browser tests', 'test this page', 'playwright test', 'e2e test', 'end to end test', 'browser test', 'test the UI', or needs Playwright-based browser testing for a web application. Do NOT use for unit tests, API tests, or non-browser testing.
  • 100webapp-browser
    Test anything in the local Rolebase webapp with the Playwright browser, signed in as a local test admin, with few tokens. Use to check a UI change, open a page or modal, take a screenshot, or test a flow end to end in the webapp (including /admin).
  • 96smoke-testing
    Use when you need confidence the demo path works — a few fast tests for the critical flow (unit tests for logic, a browser smoke test with Playwright, API checks with curl).
  • 100webapp-debugger
    Experimental web app debugging through the agent-browser CLI - it opens pages, interacts by accessibility refs, and collects console, page errors, network, and screenshots as evidence. Local apps by default; a deployed one only on the owner's word. Use only when the user invokes /webapp-debugger.
  • 90e2e
    Writes and runs Playwright end-to-end tests for a user journey: role-based locators, auth storage state, test data setup, axe accessibility checks, mobile viewport, and trace debugging. Uses the webapp-testing skill and Playwright MCP when installed. Use for testing a journey through the real app.
  • 100e2e-playwright-testing
    End-to-end testing with Playwright for web applications. Use when writing E2E tests, browser automation, form submission testing, or user flow testing. Triggers on "playwright", "e2e test", "browser test", "end-to-end", "form flow testing", or test files in tests/e2e/.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.