Community생산성 & 협업github.com

antigem-browser-qa

AntiGem의 browser_mcp에서 엔드투엔드 브라우저 테스트, 탐색적 QA, 폼 유효성 검사, 접근성 감사, 레이아웃/인체공학 점검, 시각적 회귀, PWA/오프라인 검증, i18n/인디어 렌더링 테스트 또는 런타임 진단을 수행할 때 사용합니다.

antigem-browser-qa란 무엇인가요?

이 스킬은 AntiGem의 browser_mcp(17가지 도구)를 활용한 통합적이고 토큰 효율적인 브라우저 테스트 스킬입니다. 탐색적 플로우, 폼/보안, 레이아웃/접근성/시각, PWA/오프라인/i18n, 인페이지 감사 스니펫 등 8가지 테스트 측면을 점진적으로 제공합니다. 핵심 프로토콜로 탭 재사용, 잠금, 참조 기반 탐색, React 호환 입력, 배치 작업, 런타임 게이트(콘솔 + 네트워크)를 강제하며, WCAG 2.1 AA/AAA 감사, 시각적 회귀, 서비스 워커 라이프사이클, IndexedDB/Dexie 오프라인 동기화, 인디어 글리프/마트라 클리핑까지 포괄합니다. 모든 테스트 단계 후 제로 톨러런스 런타임 게이트를 통해 콘솔 오류와 네트워크 실패를 감지하여 회귀를 사전에 차단합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vijaychaudhari88/antigem-browser-qa/tree/HEAD

Installed? Explore more 생산성 & 협업 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

AntiGem 브라우저 QA

개요

AntiGem의 네이티브 browser_mcp(17개 도구)를 위한 통합적이고 토큰 효율적인 브라우저 테스트 스킬입니다. 점진적 공개 방식으로 8가지 테스트 측면을 다룹니다: 탐색적 플로우, 폼/보안, 레이아웃/접근성/시각, PWA/오프라인/i18n, 인페이지 감사 스니펫. 필수 프로토콜: 탭 재사용 → 잠금 → 참조 기반 탐색 → React 안전 입력 → 배치 작업 → 런타임 게이트(콘솔 + 네트워크).

사용 시기

  • 웹/PWA 앱의 E2E 테스트 작성 또는 실행
  • 탐색적 버그 헌팅(첫 사용자 플로우, 적대적 시퀀스)
  • 폼 경계 퍼징, XSS 페이로드, 파일 업로드, 드래그 앤 드롭, 캔버스/WebGL
  • WCAG 2.1 AA/AAA 감사, 200% 확대 재배치, CLS, 터치 대상(≥48px/≥60dp)
  • 시각적 회귀 기준선 대 빌드 차이 비교, 반응형 중단점
  • 서비스 워커 라이프사이클, IndexedDB/Dexie 오프라인 동기화, 인디어 합자/마트라 잘림
  • 런타임 콘솔 오류 / 네트워크 실패 제로 톨러런스 게이트

필수 실행 프로토콜

  1. 탭 재사용: browser_list_tabs → 기존 탭 재사용 또는 browser_open_url
  2. 터치/확대 잠금: 멀티 단계 체인 전에 browser_lock(locked=true)
  3. 참조 기반 탐색: browser_find(query="...")(권장) 또는 browser_read_page(filter="interactive")로 안정적인 ref_N ID를 가진 ARIA 트리 확보
  4. React 안전 입력: <input>, <textarea>, <select>, 체크박스/스위치, 라디오, contenteditable에 대해 browser_form_input(ref, value) 사용
  5. 신뢰할 수 있는 동작: browser_computer (left_click, hover, left_click_drag, key, scroll_to, screenshot, zoom [x0,y0,x1,y1], wait); 파일 입력에 browser_upload_file; 알림에 browser_handle_dialog
  6. 왕복 배칭: 결정론적 멀티 단계 체인에 browser_batch 사용
  7. 런타임 게이트 (제로 톨러런스): 각 화면 후 browser_get_console_logs(pattern="error|warn") + browser_read_network (탭이 MCP 연결보다 먼저 존재했다면 먼저 새로고침)
  8. 잠금 해제: 종료 시 browser_lock(locked=false)

8가지 측면 통합 체크리스트

