UI Review
jvm-skills/jvm-skills
Verify UI/UX by running Playwright tests and reviewing screenshots.
Use before cutting a Breeze release, or whenever asked to "test everything since the last release", "check what's changed on main in the browser", "boot the stack and verify the merged PRs", or…
$ npx skills add LanternOps/breeze --skill pre-release-sweep -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LanternOps/breeze pre-release-sweep --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/LanternOps/breeze.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pre-release-sweep .claude/skills/pre-release-sweep && 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 "pre-release-sweep" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/pre-release-sweep into .claude/skills/pre-release-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pre-release-sweep", 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/LanternOps/breeze/tree/main/.claude/skills/pre-release-sweepType 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 LanternOps/breeze --skill pre-release-sweep -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LanternOps/breeze pre-release-sweep --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/pre-release-sweep .agents/skills/pre-release-sweep && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pre-release-sweep" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/pre-release-sweep into .agents/skills/pre-release-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pre-release-sweep", 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 LanternOps/breeze --skill pre-release-sweep -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LanternOps/breeze pre-release-sweep --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/pre-release-sweep .cursor/skills/pre-release-sweep && 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 "pre-release-sweep" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/pre-release-sweep into .cursor/skills/pre-release-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pre-release-sweep", 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/LanternOps/breeze.git --path .claude/skills/pre-release-sweep--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 LanternOps/breeze --skill pre-release-sweep -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LanternOps/breeze pre-release-sweep --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/pre-release-sweep .gemini/skills/pre-release-sweep && 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 "pre-release-sweep" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/pre-release-sweep into .gemini/skills/pre-release-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pre-release-sweep", 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 LanternOps/breeze pre-release-sweepInstalls 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 LanternOps/breeze --skill pre-release-sweep -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/pre-release-sweep .github/skills/pre-release-sweep && 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 "pre-release-sweep" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/pre-release-sweep into .github/skills/pre-release-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pre-release-sweep", 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 LanternOps/breeze --skill pre-release-sweep -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LanternOps/breeze pre-release-sweep --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LanternOps/breeze.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/pre-release-sweep .opencode/skills/pre-release-sweep && 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 "pre-release-sweep" agent skill from https://github.com/LanternOps/breeze/tree/main/.claude/skills/pre-release-sweep into .opencode/skills/pre-release-sweep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pre-release-sweep", 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.
pre-release-sweepUse before cutting a Breeze release, or whenever asked to "test everything since the last release", "check what's changed on main in the browser", "boot the stack and verify the merged PRs", or…
Pre Release Sweep is an agent skill from LanternOps/breeze. Use before cutting a Breeze release, or whenever asked to "test everything since the last release", "check what's changed on main in the browser", "boot the stack and verify the merged PRs", or "pre-release QA". Covers the gate on in-flight CI, standing up a stack at current main, walking every merged-since-tag change through Playwright, tracking results in a dated doc, logging UI/UX paper cuts, and fixing small defects on the way. For a whole-app sweep unrelated to a release window use ui-qa-sweep; for one…
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering UI design and Browser testing. It works with Playwright. The repository describes itself as: The open-source IT platform that comes with the workers. RMM + PSA in one system, with a governed AI operator built in. The licence is AGPL-3.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8329045. 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:
pnpmghdockergitnvmnpxtscFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, gh, docker, git and npx, which can reach the network depending on how they are called.
From 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.
Pre Release Sweep loads about 2.6k tokens when it runs. Until then it costs about 144 tokens; SKILL.md has 1,372 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 noted patterns worth knowing about, such as sudo or a known installer.
DY_IP=.*|BREEZE_CADDY_IP=<same /24>.10|' .env`WEBAUTHN_RP_ID=localhost` in the sweep `.env` or every passkey ceremony throws `SecurityError` (`rp.id` comes back as t8.2→main sweep):** (1) a fresh worktree `.env` copied from `.env.example` has `FORCE_HTTPS=true`, `NODE_ENV=production`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 LanternOps/breeze at commit 8329045, republished under its AGPL-3.0 licence (© LanternOps). 1,372 words, ~2,573 tokens.
.claude/skills/pre-release-sweep/SKILL.md (or your agent's skills folder).Verify every change merged since the last release tag actually works in the
browser, on a stack built from current origin/main, and leave a tracking
doc a release cut can cite. The tracking doc is the deliverable; the browser
work exists to fill it.
Tracking doc: docs/testing/release-sweeps/<YYYY-MM-DD>-<from-tag>-to-<to>.md
(copy TEMPLATE.md in that directory). Write to it as you go — a sweep
outlives a context window.
gh pr list --state open — non-draft PRs against main with CI running are
the "waiting" set. Draft/stacked PRs are not.gh pr checks <n> --watch in the background (never poll by hand).gh pr merge <N> enqueues; never --admin). Ignore
only known-noise checks and say which: Trivy on CVE-2026-14456
(base-image openssl) is the current one — confirm the CVE id in the log
before dismissing it.origin/main SHA in the doc header. That SHA is the base
of the sweep; anything merged after it is a follow-up entry, not silently
absorbed.pnpm wt-stack up builds from the worktree's checkout. A sweep on a
feature branch verifies the wrong code (bit us 2026-08-24, 47 commits stale).
git fetch --deepen=200 origin main # herdr worktrees are shallow
git checkout -b qa/sweep-post-<from-tag> origin/main # fixes land here
sed -i '' 's|^BREEZE_DOCKER_SUBNET=.*|BREEZE_DOCKER_SUBNET=<fresh /24>|; s|^BREEZE_CADDY_IP=.*|BREEZE_CADDY_IP=<same /24>.10|' .env
source ~/.nvm/nvm.sh && nvm use # .nvmrc pin, not host node
pnpm install --frozen-lockfile # code-mounted node_modules — stale tree = Astro NoMatchingRenderer
pnpm wt-stack up # read .breeze-stack.json for baseUrl + credsPick the /24 from docker network ls -q | xargs docker network inspect --format '{{.Name}} {{range .IPAM.Config}}{{.Subnet}}{{end}}' — an existing network with the same subnet fails compose with "Pool overlaps", running or not.
Boot with every feature flag the inventory (Phase 2) names, or the surface is
invisible and the check reads as a false FAIL. If the API is unhealthy with a
does not provide an export named … error, the dev image is stale — pnpm wt-stack up --rebuild. The seed has one org and a non-platform-admin; promote
it for /admin/* rows (update users set is_platform_admin=true where email='admin@breeze.local') and let a sweep agent create sibling orgs. Then
log in yourself once before dispatching any browser agent; a blocked sweep
agent is 15 wasted minutes.
Stack traps seen 2026-09-08 (v0.110→main sweep): (1) the first wt-stack up on a fresh DB fails with "api is unhealthy" because the healthcheck window closes during the ~645-migration replay — wait for Applied N migration(s) in docker logs <api> then run up again, it is idempotent; (2) set WEBAUTHN_RP_ID=localhost in the sweep .env or every passkey ceremony throws SecurityError (rp.id comes back as the prod domain) — the CDP virtual authenticator does not help; (3) SMS has no local provider (POST /auth/phone/verify → 501), phone-MFA rows are BLOCKED by design, say so; (4) role-forced MFA (force_mfa on Partner Admin) can lock the seeded admin into /auth/mfa/setup?forced=1 — MFA_FORCE_FOR_PARTNER_ADMIN=false is the relief valve (default OFF since #5307); (5) the seed's Invite offers partner-scoped roles only, so an org/site-restricted reader must be created via SQL; (6) fixer first-passes regress: run one review round per fix even when the diff is small — two of nine fixes this sweep needed it.
Stack traps seen 2026-09-29 (v0.118.2→main sweep): (1) a fresh worktree .env copied from .env.example has FORCE_HTTPS=true, NODE_ENV=production and a placeholder PUBLIC_API_URL, and the dev override defaults PUBLIC_API_URL to the prod domain — every API POST returns 400 until you set FORCE_HTTPS=false, TRUST_PROXY_HEADERS=false, and PUBLIC_API_URL / PUBLIC_APP_URL / DASHBOARD_URL / CORS_ALLOWED_ORIGINS to the local base URL; (2) the dev override defaults BREEZE_WORKSPACE_ENABLED to true — set it false on a stack without pgvector; (3) when the Playwright MCP browser is held by another session, drive headless Playwright scripts instead: save storageState after every script (refresh tokens rotate, and a script that dies before saving leaves the next run logged out) and set localStorage['breeze-onboarding-complete']='true' to skip the onboarding overlay.
Dispatch one Explore agent (model: sonnet) to produce the inventory table:
merged PRs since the tag, surface (web / portal / api-only /
agent-only / docs-chore), a concrete click-path read from source
(real route from apps/web/src/pages, real button labels), the visible
outcome that proves the change, and prereqs (flag, role, live agent) that make
it BLOCKED locally. It must also list every BREEZE_*/*_ENABLED env var in
the diffs and cluster the click-paths into 4–6 area groups.
Paste the table into the doc with a Status column = TODO. Every row ends
the sweep as PASS | PARTIAL | FAIL | BLOCKED | N/A — never left TODO.
One agent owns the Playwright MCP browser at a time; groups run
sequentially. Each agent gets: the stack descriptor, its group's rows
verbatim, the doc path, and the rules below. It appends its rows' results plus
a "Paper cuts" sub-list before returning. Read ui-qa-sweep Phase 3/4 for the
everyday-workflow checks to fold in when a group is thin.
Rules every sweep agent must follow (they are the recurring false-positive sources):
[data-testid="toast"], auto-dismiss 5 s. Click and
poll for the toast inside one browser_evaluate, or install a
MutationObserver recorder before clicking. A "no toast" reading is a
measurement, not a finding, until grep -n runAction <component> shows no
successMessage.main or the drawer — tab labels collide with
sidebar links by text.fixed inset-0 divs with no role=dialog; assert on title text
or data-testid, and on the outcome, not the container.428 on the first POST /auth/login (session-binding
handshake, the retry succeeds); non-platform-admin 403s on /admin/*.apps/api/src edit restarts the API for
~40 s. Tell the sweep agent which files are being edited and to treat a
Vite overlay / 502 burst there as "wait 20 s and reload"; run API-side fixes
in an isolated worktree (isolation: "worktree") and cherry-pick after the
sweep group finishes."Small" = one file or one component, no tenancy/auth/migration/billing/agent
surface, reproducible in a unit test. Fix on the qa/sweep-* branch, red
test first, then npx vitest run <file> (no -- before the flag; never a
trailing-slash path). Dispatch a sonnet agent per fix with the exact
repro + file. Tell it: lint/typecheck in the foreground with timeout 240
(a backgrounded run stalls the agent with the fix uncommitted — SendMessage
it to finish if that happens); --pool=threads --maxWorkers=2 if vitest can't
start workers under the running stack; never an eslint-disable for a rule
not in the package's eslint config (the comment itself is the lint error).
Verify its commit exists, skim the diff, and run eslint on the changed files
yourself before recording it. Run the heavy web tsc --noEmit once from the
main session, not per agent.
Anything larger → GitHub issue via github-issues, dedupe first, cite the doc.
Both go in the doc: Fixes applied (commit SHA) and Issues filed (#).
Summary table (group → PASS/PARTIAL/FAIL/BLOCKED counts), "Top findings"
(systemic patterns beat single bugs), the oldest PR reached, and what a
release cut still needs (flags to enable, BLOCKED rows needing a live agent).
Open one PR: the fixes + the tracking doc. Then tear down: pnpm wt-stack down
from this worktree, and docker compose ls -a to confirm nothing from the sweep
is still up — sweep agents' pnpm test-stack copies included (worktree-stack
skill → "Tear down when done"). Report anything you left running and why.
| Work | Agent |
|---|---|
| Inventory, env-var grep, mechanical single-file fixes | sonnet |
| Browser sweep (judgement on paper cuts, false-positive traps) | opus |
| Review of a fix that touched auth/tenancy | opus, one round |
browser_evaluate before filing.© LanternOps, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/pre-release-sweep of LanternOps/breeze.
Open the folder on GitHubat commit 8329045
Pre Release Sweep 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 |
|---|---|---|---|---|---|---|
| Pre Release Sweep this skillLanternOps/breeze | 132 | — | ~2.6k | Automated safety check: Notes | AGPL-3.0 | |
| UI Reviewjvm-skills/jvm-skills | 140 | — | ~545 | Automated safety check: Pass | Apache-2.0 | |
| Liteyuki Webui FrontendLiteyukiStudio/LiteyukiBot | 157 | — | ~2.5k | Automated safety check: Pass | Custom licence | |
| Igniteui Angular Figma To AppIgniteUI/igniteui-angular | 599 | — | ~6.4k | Automated safety check: Pass | MIT | |
| Web Application Testinganthropics/skills | 180k | 51 repos | ~966 | Automated safety check: Pass | Apache-2.0 | |
| Chrome Tracelayoutit/polycss | 761 | — | ~2k | Automated safety check: Pass | MIT |
jvm-skills/jvm-skills
Verify UI/UX by running Playwright tests and reviewing screenshots.
LiteyukiStudio/LiteyukiBot
Build, review, or test LiteyukiBot v7's React/Vite WebUI under webui/ and its packaged static delivery in packages/webui/.
IgniteUI/igniteui-angular
Builds Angular views from Figma designs with Ignite UI for Angular, supporting Indigo.Design kits, third-party kits, and plain frames.
anthropics/skills
Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.
layoutit/polycss
Capture and analyze Chrome/Chromium performance traces with Playwright around a concrete browser interaction.
SunkenInTime/which-ai
Add a generated regular Next.js source app into the ui-design-bench static gallery as a model generation, including source placement, variant wrapper, manifest/registry/type updates, scoped CSS…
LanternOps/breeze
Quick reference for the Breeze RMM Go agent architecture, commands, configuration, build process, and data flows.
LanternOps/breeze
A skill your agent uses when debugging agent issues, investigating agent errors, checking agent connectivity, or reviewing agent diagnostic logs.
LanternOps/breeze
Quick reference for the Breeze RMM AI Agent system architecture, MCP tools, streaming chat, cost tracking, guardrails, and MCP server.
LanternOps/breeze
Quick reference for the Breeze Helper Tauri desktop app — architecture, Rust backend commands, React frontend, config files, IPC with the Go agent, helper chat API routes, tool approval flow, and…
LanternOps/breeze
A skill your agent uses when running a broad manual/AI-driven end-to-end verification of Breeze RMM across many merged PRs or commits — "test everything since the last release", release-readiness…
LanternOps/breeze
A skill your agent uses when orchestrating Breeze implementation work from this seat — dispatching waves or issue fixes to background sessions, deciding whether an open PR gets merged, handling a…
Works with
Categories
Use before cutting a Breeze release, or whenever asked to "test everything since the last release", "check what's changed on main in the browser", "boot the stack and verify the merged PRs", or…. Pre Release Sweep is an agent skill from LanternOps/breeze. Use before cutting a Breeze release, or whenever asked to "test everything since the last release", "check what's changed on main in the browser", "boot the stack and verify the merged PRs", or "pre-release QA".
Pre Release Sweep fits situations like: tasks that involve UI design; tasks that involve Browser testing.
Run `npx skills add LanternOps/breeze --skill pre-release-sweep -a claude-code`. Or copy the skill folder (.claude/skills/pre-release-sweep in LanternOps/breeze) into .claude/skills/pre-release-sweep in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LanternOps/breeze --skill pre-release-sweep -a codex`. Or copy the skill folder (.claude/skills/pre-release-sweep in LanternOps/breeze) into .agents/skills/pre-release-sweep 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 LanternOps/breeze --skill pre-release-sweep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pre-release-sweep, .gemini/skills/pre-release-sweep, .github/skills/pre-release-sweep and .opencode/skills/pre-release-sweep in your project.
Going by SKILL.md and its folder, Pre Release Sweep needs the command-line tools its instructions call (pnpm, gh, docker, git, nvm and npx). Our summary lists: Node.js; Docker.
SKILL.md contains no URLs. Its commands use gh, docker, git and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Pre Release Sweep is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k 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 Pre Release Sweep: UI Review (jvm-skills/jvm-skills, 140 stars), Liteyuki Webui Frontend (LiteyukiStudio/LiteyukiBot, 157 stars), Igniteui Angular Figma To App (IgniteUI/igniteui-angular, 599 stars) and Web Application Testing (anthropics/skills, 180k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LanternOps (a GitHub organization) maintains it in LanternOps/breeze, which has 132 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 9, 2026.
Source: LanternOps/breeze on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.