60-browser-qa

A browser-quality rule defines when browser automation, such as Playwright, may be used for visual or interface checks.

In plain words
What is it for?
Use it to decide whether browser inspection, screenshots, responsive checks, or browser console checks are within scope for a task.
Why use it?
It prevents automated browser testing from being run merely because the tools are available, while allowing a limited visual check when the task permits it.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/conlinjoe/ai-platform/60-browser-qa
Clone the repo
git clone --depth 1 https://github.com/ConlinJoe/ai-platform

Made for: Cursor.

Per session 1,746 This file is loaded in full into every session.
When invoked 1,746 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.01746 $0.01746
Opus 5 $0.00873 $0.00873
Sonnet 5 $0.00349 $0.00349
Haiku 4.5 $0.00175 $0.00175

Measured 2d ago against content hash 3308a43a7edb, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

60-browser-qa scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/60-browser-qa.mdc · 234 lines

How it starts

The opening of the file, as written. The whole thing — 234 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Browser QA

Invocation

Playwright availability is not general authorization.

Do not run Playwright or other browser automation unless one of the following is true:

  1. The current task explicitly instructs browser QA / Playwright / browser inspection.
  2. 40-ui classified the work as significant UI and a bounded Mode B visual verification pass is in scope (below).

This includes Playwright test suites, targeted Playwright tests, automated browser inspection, automated screenshots, visual regression captures, browser-driven responsive checks, and browser console inspection through automation.

Do not infer general authorization from: Playwright being installed, existing browser tests, Playwright MCP or other browser MCP, screenshot tooling, a browser-QA contract, frontend or responsive code changes, this rule, a UI/design skill recommending screenshots, or previous turns that used Playwright.

Availability is also not justification for invoking a browser tool the bounded task does not need.

Vendor UI/design skills do not authorize browser automation.

Significant UI — bounded Mode B visual pass

Significant UI work (see 40-ui) authorizes proportionate rendered visual verification of that UI only, when a real-browser capability is available in the current environment.

That pass may:

  • render the actual implementation
  • inspect affected viewport classes
  • inspect materially affected interaction states
  • compare against supplied references when applicable
  • check relevant accessibility concerns on the real UI
  • when meaningful motion is involved, observe the relevant animation and interaction states (40-ui)
  • iterate if the rendered result exposes meaningful problems

It does not authorize:

  • creating or expanding a Playwright Mode A suite
  • the full Mode A→B browser-QA loop
  • broad application exploration
  • unrelated browser QA
  • destructive actions
  • expanding task scope
  • formal performance profiling
  • new animation dependencies
  • additional MCP installation

Read the full file on GitHub · 234 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 234 lines · 1,746 tokens per session scan A 3308a43a7edb

Subscribe to this mod's changes

60-browser-qa is a cursor rule published in the GitHub repository ConlinJoe/ai-platform (2 stars, last pushed 4d ago), licensed MIT. It adds 1,746 tokens to every session, about $0.0087 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.