Add agent-board-design-qa skill - #7
Merged
Merged
Conversation
Measure-don't-perceive design QA for implemented web UIs: a portable DOM geometry scanner (overflow, truncation, collapse, sibling overlap, near-miss misalignment, tap-target, input-font) injected through whatever browser/preview capability the harness already exposes, plus a layered method (token conformance, axe-core, reference diff, vision-judge-last). Pairs with agent-board-design-review (which reviews the mockup). Wired into skills.ts, skills-audit.ts (drift audit), workspace.ts (BUNDLED_SKILLS + materialization) and the router; installable via 'agent-board skills install'. Scanner hardened by dogfooding on the agent-board web viewer: read viewport from documentElement.clientWidth with a zero guard, report only the outermost overflowing element, skip SVG internals, and ignore native <select> content-overflow.
…ts tree) README: add agent-board-design-qa to the three skills-install path lists, bump the bundled count to thirteen, add a description bullet, and update the design pair -> trio note. CHANGELOG: Unreleased entry. configSkillReadme path list and docs/concepts.md skills tree: add the new skill.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
agent-board-design-qa— a skill to QA the implemented, running web UI by measuring it, not eyeballing screenshots. It is the post-implementation gate that pairs withagent-board-design-review(which reviews the mockup).Why
Vision models downsample screenshots, so a 2px misalignment, a silently truncated label, an off-token shadow, or an off-center button vanish before the model ever sees them (frontier models score <50% on fine-grained visual perception vs ~96% for humans). The fix is to derive findings from the DOM/CSSOM where the numbers are exact, and reserve the screenshot for evidence and for the residual aesthetic.
How
preview_*, Codex, qprobe, Playwright). No new browser infrastructure.Wired into
src/skills.ts(SKILL.md + AGENTS.md + router),src/skills-audit.ts(drift audit),src/workspace.ts(BUNDLED_SKILLS + materialization), andtest/cli.test.ts. Installable viaagent-board skills install. Source-of-truth draft lives atdocs/internal/design-qa-skill.md.Validation
tsc --noEmitcleanagent-board skills check— no driftbun test— 67/67 passDogfooded
Ran the scanner on the
agent-board webviewer through the Claude Code preview tools. The loop hardened the scanner against 4 issues it surfaced (124 noisy findings -> 5 real on desktop):window.innerWidthcan be0in the eval context, flagging every element as overflowing. Fixed: readdocument.documentElement.clientWidth+ zero guard.path/circle), producing false overlaps. Fixed: skipownerSVGElement.<select>"overflows" (it clips option text by design). Fixed: skip.Real findings on the viewer: both picker
<select>s at 36px height / 13px font, a 32px Refresh button, and a non-responsive layout (12 genuine horizontal-overflow findings at 375px, confirmed visually).🤖 Generated with Claude Code