LogoSkills

jaspr-web

Jaspr Web 자동화: DOM 점검, 접근성, 시각적 회귀, Web↔Flutter 듀얼 live-preview 매칭.

/jaspr-web — 웹 화면 자동 점검·비교 도우미#

항목내용
실행 명령/cc-jaspr-web:jaspr-web
분류
난이도●●● 높음
MCP 서버playwright, chrome-devtools

한마디로#

웹사이트를 사람 대신 브라우저가 직접 돌아다니며 화면을 점검하고, 스크린샷을 비교하는 자동 검사관입니다. 신축 건물 준공 검사처럼, 각 방(페이지)을 한 칸씩 돌며 흠집(오류)이나 설계도(기준 화면)와 다른 부분을 찾아 기록해 줍니다.

누가·언제 쓰나요#

  • Jaspr로 만든 웹사이트(예: coui.cocode.im)의 화면 품질을 점검하고 싶은 담당자
  • 웹 화면과 Flutter 화면이 똑같이 보이는지(픽셀 단위로) 맞춰 보고 싶을 때
  • 코드를 바꾼 뒤, 화면이 예전과 달라지지 않았는지(시각적 변형) 확인하고 싶을 때
  • 접근성(시각장애인 등 보조 기술 호환)이나 콘솔 오류를 한 번에 훑어보고 싶을 때

무엇을 해주나요#

브라우저를 자동으로 띄워 다음을 대신해 줍니다.

  • 사이트맵을 따라 페이지를 돌며 화면 요소·접근성·콘솔 오류 목록을 정리
  • 웹 화면 ↔ Flutter 웹 화면을 픽셀 단위로 비교해 차이 표시
  • 기준 화면(baseline)과 비교한 스크린샷 차이(시각 회귀) 검사
  • 검사 결과는 .claude/docs/jaspr-web/<run_id>/ 폴더에 보고서로 저장됩니다.

어떻게 쓰나요#

# coui.cocode.im 화면 점검 (2단계 깊이까지)
/jaspr-web audit --url=https://coui.cocode.im --depth=2

# 라이브 프리뷰 페이지에서 웹 vs Flutter 일치 여부 확인
/jaspr-web match --url=https://coui.cocode.im/live-preview-poc

# 로컬 디버그 FlutterWidgetbook + 주변 Jaspr 페이지 구동
/jaspr-web widgetbook-web --port=8080
  • URL만 주고 하위 명령을 생략하면 자동으로 audit(화면 점검)으로 동작합니다.
  • 더 정밀한 CSS 검사나 성능 추적이 필요하면 --mcp=chrome-devtools 를 붙여 Chrome 도구로 전환할 수 있습니다.

안에서 무슨 일이 벌어지나요#

하위 명령에 따라 브라우저가 다음 작업을 자동으로 수행합니다.

  1. audit — 사이트맵을 따라 페이지를 돌며 화면 요소·접근성·콘솔 오류를 모아 목록으로 만듭니다.
  2. match — 웹 화면과 Flutter 웹 화면을 나란히 띄워 픽셀 단위로 비교합니다.
  3. widgetbook-web — 로컬에서 띄운 디버그 Flutter 웹 Widgetbook 세션에 붙어 화면을 구동합니다.
  4. regression — 지정한 경로들의 스크린샷을 기준 화면과 비교해 달라진 부분을 찾아냅니다.

브라우저 자동화 도구(Playwright/Chrome DevTools MCP)는 플러그인의 .mcp.json _setup 정보로 자동 등록됩니다 — 별도 설치 커맨드가 필요 없습니다 (상세는 jaspr-web-guide 스킬 참고).


⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)

Subcommands#

SubcommandPurpose
auditWalk a sitemap, inventory selectors + a11y + console errors (commands/audit.md)
matchDual Web↔Flutter Web embed pixel matching (commands/match.md)
widgetbook-webAttach to a local flutter run -d chrome --print-dtd Widgetbook session (commands/widgetbook-web.md)
regressionScreenshot diff vs baseline for a list of routes

Default Behaviour#

If invoked without subcommand and a URL is given, defaults to audit --url=<url>.

Quick Start#

# Audit coui.cocode.im
/jaspr-web audit --url=https://coui.cocode.im --depth=2

# Verify Web vs Flutter parity on the live-preview page
/jaspr-web match --url=https://coui.cocode.im/live-preview-poc

# Drive a local debug Flutter Web Widgetbook + the surrounding Jaspr page
/jaspr-web widgetbook-web --port=8080

Required Inputs#

SubcommandRequiredOptional
audit--url--depth, --selector-catalogue, --include, --exclude
match--url--tolerance, --variants, --output
widgetbook-web--port--routes, --marionette-uri
regression--routes--baseline-dir, --tolerance

Browser Selection#

The playwright MCP is the default for all subcommands. Force chrome-devtools instead with --mcp=chrome-devtools when you need:

  • Sharper CSS variable inspection.
  • Performance traces.
  • Native Chrome accessibility tree.

Output#

.claude/docs/jaspr-web/<run_id>/ — see skills/jaspr-web-guide/SKILL.md for the schema.

  • Skill: cc-jaspr-web:jaspr-web
  • Companion: cc-jaspr-web:live-preview-match
  • Native counterpart: cc-pixel-loop:pixel-loop
  • Debug-mode Flutter Web drive: cc-marionette:marionette