Skip to content

Add cmb2-playwright-qa agent skill and Playwright QA environment config - #1564

Merged
jtsternberg merged 5 commits into
developfrom
playwright-browser-qa-skill
Sep 20, 2026
Merged

jtsternberg merged 5 commits into
developfrom
playwright-browser-qa-skill

Conversation

@jtsternberg

Copy link
Copy Markdown
Member

Description

Adds the cmb2-playwright-qa agent skill: a documented, repeatable way to turn a PR's testing procedure, a review discussion, or an issue repro into a temporary evidence-focused Playwright run against the isolated wp-env suite — claim-level screenshots, a filled report template, and criteria for when ad-hoc coverage should graduate into tests/playwright/.

Alongside the skill (in .agents/skills/cmb2-playwright-qa/, symlinked from .claude/skills/), this carries the Playwright environment config its instructions reference: .env.local.example, SKIP_WP_SERVER/SKIP_WP_CHECK support via dotenv, a testIgnore for exploratory scripts, and a gitignored tests/playwright/.qa/ artifacts directory.

Motivation and Context

Manual browser QA of CMB2 changes kept being reinvented per PR — each run rediscovering the same environment traps (auth-state refresh, the tests env deactivating the plugin on re-provision). The skill captures the workflow and the traps once, so any agent or contributor can produce reviewable, claim-by-claim evidence instead of "I clicked around and it looked fine."

No linked issue.

Risk Level

Minimal: developer tooling only. No runtime plugin code is touched — the diff is agent-skill docs, Playwright config, and an exploratory-script template.

Testing procedure

The skill has been exercised end-to-end by two full QA runs against the isolated wp-env tests site (.wp-env-tests.json, port 2623), most recently a 7-claim admin-notice matrix with all claims passing and every report link verified to resolve. npm run test:e2e (the durable suite) is unaffected: the new testIgnore keeps exploratory .qa/ scripts out of it.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

Screenshots

N/A (developer tooling; no UI changes).

🤖 Generated with Claude Code

https://claude.ai/code/session_01CWsz3J4MfzkanHyPrf3DU8

jtsternberg and others added 5 commits September 20, 2026 15:14
Three gaps a run surfaces only after it is already wasted:

A skill that describes how to run browser QA but never when not to gets used
for changes with no rendered output at all. Route sanitization, escaping and
REST permission work to PHPUnit, and a single "does it render?" look to
claude-in-chrome, before a Playwright run is stood up.

Ordinal artifact names (claim-01-before.png) push the cost onto the reviewer,
who must replay the run to learn what the screenshot was meant to prove. Name
the file after the claim instead; the bundled exploratory script now models it.

pass/fail left no honest home for a claim that could not be run, so an
infrastructure dependency or a deliberately preserved site state had to be
logged as a failure or dropped. Skipped is now a first-class result and always
carries its reason.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RX5t3Pbg1wSBjz5FKqzNE3
@codecov

codecov Bot commented Sep 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.41%. Comparing base (a05bab5) to head (9b04ea4).

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #1564   +/-   ##
==========================================
  Coverage      68.41%   68.41%           
  Complexity      1763     1763           
==========================================
  Files             52       52           
  Lines           4774     4774           
==========================================
  Hits            3266     3266           
  Misses          1508     1508           
Flag Coverage Δ
phpunit 68.41% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jtsternberg
jtsternberg merged commit 03266c5 into develop Sep 20, 2026
20 checks passed
@jtsternberg
jtsternberg deleted the playwright-browser-qa-skill branch September 20, 2026 19:49
@jtsternberg
jtsternberg restored the playwright-browser-qa-skill branch September 20, 2026 19:50
@jtsternberg
jtsternberg deleted the playwright-browser-qa-skill branch September 20, 2026 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant