design-qa
GitHub建立设计质量门禁,通过令牌与硬编码 lint、自动化无障碍(axe)、对比度检测及视觉回归测试,防止设计退化。支持 CI 集成与组件上线前 QA。
Trigger Scenarios
Install
npx skills add plugin87/ux-ui-agent-skills --skill design-qa -g -y
SKILL.md
Frontmatter
{
"name": "design-qa",
"description": "Set up or run design QA gates — token + hardcoded-value lint, automated a11y (axe), contrast, visual regression across variants\/states\/themes\/RTL, and the manual a11y checklist. Use when the user wants CI quality gates, to prevent design regressions, or to QA a component\/screen before shipping."
}
Skill: Design QA
Step 0 — is the kit here? This skill reads files from the kit. Check once:
ls ${CLAUDE_SKILL_DIR}/../../../tokens >/dev/null 2>&1 && echo KIT_OK || echo KIT_MISSINGOnKIT_MISSINGonly the skill folders were installed, which is whatnpx skills adddoes. Say so plainly, point the user atnpx ux-ui-agent-skills initor the plugin install, and stop. Do not guess the contents of a file you could not open.
Stand up the automated + manual gates that stop quality from regressing.
Steps
- Read
${CLAUDE_SKILL_DIR}/../../../workflows/design-qa.md(the QA pyramid: token/lint gates → automated a11y → visual regression → manual a11y). - Wire the fast gates first (every commit/PR):
python3 ${CLAUDE_SKILL_DIR}/../../../scripts/validate_tokens.py,python3 ${CLAUDE_SKILL_DIR}/../../../scripts/validate_contrast.py(batch WCAG over the token pairs), andpython3 ${CLAUDE_SKILL_DIR}/../../../scripts/lint_hardcodes.py <src>(no raw hex/px/timing in component code). The repo's.github/workflows/ci.ymlruns these. - Add automated a11y (axe-core / Pa11y) over each component's states (error/loading/disabled/expanded/selected), zero serious/critical to merge. Run the real-render contrast gate
node ${CLAUDE_SKILL_DIR}/../../../scripts/measure_render.mjs <file.html>(and--dark) — it opens the page in headless Chromium, disables transitions, and measures the true computed-style + alpha-composited contrast of every text element (catches what static token checks miss). - Add visual regression snapshots across variants × sizes × states × light/dark + key breakpoints + RTL; freeze animations + deterministic data.
- Sign off the manual a11y checklist per release (keyboard, screen reader, 400% reflow, 200% text-spacing, reduced-motion, forced-colors —
${CLAUDE_SKILL_DIR}/../../../accessibility/*).
Verification (definition of done)
- An unreviewed PR cannot introduce an unresolved token alias, a contrast failure, a raw hex/px, or an axe violation — a gate blocks each.
- Snapshots cover dark mode + RTL + the semantic-changing states, not just the happy path.
- Manual a11y checklist signed off for the release.
Version History
-
62092bd
Current 2026-10-19 09:19
修复插件安装路径可达性问题,确保在多种安装路由下技能文件引用正确,并增加基线测量脚本以评估插件表面状态。
- 2ffb677 2026-08-28 11:59
- 93a7fbb 2026-07-25 07:40


