frontend-qa
Drives a local web app in a headless browser to find and fix functional failures and visual defects, then proves each fix with a re-run.
Skill by 0xdewy
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/0xdewy-frontend-qa
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: frontend, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/frontend-qa
What's inside
- Skill name
frontend-qa- Description
- Drives a local web app in a headless browser to find and fix functional failures and visual defects, then proves each fix with a re-run. Only use when explicitly requested.
- License
- MIT
- Instructions
- 68 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (5)
- SKILL.md
- evals.json · evals/
- attacks.md · references/
- visual-checklist.md · references/
- browse.mjs · scripts/
SKILL.md (first lines)
# Frontend QA
Exercise a running local web app in headless Chromium, find what breaks or
looks wrong, fix it in scope, and prove the fix by re-running. Evidence is a
screenshot path, a recorded event, or a computed value; nothing else counts.
Load `../common/patterns/execution-contract.md` for `WORKSPACE` and the
completion line. Everything runs through `scripts/browse.mjs` with Node. It
uses the project's Playwright when installed, else the global `playwright`
package. If neither exists, ask before running
`npm i -g playwright && playwright install chromium`. Never add Playwright to
the project's own dependencies.
## Scope
- Named routes or flows: test only those. Otherwise the routes linked from the
start page and the flows visible on them.
- "test", "QA", "bugs", "broken": functional lens. "design", "layout",
"looks", "polish": visual lens. Unqualified: both.
- State scope, lens, and app URL in one line before starting.
## Workflow
1. **App.** Use a server that is already running. Otherwise start the dev
script from `package.json` with the lockfile's package manager, in the
background, and record command, URL, and PID.
2. **Sweep.** `node scripts/browse.mjs audit <url> --out <WORKSPACE>/audit
[--routes /a /b]`. Per route and viewport it saves a screenshot and records
console and page errors, failed and 4xx+ requests, horizontal overflow,
broken images, small touch targets (mobile), and design tokens (desktop).
Read the printed summary, then `audit.json` for the routes with problems.
3. **Flows** (functional lens). One file per flow under `<WORKSPACE>/flows/`,
run with `node scripts/browse.mjs run <flow>.mjs --base <url> --out
<WORKSPACE>/flows [--viewport mobile]`. Use `getByRole` and `getByLabel`
locators, assert the outcome a user would see, then `t.snap`. Pick attacks
for each form and action from `references/attacks.md`.
```js
export default async (page, t) => {
await page.goto(t.base + '/checkout');
await page.getByLabel('Email').fill('qa@example.com');
await page.getByRole('button', { name: 'Continue' }).click();
await page.waitForURL('**/payment');
await t.snap('payment-step');
};
```
A thrown error or a page error fails the flow, saves a `-failed`
screenshot, and exits 1. Console errors and failed requests are recorded
in the flow's JSON for you to judge.
4. **Judge** (visual lens). Read the screenshots and tokens against
`references/visual-checklist.md`. A finding names the element, the
screenshot or value, and the rule it breaks.
5. **Fix.** Smallest change in the app's own conventions and design system.
No redesign, new dependency, or unrelated cleanup unless asked. Re-run the
failing flow or re-sweep the route; a fix without a green re-run is not a
fix. When asked for a report only, edit no source.
6. **Report** `<WORKSPACE>/report.md`: still failing first, each with
evidence; then fixed and re-verified; then tested and passing; then out of
reach (external services, auth, missing data). Generated flows stay in
`WORKSPACE` unless the user wants them in the project.
7. Stop any server you started.
```text
DONE: <WORKSPACE>/report.md — <passed>/<total> flows passing, <N> fixed, <M> open
```From 0xdewy/skills, MIT.
More from 0xdewy/skills
- 0.570score
agentify
0xdewy
Maps git-tracked code with a ranked outline, scoped expansion, and symbol or call-site XREFs.
SkillAFreshness: AClaude Code +9 - 0.570score
audit-debian-server
0xdewy
Audit, harden, and monitor Debian or Ubuntu application servers.
SkillAFreshness: AClaude Code +9 - 0.570score
code-smellz
0xdewy
Finds and fixes repository-wide correctness, security, architecture, and maintainability problems with bounded review.
SkillAFreshness: AClaude Code +9 - 0.570score
git-show
0xdewy
Visualize repository fleets, PR stacks, and local work in an interactive HTML dashboard or compact text tree.
SkillAFreshness: AClaude Code +9 - 0.570score
shrinkray
0xdewy
Shrinks repositories while preserving behavior by removing dead code, duplication, and verbosity with measured verification.
SkillAFreshness: AClaude Code +9 - 0.570score
spec-reconciler
0xdewy
Reconciles source-anchored claims across schemas, code, tests, docs, and generated clients using declared authority.
SkillAFreshness: AClaude Code +9 - 0.570score
student-counsel
0xdewy
A Student does the work and Socrates examines it by elenchus until the work can answer every question without contradiction, or the round cap lands.
SkillAFreshness: AClaude Code +9 - 0.570score
vfs-docs
0xdewy
Builds self-describing docs/ trees where directory shape and filenames carry the meaning, so an agent orients from `tree docs/` alone.
SkillAFreshness: AClaude Code +9 - 0.570score
invariant-miner
0xdewy
Mines evidence-backed invariants and falsifies them with generative tests, shrinking reproducible counterexamples.
SkillAFreshness: AClaude Code +9 - 0.570score
llm-providers
0xdewy
Developer reference for connecting to OpenAI, Anthropic, Gemini, DeepSeek, GLM, MiniMax, MiMo, Mistral, xAI, Qwen, Kimi, Cohere, OpenRouter, Together, and…
SkillAFreshness: AClaude Code +9 - 0.570score
pr-describe
0xdewy
Writes or rewrites a pull request's title and description so a reader with no context understands why, what changed, and how to verify it.
SkillAFreshness: AClaude Code +9 - 0.570score
pr-smellz
0xdewy
Reviews PR diffs for introduced risks, anchoring findings to changed lines; read-only unless --fix is explicit.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 2
- Last commit (this folder)
- Oct 11, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/0xdewy/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from 0xdewy
- 0.570score
agentify
0xdewy
Maps git-tracked code with a ranked outline, scoped expansion, and symbol or call-site XREFs.
SkillAFreshness: AClaude Code +9 - 0.570score
code-smellz
0xdewy
Finds and fixes repository-wide correctness, security, architecture, and maintainability problems with bounded review.
SkillAFreshness: AClaude Code +9 - 0.570score
git-show
0xdewy
Visualize repository fleets, PR stacks, and local work in an interactive HTML dashboard or compact text tree.
SkillAFreshness: AClaude Code +9 - 0.570score
audit-debian-server
0xdewy
Audit, harden, and monitor Debian or Ubuntu application servers.
SkillAFreshness: AClaude Code +9 - 0.570score
invariant-miner
0xdewy
Mines evidence-backed invariants and falsifies them with generative tests, shrinking reproducible counterexamples.
SkillAFreshness: AClaude Code +9 - 0.570score
llm-providers
0xdewy
Developer reference for connecting to OpenAI, Anthropic, Gemini, DeepSeek, GLM, MiniMax, MiMo, Mistral, xAI, Qwen, Kimi, Cohere, OpenRouter, Together, and…
SkillAFreshness: AClaude Code +9
Cite this page
frontend-qa skill. Agent Mart. https://agentmart.dev/skills/0xdewy-frontend-qa (last updated 2026-10-24)