Skip to main content
skill CX Codex

form-testing — Claude Code skill: browser form checks

This skill fills and submits every form in your app three ways: empty, invalid, valid. Useful before a release.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add spencerpauly/awesome-cursor-skills --skill form-testing -a claude-code
Open on GitHub

What form-testing does

The skill drives Cursor's built-in browser through the app's forms: login and signup, settings and profile, search bars, feedback, checkout, modals with inputs. It finds them with browser_snapshot, looking for form elements or groups of input, select and textarea.

Each form gets three passes. First an empty submit, where validation errors should show up instead of a server error. Then bad data: notanemail in email, a in password, abc in a number field, 12345 in phone, not-a-url in a URL field. Finally realistic data through browser_fill or browser_fill_form, followed by a check of the success state, browser_console_messages and failed calls in browser_network_requests.

Edge cases come next: clicking submit twice, pasting a string over 1000 characters, typing <script>alert('xss')</script> into a field, and tabbing through to see where focus lands. The run ends with a per-form report marked PASS or FAIL, and the agent fixes what broke. One thing to know: the workflow assumes Cursor's browser, so on Claude or Codex the skill hands your agent the instructions without the tool itself. Worth checking how you plan to run it.

What it helps with

  • submit every form empty and see which ones fail
  • catch client-side validation gaps before they hit the server
  • confirm a redirect or toast appears after a successful submit
  • spot failed API calls triggered by form submission
  • check that HTML in input fields gets escaped

Example prompts for the agent

  • test every form in the app with Cursor's browser
  • check the login form with an empty submit and a bad email
  • run the settings form with valid data and check the console for errors

How to install form-testing

1Skills CLI (Vercel)

npx skills add spencerpauly/awesome-cursor-skills --skill form-testing -a claude-code

2Manually: put the files in place

~/.claude/skills/form-testing/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/form-testing/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about form-testing

How do I install form-testing in Claude?

Run npx skills add spencerpauly/awesome-cursor-skills --skill form-testing -a claude-code. The skill lands at ~/.claude/skills/form-testing/SKILL.md.

What does form-testing do?

It locates every form through browser_snapshot and runs three passes on each: empty submit, invalid data, valid data. It also checks double submission, long input, XSS and tab order.

What tools does the skill need?

It relies on Cursor's built-in browser and its browser_snapshot, browser_fill, browser_press, browser_console_messages and browser_network_requests commands.

Source text

SKILL.md · CC0-1.0
---
name: form-testing
description: Use Cursor's browser to fill and submit every form in the app with valid and invalid data, verifying validation, error states, and success flows.
user-invocable: true
---

# Form Testing

Systematically test every form in the app using Cursor's built-in browser.

## Workflow

### 1. Find All Forms

Use `browser_snapshot` to get the accessibility tree. Look for `form` elements, or groups of `input`, `select`, `textarea` elements.

Navigate through the app's main pages to discover all forms:
- Login / signup pages
- Settings / profile pages
- Search bars
- Contact / feedback forms
- Checkout flows
- Modals with inputs

### 2. Test Each Form

For each form, run three test passes:

**Pass 1: Empty submission**
- Submit the form with all fields empty
- Verify validation errors appear for required fields
- Check that no server error occurs (should be client-side validation)

**Pass 2: Invalid data**
- Email fields: enter `notanemail`
- Password fields: enter `a` (too short)
- Number fields: enter `abc`
- Phone fields: enter `12345`
- URL fields: enter `not-a-url`
- Check that appropriate error messages appear

**Pass 3: Valid data**
- Fill every field with realistic test data using `browser_fill` or `browser_fill_form`
- Submit the form
- Verify success state (redirect, toast, confirmation message)
- Check `browser_console_messages` for errors
- Check `browser_network_requests` for failed API calls

### 3. Check Edge Cases

- **Double submission**: Click submit twice quickly — should be prevented
- **Long input**: Paste a very long string (1000+ chars) — should be truncated or rejected
- **Special characters**: Enter `<script>alert('xss')</script>` — should be escaped
- **Tab order**: Use `browser_press` with Tab to verify focus moves logically through fields

### 4. Report

```
Form Test Results:
  Login form (/login):
    Empty submit: PASS — shows "Email required", "Password required"
    Invalid email: PASS — shows "Invalid email"
    Valid submit: PASS — redirects to /dashboard
    XSS check: PASS — input escaped

  Settings form (/settings):
    Empty submit: FAIL — submits without validation, returns 500
    Valid submit: PASS — shows "Settings saved" toast
```

Fix any failures found.

© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills

Similar skills

All skills for Testing and QA →

From the same set60

parallel-exploring Launches several explore subagents at once so you can map a large codebase fast. Useful for onboarding and for tracing a feature across layers. CX Codex +1 459installs seo-auditing Audits technical SEO in web projects, covering meta tags, structured data, robots.txt, sitemaps, and Core Web Vitals. Useful before shipping pages to production. CX Codex +1 456installs writing-commit-messages This skill gives the agent a fixed format for commit messages: type, scope, body, footer. Useful when the model writes the commits, not you. CX Codex +1 454installs monitoring-terminal-errors A skill that watches a running process — dev server, test runner, build — for crashes and stack traces, then opens the failing file and fixes it. Handy when the log is long and the error is buried. CX Codex +1 449installs suggesting-skills A skill that watches what you're doing and suggests installing another skill when one already covers the task. Useful when you don't know the set yet. CX Codex +1 445installs adding-e2e-tests A skill that walks your agent through Playwright setup: config, a smoke test, npm scripts and a CI run. CX Codex +1 445installs network-request-auditing Audits browser fetch and XHR calls after UI interactions to find errors, duplicate requests, and latency issues. Useful for API-heavy pages and backend changes. CX Codex +1 435installs dark-mode-testing Toggles light and dark mode in the browser, screenshots both states, and points out hardcoded colors, invisible text and contrast failures. CX Codex +1 436installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor