Visual QA (Kiểm định giao diện)
Skill kiểm định giao diện web và TUI bằng bằng chứng chụp ảnh/so sánh pixel cộng hai reviewer độc lập, rồi kết luận GOOD hoặc NEEDS WORK.
Thiết kế · UINâng cao★ 67,531⑂ 5,507Điểm AI 8/10Cập nhật lần cuối: 9 thg 8, 2026
Skill này làm gì
Sau khi bạn dựng hoặc sửa bất kỳ giao diện nào, skill kiểm tra một cách khách quan xem nó có thực sự đúng hay không.
- Xác định loại bề mặt: web/page UI, terminal (TUI) UI, hoặc dự án clone theo một reference cụ thể — mỗi loại có luồng chụp bằng chứng riêng.
- Thu bằng chứng đầy đủ: liệt kê toàn bộ trang, tab, modal, breakpoint rồi chụp hết (40 slide là 40 ảnh, không lấy mẫu), sau đó chạy script đi kèm để lấy JSON
image-diff(diffRatio, similarityScore, hotspots, alpha) hoặctui-check(maxWidth, overflowLines, borderMisaligned, wideCharColumns). - Hai oracle song song: hai subagent chỉ đọc chạy đồng thời — (A) kiểm tra design system thật hay chỉ là ảnh dán/hardcode và các tính năng có hoạt động, (B) kiểm tra độ trung thực pixel và độ chính xác ngắt dòng CJK (Hàn/Nhật/Trung).
- Cổng hoàn tất bắt buộc: chỉ được coi là xong khi reviewer độc lập trả PASS, không còn mục BLOCKING, trên bộ ảnh chụp mới của toàn bộ trang ở đúng bản build hiện tại.
- Kiểm tra chuyển động: chụp 3 frame (nghỉ, giữa transition, kết thúc) cho hover/focus/scroll để animation không trở thành cái cớ bỏ qua lỗi.
Phù hợp với ai
- Người thường clone website hoặc chuyển thiết kế Figma/mockup AI thành code
- Đội sản phẩm có nhiều nội dung tiếng Hàn/Nhật/Trung dễ bị ngắt dòng hoặc cắt chữ
- Lập trình viên CLI/TUI quan tâm tới viền box-drawing và ký tự rộng 2 cột
- Ai muốn chặn kiểu "agent tự khen đã xong" và bắt buộc có review độc lập
Ví dụ sử dụng
- Clone landing page: chụp bản gốc và bản triển khai cùng viewport, chạy
image-diff; similarityScore 97 nhưng hotspot ở góc phải header cho thấy sai spacing/shadow token cần sửa. - QA dashboard tiếng Hàn: soi từng ảnh để phát hiện tiêu đề bị ngắt kiểu
에이전트 오케스트 / 레이션, ra verdict REVISE và sửa quy tắc word-break. - Kiểm tra hồi quy TUI: render output pty thật qua xterm.js, lưu PNG rồi chạy
tui-check --cols 80để bắt dòng 3 tràn 2 cột và viền lệch tại cột ký tự rộng.
· · · Hướng dẫn cài đặt · · ·
Cài vào ứng dụng Claude (không cần terminal)
- Tải tệp ZIP bằng nút bên dưới.
- Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
- Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Cài vào Claude Code
Để Claude làm — dán câu dưới đây vào Claude Code
Hãy cài skill mình tìm thấy trên Claude Skill Mart. Copy thư mục packages/shared-skills/skills/visual-qa từ repo GitHub code-yeongyu/oh-my-openagent vào ~/.claude/skills/visual-qa/ của mình. Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.
Cài bằng lệnh thủ công
git clone https://github.com/code-yeongyu/oh-my-openagent.git /tmp/oh-my-openagent && mkdir -p ~/.claude/skills && cp -r /tmp/oh-my-openagent/packages/shared-skills/skills/visual-qa ~/.claude/skills/⚠ Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.
- Mở terminal và clone repo vào thư mục tạm:
git clone https://github.com/code-yeongyu/oh-my-openagent.git /tmp/oh-my-openagent - Tạo thư mục skill:
mkdir -p ~/.claude/skills - Sao chép riêng skill này:
cp -r /tmp/oh-my-openagent/packages/shared-skills/skills/visual-qa ~/.claude/skills/ - Kiểm tra tồn tại file
~/.claude/skills/visual-qa/scripts/visual-qa.mjsvà cài Node.js 18+ (node -v). - Nếu chưa có công cụ chụp trang web, cài:
npm install -g agent-browser && agent-browser install(hoặc dùng Playwright/dev-browser đã cấu hình trong dự án). - Khởi động lại Claude Code và yêu cầu: "kiểm định giao diện trang này", "so sánh pixel với mockup".
- Lưu ý: script chụp TUI
script/qa/web-terminal-visual-qa.mjsvà các lệnh spawn subagent trong tài liệu gắn với repo gốc và OpenCode/Codex; trên Claude Code hãy thay bằng Task tool hoặc script chụp riêng của bạn.
Xem mã nguồn trên GitHub ↗Giấy phép: NOASSERTION