ui-delivery
npx skills add https://github.com/mmcmedia/openclaw-agents --skill ui-delivery
Agent 安装分布
Skill 文档
UI Delivery Protocol
Tooling Note: Commands use
playwright-cli, an internal wrapper around Playwright. If unavailable, use standard Playwright:npx playwright <command>
ð¨ MANDATORY FOR ALL UI WORK
Before marking ANY UI task complete, you MUST:
1. Visual Verification (Screenshots)
# Open the page
playwright-cli open <url-or-file-path>
# Screenshot at mobile breakpoint
playwright-cli run-code "window.resizeTo(375, 812)"
playwright-cli screenshot --full-page ./qa-screenshots/mobile.png
# Screenshot at tablet breakpoint
playwright-cli run-code "window.resizeTo(768, 1024)"
playwright-cli screenshot --full-page ./qa-screenshots/tablet.png
# Screenshot at desktop breakpoint
playwright-cli run-code "window.resizeTo(1440, 900)"
playwright-cli screenshot --full-page ./qa-screenshots/desktop.png
2. Console Error Check
playwright-cli console error
Zero console errors from application code.
What counts as an error:
console.error()calls from your code- Uncaught exceptions
- Failed network requests (4xx/5xx)
What may be noted but doesn’t block:
- Warnings from third-party libraries (document with link to issue)
- Deprecation warnings
Exception Process: If a known library produces unavoidable errors, add to /docs/known-console-errors.md with ticket link.
3. Build Verification
# For React/Vite projects
npm run build
# Must complete with no errors
4. Accessibility Check (Mandatory)
# Run automated accessibility scan
node scripts/run-axe.mjs <path>
Zero critical or serious violations.
Checks include:
- Color contrast (WCAG AA)
- ARIA labels on interactive elements
- Keyboard navigation
- Focus indicators
If violations exist:
- Fix critical/serious issues
- Document minor issues with remediation plan
6. QA Gate (Mandatory)
node scripts/qa-gate.mjs <path> ui
Must exit with code 0 (PASS) before delivery.
Exit codes:
- 0 = â PASS â Ready to ship
- 1 = ð¡ REVISE â Fixable issues, re-run
- 2 = ð´ REJECT â Fundamental problems, rebuild
7. Adversarial Review (Mandatory)
node scripts/adversarial-review.mjs <deliverable> ui
Must get PASS or REVISE (not REJECT).
Scoring:
- 80-100 = â PASS â Ship it
- 70-79 = ð¡ REVISE â Address issues, re-review
- 0-69 = ð´ REJECT â Rebuild from scratch
5. Adversarial Review
node scripts/adversarial-review.mjs <deliverable> ui
Must get PASS or REVISE (not REJECT).
â DELIVERY CHECKLIST
Every UI deliverable must include:
- Mobile screenshot (375px) â saved as
[ticket]-mobile.png - Tablet screenshot (768px) â saved as
[ticket]-tablet.png - Desktop screenshot (1440px) â saved as
[ticket]-desktop.png - Console errors: 0 from app code
- Accessibility: 0 critical/serious violations
- Build: PASS
- QA gate: PASS (exit 0)
- Adversarial review: PASS (80-100) or REVISE (70-79)
Screenshot Naming: ./qa-screenshots/[date]/[ticket-id]-[breakpoint].png
Artifact Storage: Attach screenshots to PR or upload to shared storage.
ð¤ COMPLETION MESSAGE TEMPLATE
â
[Task Name] Complete
**Screenshots:**
ð± Mobile: ./qa-screenshots/2026-02-15/ABC-123-mobile.png
ð± Tablet: ./qa-screenshots/2026-02-15/ABC-123-tablet.png
ð¥ï¸ Desktop: ./qa-screenshots/2026-02-15/ABC-123-desktop.png
**Quality Checks:**
â
Build: PASS (no errors)
â
Console: 0 app errors (3 third-party warnings noted)
â
Accessibility: 0 critical/serious violations
â
QA Gate: PASS (exit 0)
â
Adversarial: PASS (82/100)
**Deliverables:**
- /path/to/file1
- /path/to/file2
**Logs:**
- QA Gate: ./logs/qa-gate.log
- Adversarial: ./reports/adversarial-review.md
**Notes:** [any important info]
ð« DO NOT DELIVER IF:
- Screenshots are missing
- Console has errors
- Build fails
- QA gate blocks
- Adversarial review rejects
ð STUCK?
If you can’t get a clean screenshot or build:
- Try to fix it yourself (30 min max)
- If still stuck â notify Maria with specific error
./notify-maria.sh "UI issue: [specific problem]. Error: [message]. Help needed."
ð EXAMPLE: Complete UI Workflow
# 1. Build the project
cd /projects/my-dashboard
npm run build
# 2. Open in browser
playwright-cli open ./dist/index.html
# 3. Take screenshots
mkdir -p ./qa-screenshots
playwright-cli run-code "window.resizeTo(375, 812)"
playwright-cli screenshot --full-page ./qa-screenshots/mobile.png
playwright-cli run-code "window.resizeTo(768, 1024)"
playwright-cli screenshot --full-page ./qa-screenshots/tablet.png
playwright-cli run-code "window.resizeTo(1440, 900)"
playwright-cli screenshot --full-page ./qa-screenshots/desktop.png
# 4. Check console
playwright-cli console error
# 5. Run QA gate
node scripts/qa-gate.mjs ./dist/index.html ui
# 6. Deliver with screenshots attached
Last Updated: Feb 15, 2026
Enforced By: qa-gate.mjs, adversarial-review.mjs