Playwright E2E Tests
onyx-dot-app/onyx
Write and maintain Playwright end-to-end tests for the Onyx application.
Ad hoc, AI-driven verification of a specific behavior on ZenUML web-sequence — not a new checked-in E2E test.
$ npx skills add ZenUml/web-sequence --skill spot-check -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ZenUml/web-sequence spot-check --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ZenUml/web-sequence.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/spot-check .claude/skills/spot-check && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "spot-check" agent skill from https://github.com/ZenUml/web-sequence/tree/master/.claude/skills/spot-check into .claude/skills/spot-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spot-check", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ZenUml/web-sequence/tree/master/.claude/skills/spot-checkType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ZenUml/web-sequence --skill spot-check -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ZenUml/web-sequence spot-check --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZenUml/web-sequence.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/spot-check .agents/skills/spot-check && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "spot-check" agent skill from https://github.com/ZenUml/web-sequence/tree/master/.claude/skills/spot-check into .agents/skills/spot-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spot-check", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZenUml/web-sequence --skill spot-check -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ZenUml/web-sequence spot-check --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZenUml/web-sequence.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/spot-check .cursor/skills/spot-check && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "spot-check" agent skill from https://github.com/ZenUml/web-sequence/tree/master/.claude/skills/spot-check into .cursor/skills/spot-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spot-check", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ZenUml/web-sequence.git --path .claude/skills/spot-check--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ZenUml/web-sequence --skill spot-check -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ZenUml/web-sequence spot-check --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZenUml/web-sequence.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/spot-check .gemini/skills/spot-check && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "spot-check" agent skill from https://github.com/ZenUml/web-sequence/tree/master/.claude/skills/spot-check into .gemini/skills/spot-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spot-check", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ZenUml/web-sequence spot-checkInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ZenUml/web-sequence --skill spot-check -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ZenUml/web-sequence.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/spot-check .github/skills/spot-check && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "spot-check" agent skill from https://github.com/ZenUml/web-sequence/tree/master/.claude/skills/spot-check into .github/skills/spot-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spot-check", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ZenUml/web-sequence --skill spot-check -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ZenUml/web-sequence spot-check --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ZenUml/web-sequence.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/spot-check .opencode/skills/spot-check && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "spot-check" agent skill from https://github.com/ZenUml/web-sequence/tree/master/.claude/skills/spot-check into .opencode/skills/spot-check/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spot-check", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
spot-checkAd hoc, AI-driven verification of a specific behavior on ZenUML web-sequence — not a new checked-in E2E test.
Spot Check is an agent skill from ZenUml/web-sequence. Ad hoc, AI-driven verification of a specific behavior on ZenUML web-sequence — not a new checked-in E2E test. Use after developing a feature, fixing a bug, validating a branch, checking staging, or post-release on app.zenuml.com. Drives Playwright (CLI or MCP) against the live app and demo-frame preview. Triggers on "spot check", "run a spot check on X", "spot check this fix", "spot check on staging", "spot check staging.zenuml.com", "verify on prod".
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Testing & QA, covering Browser testing, End-to-end testing and Diagrams. It works with Playwright and Model Context Protocol. The repository describes itself as: Realtime tool for generating sequence diagrams. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e38bd91. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmyarnFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
staging.zenuml.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Spot Check loads about 1.7k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 725 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ZenUml/web-sequence at commit e38bd91, republished under its MIT licence (© ZenUml). 725 words, ~1,747 tokens.
.claude/skills/spot-check/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A spot check is an ad hoc, AI-driven, ephemeral verification of a specific behavior. It is not meant to become a permanent regression suite entry unless the team explicitly promotes it later.
What it is NOT: inventing a new e2e/tests/*.spec.js during the spot check, a full regression pass, or a substitute for CI.
What it CAN reuse: existing Playwright specs as recipes (run them; do not edit them unless fixing a real bug).
STOP. Do not open the browser or run Playwright until the plan is written.
Each planned check must name:
#demo-frame, visible SVG, modal title, localStorage key, network response, etc.pnpm exec playwright test …, screenshot, console checkEach item must be independently pass/fail before you run it.
Spot check plan: <short title>
Target: <http://127.0.0.1:3000 | https://staging.zenuml.com | https://app.zenuml.com>
- [ ] <specific observable assertion> [method]
- [ ] <specific observable assertion> [method]
Skipped: <anything out of scope> — <reason>For post-release spot checks (release delta, commit triage, N/A rules), follow Step 5.5 in the release-app skill.
For branch validation before push, follow Step 3 in the validate-branch skill after writing the plan here.
| Situation | Target |
|---|---|
| Unreleased frontend (local branch) | yarn dev → http://127.0.0.1:3000 (Vite default) |
| PR / “did staging deploy work?” | https://staging.zenuml.com |
| Production issue or post-release | https://app.zenuml.com |
| Prod-build bundling only (no deploy) | PW_PROD_BUILD=1 pnpm exec playwright test e2e/tests/production-build.spec.js |
| CI already green on staging | Trust gate, then spot-check only the delta on staging or prod |
| Signal | How |
|---|---|
| Diagram render / DSL | Set CodeMirror value or type; poll #demo-frame contentDocument for SVG + label text; screenshot preview |
| Editor / modals / pages | Playwright on parent page (getByTitle, getByRole('dialog')) |
| Save / localStorage | Meta+s / Control+s; poll item-* keys (see e2e/tests/smoke.spec.js) |
| Deployed URL regression (broad) | PW_BASE_URL=<url> pnpm exec playwright test --project=chromium |
| DSL shapes (recipe) | PW_BASE_URL=<url> pnpm exec playwright test e2e/tests/dsl-spot-check.spec.js --project=chromium --workers=1 |
| Fast prod sanity (recipe) | PW_BASE_URL=https://app.zenuml.com pnpm exec playwright test --grep @smoke --project=chromium |
| Analytics (optional) | Mixpanel MCP if the change emits events |
Before interacting on any URL:
page.addInitScript or browser console before reload:
localStorage.setItem('loginAndsaveMessageSeen', 'true')#demo-frame, not the parent DOM. Use page.frameLocator('#demo-frame') or contentDocument polling like the smoke spec.THIRD_PARTY_ERROR_SOURCES in smoke.spec.js). Do not fail the spot check on those alone.[ ] check; capture screenshots for diagram assertions (render-diagram-* style evidence in report).Spot check report: <title>
- Target: <url>
- Results: <n> pass, <n> fail, <n> skipped
- Evidence: <screenshots / playwright report / CI run>
- Failures: <assertion> — <what you saw>Use these when they match the plan — do not treat running a spec as “the whole spot check” unless the delta is genuinely “general deploy health.”
| Recipe | Command |
|---|---|
| Full staging gate (CI parity) | PW_BASE_URL=https://staging.zenuml.com pnpm exec playwright test --project=chromium --workers=1 |
| DSL + diagram screenshots | PW_BASE_URL=<url> pnpm exec playwright test e2e/tests/dsl-spot-check.spec.js --project=chromium --workers=1 |
| Prod smoke subset | PW_BASE_URL=https://app.zenuml.com pnpm exec playwright test --grep @smoke --project=chromium |
Static dist/ guard | pnpm build && PW_PROD_BUILD=1 pnpm exec playwright test e2e/tests/production-build.spec.js --project=chromium |
After a recipe run, open the HTML report if the user needs visual proof:
pnpm exec playwright show-report| Tool | Use for |
|---|---|
| Playwright CLI | Repeatable checks, CI parity, screenshot attachments in report |
Playwright MCP (user-playwright) | Ad-hoc navigation when CLI is awkward |
| cursor-ide-browser | Quick visual confirmation; use browser_cdp / Runtime.evaluate for #demo-frame innards |
The preview iframe is same-origin accessible from Playwright tests; still scope selectors to the frame for diagram content.
| Skill | When |
|---|---|
| validate-branch | Pre-push; write plan here, then execute |
| release-app | Step 5.5 — release-delta spot check after publish |
| ship-branch | Merge path; staging gate is CI, not a substitute for delta spot check |
| babysit-pr | Fix CI, not product verification |
© ZenUml, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .claude/skills/spot-check of ZenUml/web-sequence.
Open the folder on GitHubat commit e38bd91
Spot Check next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Spot Check this skillZenUml/web-sequence | 150 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Playwright E2E Testsonyx-dot-app/onyx | 32k | 1 repos | ~2.8k | Automated safety check: Notes | Custom licence | |
| E2E VerificationChorus-AIDLC/Chorus | 1.2k | — | ~1.5k | Automated safety check: Notes | AGPL-3.0 | |
| Playwright Testingchongdashu/vibejam-starter-pack | 149 | — | ~2.2k | Automated safety check: Pass | None | |
| Frontend Playwright E2Eansible/ansible-ui | 113 | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Playwright POM Discoverycomet-ml/opik | 22k | — | ~4.4k | Automated safety check: Pass | Apache-2.0 |
onyx-dot-app/onyx
Write and maintain Playwright end-to-end tests for the Onyx application.
Chorus-AIDLC/Chorus
A skill your agent uses when manually verifying a Chorus frontend change in a real browser — finding local login credentials, driving the running dev server with the Playwright MCP, logging in…
chongdashu/vibejam-starter-pack
Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.
ansible/ansible-ui
Write, run, and debug Playwright E2E / integration / live tests.
comet-ml/opik
Procedure for choosing stable selectors when building Page Object Models for the Opik E2E suite by exploring the live UI with the Playwright MCP.
petrkindlmann/qa-skills
Goal-driven E2E testing where a browser agent (Playwright MCP / computer-use) reads a natural-language goal and explores the app via the accessibility tree to assert outcomes — no pre-written script.
ZenUml/web-sequence
Monitor and diagnose GitHub Actions checks on ZenUML web-sequence PRs, fixing code-caused CI failures when appropriate.
ZenUml/web-sequence
Merge a green ZenUML web-sequence PR into master and verify staging CI after merge.
ZenUml/web-sequence
Release ZenUML web-sequence to production (app.zenuml.com) by publishing a GitHub release, wait for deploy-prod CI + @smoke, then run a release-delta spot check (spot-check skill Step 5.5).
ZenUml/web-sequence
Push the current ZenUML web-sequence branch, create or reuse a GitHub PR against master, then always run babysit-pr until CI is green or blocked.
ZenUml/web-sequence
Run local validation checks for ZenUML web-sequence before pushing, opening a PR, or merging.
ZenUml/web-sequence
Take the current ZenUML web-sequence branch from local validation through PR submission, green CI, and merge to master.
Works with
Categories
Ad hoc, AI-driven verification of a specific behavior on ZenUML web-sequence — not a new checked-in E2E test. Spot Check is an agent skill from ZenUml/web-sequence. Ad hoc, AI-driven verification of a specific behavior on ZenUML web-sequence — not a new checked-in E2E test.
Spot Check fits situations like: run a spot check on X; spot check this fix; spot check on staging; spot check staging.zenuml.com.
Run `npx skills add ZenUml/web-sequence --skill spot-check -a claude-code`. Or copy the skill folder (.claude/skills/spot-check in ZenUml/web-sequence) into .claude/skills/spot-check in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ZenUml/web-sequence --skill spot-check -a codex`. Or copy the skill folder (.claude/skills/spot-check in ZenUml/web-sequence) into .agents/skills/spot-check in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ZenUml/web-sequence --skill spot-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spot-check, .gemini/skills/spot-check, .github/skills/spot-check and .opencode/skills/spot-check in your project.
Going by SKILL.md and its folder, Spot Check needs the command-line tools its instructions call (pnpm and yarn).
SKILL.md names 1 domain. In commands or code: staging.zenuml.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Spot Check is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Spot Check: Playwright E2E Tests (onyx-dot-app/onyx, 32k stars), E2E Verification (Chorus-AIDLC/Chorus, 1.2k stars), Playwright Testing (chongdashu/vibejam-starter-pack, 149 stars) and Frontend Playwright E2E (ansible/ansible-ui, 113 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ZenUml (a GitHub organization) maintains it in ZenUml/web-sequence, which has 150 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 5, 2026.
Source: ZenUml/web-sequence on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.