#측면통과/실패 게이트
1탐색 및 플로우첫 사용자 시뮬레이션; 다중 경로 탐색; browser.goBack() 모달 우선 순위; 포커스 트랩; 결함 보고서 형식
2폼 및 컴포넌트경계 퍼징; 숫자 클램핑; 인라인 블러 유효성 검사; 첫 번째 오류로 스크롤; 이중 제출 디바운스; XSS 살균; 파일 업로드; 드래그 앤 드롭; 캔버스/SVG 확인
3보안 테스트CSP 헤더; XSS 페이로드 주입; 권한 거부 대체; 보안 쿠키 플래그
4레이아웃, 접근성, 시각WCAG AA ≥4.5:1 / 햇빛 AAA ≥7.0:1 / 야간 적색 #000000; 200% 확대 재배치; CLS ≤0.1; prefers-reduced-motion; 터치 대상 ≥48px(표준) / ≥64px(지방); 시각적 차이 기준선 대 빌드
5PWA, 오프라인, i18n매니페스트 및 SW 라이프사이클; IndexedDB/Dexie ACID + useLiveQuery; 오프라인 시뮬레이션 + 동기화 큐; 인디어 합자/마트라 잘림; document.documentElement.lang; Lakhs/Crores + tabular-nums
6웹 API 및 권한navigator.vibrate?.(), 카메라/지리 권한 거부; 하드웨어 API 대체
7런타임 진단콘솔 오류 빠른 실패; 네트워크 4xx/5xx 빠른 실패; browser_eval_js를 통한 LCP/메모리 감사
8모바일 및 뷰포트browser_set_view_mode 모바일/데스크톱 매트릭스; browser_computer(action="zoom") 미세 검사

점진적 참조 라우터 테이블

작업 초점참조 로드
탐색적 버그 헌팅, 첫 번째 플로우, 모달 포커스, 탐색references/01-exploratory-and-flows.md
폼 유효성 검사, 경계 퍼징, 파일 업로드, 드래그 앤 드롭, 캔버스, XSSreferences/02-forms-components-security.md
WCAG 감사, 대비, 확대 재배치, CLS, 터치 대상, 시각적 차이references/03-layout-a11y-visual.md
SW 라이프사이클, IndexedDB, 오프라인 동기화, 인디어 타이포그래피, 권한references/04-pwa-offline-i18n-apis.md
인페이지 감사 스니펫 (고아 레이블, 경계 상자, 대비, SW, IndexedDB)references/05-eval-js-audit-snippets.md

빠른 참조: browser_mcp 도구 매핑

업스트림 프리미티브AntiGem 도구
page.fill() / selectOption() / check()browser_form_input(ref, value)
page.click() / keyboard.press() / hover() / dragAndDrop()browser_computer(left_click, hover, left_click_drag, key, scroll_to, ...)
page.setInputFiles()browser_upload_file
page.on('dialog')browser_handle_dialog(accept=true/false)
page.evaluate()browser_eval_js (최상위 await, JSON 반환)
page.on('console') / page.on('pageerror')browser_get_console_logs(pattern="...")
page.on('response') / HARbrowser_read_network
멀티 단계 체인browser_batch + browser_lock
뷰포트 / 스크린샷 / 확대`browser_set_view_mode + browser_computer(screenshot

일반적인 실수

  • browser_lock 건너뛰기 → 우발적인 터치/확대로 ref ID 손상
  • 참조 대신 좌표 사용 → 취약함, 재배치 시 깨짐
  • 런타임 게이트 미실행 → 콘솔 오류 / 실패한 요청 놓침
  • 모든 참조를 한 번에 로드 → 토큰 부풀림; 라우터 테이블에 따라 필요 시 로드
  • browser_lock(false) 잊음 → 사용자를 위해 탭 잠금 상태로 둠

실제 영향

  • browser_find/browser_read_page(filter="interactive")를 통해 전체 DOM 스냅샷 대비 90% 토큰 감소
  • 단일 browser_eval_js 호출로 전체 화면 감사 실행 (접근성 + 지오메트리 + 대비 + SW + IndexedDB)
  • 제로 톨러런스 런타임 게이트가 회귀를 사용자에게 도달하기 전에 포착

관련 스킬