---
title: OpenPlanr Browser QA
description: Run practical browser-backed QA against real routes, forms, viewports, accessibility, console, and network behavior.
url: https://openplanr.dev/docs/skills/browser-qa
updated: 2026-10-06
related: []
---

# OpenPlanr Browser QA

Skill family: Review and QA.

Exercise the running app in a real browser, from routes and forms to phone sizes, accessibility, the console, and the network. It reports what it found and leaves the fixes to you.

Run practical browser-backed QA against real routes, forms, viewports, accessibility, console, and network behavior. Use for UI, authentication, session, navigation, or browser-network changes.

## Run it

- Claude Code: `/browser-qa`. If /browser-qa runs another command, use /planr:browser-qa.
- Codex: `$browser-qa`. With the OpenPlanr plugin for Codex, use $planr:browser-qa.
- Cursor: `@planr-browser-qa`. Cursor applies the planr-browser-qa rule when you mention it in chat.

## Use it to

- Test this page or application in a real browser
- Check routes, forms, mobile viewports, accessibility, console, and network behavior

## Not for

- Run backend unit tests only
- Review a plan without exercising a browser

## Example prompt

Claude Code:

```text
/browser-qa the sign-in flow on /login at phone and desktop sizes, including the expired-link error
```

If /browser-qa runs another command, use /planr:browser-qa.

Codex:

```text
$browser-qa the sign-in flow on /login at phone and desktop sizes, including the expired-link error
```

With the OpenPlanr plugin for Codex, use $planr:browser-qa.

Cursor:

```text
@planr-browser-qa the sign-in flow on /login at phone and desktop sizes, including the expired-link error
```

Cursor applies the planr-browser-qa rule when you mention it in chat.

Browser QA infers the routes, journeys, and sizes from your request and the repository, then starts or reuses the project's local runtime. It checks navigation, forms, responsive layout, keyboard access, visible focus, accessible names, console errors, failed requests, and the loading and error states the change touches. It never stores credentials, cookies, or session secrets.

The reply gives the outcome (pass, issues found, or blocked), the coverage it exercised, and reproducible findings with the page and the expected behavior. A check it could not run is reported as unverified, never as a pass. See [Review before it lands](https://openplanr.dev/docs/guides/review.md).
