Cross-Browser Checklist
Produce a targeted manual cross-browser test checklist for a changed frontend feature, covering Chrome, Firefox, Safari (macOS + iOS), and Edge against the feature's user flows. Triggers on 'cross-bro
SKILL.md.claude/skills/skill-cross-browser-checklist/SKILL.md
GitHubPurpose
Turn an open-ended "test it in all browsers" ask into a deterministic, diff-scoped checklist. The output lists the specific flows, widgets, and interactions touched by the change so QA is focused rather than exhaustive.
When to Invoke
- Before promoting a feature branch to staging.
- When a PR touches form controls, modals, or USWDS overrides.
- As part of a release readiness review.
When NOT to Invoke
- Backend-only changes.
- Content-only changes (copy, translations).
- Changes already covered by a Playwright suite across browsers.
Inputs
- diff: git ref range (default
origin/main...HEAD). - browsers (optional): subset, default
chrome,firefox,safari-macos,safari-ios,edge.
Procedure
- Collect changed
.tsx|.ts|.scssfiles from the diff. - Identify affected user flows by tracing route files and component usage.
- Inspect each changed component for browser-sensitive constructs:
input[type=date],<dialog>,position: sticky, custom focus rings, CSS logical properties, clipboard/file APIs. - For each browser, emit a checklist item tailored to the flow plus any sensitive construct.
- Flag known Safari quirks (iOS viewport units,
:has()support floor, date input UI). - Output a Markdown checklist the tester can paste into the PR.
Outputs
Cross-Browser Checklist — PR #4321 (Opportunity Search filters)
### Chrome 120
- [ ] Filter panel opens and closes via button and Esc
- [ ] Date range picker accepts mm/dd/yyyy and keyboard entry
- [ ] Results count updates on filter change
### Safari macOS 17
- [ ] Date input falls back to native picker; value round-trips
- [ ] Sticky filter sidebar stays in viewport on scroll
- [ ] Focus ring visible on filter chips
### Safari iOS 17
- [ ] Tap target >= 44px on filter chips
- [ ] Keyboard does not obscure filter submit button
...
Safety
- Read-only; produces a checklist, not test code.
- Never assumes a flow works — everything is a tester action.
- Flags PII-adjacent flows (login, application) with a reminder to use the staging fixture user only.
Examples
Example 1 — Filter feature. Output scoped to filter open/close, date picker, sticky sidebar.
Example 2 — Form refactor. Output adds iOS keyboard and autofill checks.
Example 3 — Modal introduction. Output adds focus trap, backdrop click, Esc handling per browser.
Related
.cursor/agents/visual-regression.md— paired screenshot check..cursor/skills/skill-accessibility-check/— run together for release QA..cursor/skills/skill-uat-checklist/— business-level acceptance flow.