본문으로 건너뛰기
cccskills
무료GitHub에 공개

visual-debug

Diagnose why an existing implementation differs from reference evidence using AE/SSIM, pixel, section, computed-style, and transition diffs. Use for post-implementation mismatch or repair guidance; not baseline capture or full clone generation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(163)

  • SKILL.md7.5 KB
  • agents/openai.yaml385 B
  • common-selectors.md6.8 KB
  • comparison-fix.md33.5 KB
  • evals/evals.json25.5 KB
  • evals/trigger-eval.json4.4 KB
  • prompts/motion-judge.md3.7 KB
  • prompts/section-spec.md5.8 KB
  • prompts/visual-judge.md5.9 KB
  • scripts/ae-compare.sh4.0 KB
  • scripts/alignment_parity_check.py28.0 KB
  • scripts/alignment-parity-check.sh1.8 KB
  • scripts/alignment-sweep-check.sh6.0 KB
  • scripts/animation-spec-compare15.6 KB
  • scripts/asset_placement_check.py31.2 KB
  • scripts/asset-placement-check.sh1.2 KB
  • scripts/asset-transfer-check.sh6.1 KB
  • scripts/asset-utilization-check.sh11.5 KB
  • scripts/auto-diagnose.sh9.6 KB
  • scripts/batch-compare.sh6.6 KB
  • scripts/batch-scroll.sh22.1 KB
  • scripts/behavior-parity-check.sh11.2 KB
  • scripts/blank-viewport-check.sh11.6 KB
  • scripts/body-opacity-unlock-check.sh7.5 KB
  • scripts/breakpoint-collision-check.sh10.5 KB
  • scripts/build-decode-receipt.sh12.0 KB
  • scripts/bundle_impl_coverage.py3.7 KB
  • scripts/bundle-impl-coverage-check.sh5.0 KB
  • scripts/bundle-paste-check.sh8.6 KB
  • scripts/canvas-webgl-detect.sh5.9 KB
  • scripts/capture-artifact-inventory-check.sh17.2 KB
  • scripts/capture-runtime-text.sh3.6 KB
  • scripts/click-state-compare.sh6.5 KB
  • scripts/color-token-grounding-check.sh13.3 KB
  • scripts/computed-diff.sh11.2 KB
  • scripts/container-context-check.sh6.2 KB
  • scripts/content-cardinality-check.sh6.1 KB
  • scripts/css-mirror-check.sh11.5 KB
  • scripts/desktop-band-fluidity-check.sh19.9 KB
  • scripts/dom-mirror-check.sh13.2 KB
  • scripts/dom-scaffold.sh19.0 KB
  • scripts/dssim-compare.sh6.0 KB
  • scripts/duration-easing-grounding-check.sh19.7 KB
  • scripts/dynamic-behavior-parity.sh5.3 KB
  • scripts/emit-scroll-helpers.sh1.6 KB
  • scripts/entry-coherence-check.sh12.3 KB
  • scripts/extract-dom.sh7.9 KB
  • scripts/extract-section-map.sh17.5 KB
  • scripts/extract-styles.sh8.3 KB
  • scripts/font-binaries-present-check.sh6.9 KB
  • scripts/font-parity-check.sh6.6 KB
  • scripts/forced-state-class-check.sh14.7 KB
  • scripts/geometry-sanity-check.sh12.5 KB
  • scripts/header-state-runtime-check.sh24.4 KB
  • scripts/hero-composite-check.sh22.8 KB
  • scripts/hidden-children-check.sh7.3 KB
  • scripts/hover-fallback-probe.sh24.8 KB
  • scripts/hover-state-compare.sh97.9 KB
  • scripts/hover-tree-diff.sh37.3 KB
  • scripts/html-paste-check.sh15.8 KB
  • scripts/hydration-check.sh8.6 KB
  • scripts/image-fidelity-check.sh15.6 KB
  • scripts/impl-scope-check.sh13.7 KB
  • scripts/invalidation-check.sh2.2 KB
  • scripts/junk-token-check.sh23.0 KB
  • scripts/keyframes-diff.sh7.7 KB
  • scripts/layout-diff.sh4.4 KB
  • scripts/layout-health-check.sh10.5 KB
  • scripts/layout-tree-diff.sh11.1 KB
  • scripts/lib/ab-timeout.sh9.3 KB
  • scripts/lib/ae-quantum.sh3.0 KB
  • scripts/lib/agent-browser-preflight.sh6.3 KB
  • scripts/lib/dssim-cap.sh4.8 KB
  • scripts/lib/dynamic_behavior_parity.py24.2 KB
  • scripts/lib/dynamic-selectors.sh6.4 KB
  • scripts/lib/emit_scroll_helpers.py70.0 KB
  • scripts/lib/enumerate-sections.js19.5 KB
  • scripts/lib/extract-dom.js29.2 KB
  • scripts/lib/idle-reset.sh5.3 KB
  • scripts/lib/intro-settle.sh1.5 KB
  • scripts/lib/ref-dynamic-classify.py5.5 KB
  • scripts/lib/regate_unresolved_imports.py16.5 KB
  • scripts/lib/required_media_coverage.py20.0 KB
  • scripts/lib/reveal_trigger_artifact.py4.8 KB
  • scripts/lib/reveal-trigger-report.js1.7 KB
  • scripts/lib/scaffold_to_jsx.py370.7 KB
  • scripts/lib/splash-lifecycle-probe.js14.3 KB
  • scripts/lib/transition-detect.js10.0 KB
  • scripts/lib/verification_plan_helpers.py18.7 KB
  • scripts/lib/visible-identity.js51.6 KB
  • scripts/library-usage-check.sh11.5 KB
  • scripts/live-parity-sweep.sh38.2 KB
  • scripts/lottie-runtime-check.sh21.2 KB
  • scripts/lottie-scroll-scrub-check.sh15.7 KB
  • scripts/lottie-slot-identity-check.sh11.8 KB
  • scripts/masked-region-motion-proof-check.sh7.9 KB
  • scripts/masked-region-static-check.sh13.1 KB
  • scripts/mobile-responsive-coverage-check.sh10.3 KB
  • scripts/mobile-viewport-parity-check.sh14.8 KB
  • scripts/monolithic-impl-check.sh5.9 KB
  • scripts/motion-coverage-check.sh19.6 KB
  • scripts/paid-features-detect.sh7.4 KB
  • scripts/preview-runtime-health-check.sh15.6 KB
  • scripts/proxy-mirror-check.sh3.9 KB
  • scripts/ref-js-loader-check.sh19.5 KB
  • scripts/ref-screenshot-asset-check.sh16.3 KB
  • scripts/remote-asset-ref-check.sh8.7 KB
  • scripts/replay-track-compare.py18.0 KB
  • scripts/replay-track-gap-scan.py2.5 KB
  • scripts/required-media-coverage-check.sh2.4 KB
  • scripts/resize-behavior-probe.sh21.3 KB
  • scripts/reveal-trigger-check.sh13.9 KB
  • scripts/runtime_text_sequence_compare.py32.0 KB
  • scripts/runtime-dom-parity-check.sh20.0 KB
  • scripts/runtime-env-check.sh13.5 KB
  • scripts/runtime-frame-proof-check.sh27.6 KB
  • scripts/runtime-image-validity-check.sh5.1 KB
  • scripts/runtime-proof-rollup.sh19.8 KB
  • scripts/runtime-spec-coverage.sh16.6 KB
  • scripts/runtime-text-sequence-check.sh35.1 KB
  • scripts/scaffold-residue-check.sh9.3 KB
  • scripts/scaffold-to-jsx.sh3.1 KB
  • scripts/scaffold-warn-check.sh4.2 KB
  • scripts/scroll-anim-temporal-diff.sh11.3 KB
  • scripts/scroll-coverage-check.sh7.9 KB
  • scripts/scroll-end-completion-check.sh24.6 KB
  • scripts/scroll-engine-parity-check.sh13.9 KB
  • scripts/scroll-state-machine-check.sh9.2 KB
  • scripts/section-compare-frozen.sh12.7 KB
  • scripts/section-compare.sh163.1 KB
  • scripts/section-reference-cache.py7.6 KB
  • scripts/section-spec.sh3.5 KB
  • scripts/signature-effects-coverage-check.sh14.3 KB
  • scripts/spec-implementation-coverage.sh23.2 KB
  • scripts/splash-lifecycle-check.sh9.1 KB
  • scripts/state-reveal-proof-check.sh9.1 KB
  • scripts/stray-absolute-check.sh6.1 KB
  • scripts/svg-dom-parity-check.sh17.0 KB
  • scripts/svg-provenance-check.sh9.9 KB
  • scripts/swiper-runtime-check.sh4.0 KB
  • scripts/tailwind-transform-conflict-check.sh10.0 KB
  • scripts/text_fidelity_check.py21.1 KB
  • scripts/text-fidelity-check.sh2.2 KB
  • scripts/transition_capture_hover.py10.8 KB
  • scripts/transition_compare_report.py18.3 KB
  • scripts/transition_proof_rollup.py30.1 KB
  • scripts/transition-compare.sh12.6 KB
  • scripts/transition-fires-check.sh118.4 KB
  • scripts/transition-proof-rollup.sh2.0 KB
  • scripts/transition-spec-coverage.sh15.5 KB
  • scripts/transition-spec-extract18.2 KB
  • scripts/transition-trajectory-compare.sh28.9 KB
  • scripts/tree-diff.sh23.4 KB
  • scripts/typography-parity-check.sh6.6 KB
  • scripts/verification-plan.sh101.3 KB
  • scripts/video_play_proof.py8.5 KB
  • scripts/video-motion-compare.sh14.9 KB
  • scripts/video-play-proof-check.sh4.2 KB
  • scripts/visual_fidelity_judge.py30.9 KB
  • scripts/visual-fidelity-judge-check.sh6.0 KB
  • scripts/visual-judge.sh4.1 KB
  • tool-routing.md8.1 KB
  • verification.md22.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Visual Debug

Diagnose an existing implementation against captured reference evidence with structural, AE, DSSIM, runtime, and transition checks.

Boundary and return contract

  • Use this skill when reference and implementation evidence already exist. Route missing baseline evidence to ui-capture; route implementation, regeneration, and full clone orchestration to ui-reverse-engineering or the active caller.
  • Diagnose and return the failing artifact, selector or region, likely root cause, recommended fix, and exact verification command. The caller owns source edits unless it explicitly delegated repair.
  • Read brief/WORKER_BRIEF.md or evidence-pack.json first when present, then only the summaries and named drill-down artifacts needed for the failing hotspot.
  • If repair was delegated to you, read ../ui-reverse-engineering/iteration-discipline.md before the repair loop. Attempt history and stop conditions survive delegation and compaction. Report checker defects with a reproducer unless shared-tool repair is already authorized; never edit an installed cache.
  • Matching text, heights, fired events, or a successful build does not prove appearance or trajectory parity. Compare background and foreground, media fit, and intermediate motion states.

Required invariants

Do not read ref/impl images for routine comparison. Start with summaries and AE/SSIM tools. For a failing position, run auto-diagnose.sh; read a diff image only if automated diagnosis finds nothing. Phase E is the required exception and must run in a delegated context.

Pin the reference during iteration. Dynamic sites otherwise compare against a moving target: after the first complete reference capture, use frozen reference crops (RECATCH_REF=0) until evidence is genuinely stale. After any implementation edit, produce fresh implementation evidence before judging the fix.

When evidence contains window.scrollTo, scrollYProgress, setTimeout, velocity, a guard ref around scroll-stop logic, or ScrollTrigger pin/scrub, require scroll state-machine proof of initial → active/expanded → settled/returned; a single endpoint frame is insufficient.

Do not weaken thresholds or mask unexplained regions to clear a failure. Classify each failure as implementation, reference/capture, checker, or unknown before editing.

Close every browser session you opened on success, failure, or interruption:

agent-browser --session <session-name> close

Never use close --all; other agents may own sessions.

Start once per session

Check required tools. If anything is missing, stop and surface the bootstrap command; do not execute a remote installer automatically.

miss=""
for c in agent-browser ffmpeg dssim; do command -v "$c" >/dev/null 2>&1 || miss+=" $c"; done
{ command -v magick >/dev/null 2>&1 || command -v convert >/dev/null 2>&1; } || miss+=" imagemagick"
if [ -n "$miss" ]; then
  printf 'Missing system deps:%s\nBootstrap:\n  tmp=$(mktemp) && curl -LsSf -o "$tmp" https://raw.githubusercontent.com/voidmatcha/ui-clone-skills/main/install.sh && bash "$tmp" && rm -f "$tmp"\n' "$miss"
  exit 1
fi

Resolve scripts from the active plugin or checkout:

SCRIPTS_DIR="${VISUAL_DEBUG_SCRIPTS_DIR:-}"
if [ -z "$SCRIPTS_DIR" ]; then
  for root in "${PLUGIN_ROOT:-}" "${CODEX_PLUGIN_ROOT:-}" "${CLAUDE_PLUGIN_ROOT:-}" "${UI_CLONE_ROOT:-}" "$PWD" "$PWD/.." "$PWD/../.." "${INSTALL_DIR:-$HOME/.local/share/ui-clone-skills}"; do
    [ -n "$root" ] && [ -f "$root/skills/visual-debug/scripts/ae-compare.sh" ] && SCRIPTS_DIR=$(cd "$root/skills/visual-debug/scripts" && pwd) && break
  done
fi
[ -n "$SCRIPTS_DIR" ] || { echo "Set VISUAL_DEBUG_SCRIPTS_DIR or PLUGIN_ROOT" >&2; exit 1; }

Run the scripts as bash "$SCRIPTS_DIR/<script>.sh" .... On hosts without a Skill event (Codex), the first such call is what tells the plugin hooks that this session owns the diagnosis.

Pipe large browser JSON to files; do not print it into the model context. Every agent-browser command needs --session <name>, and every JS eval must be an IIFE.

Choose the route

  1. Read the smallest existing summary first: sections/result.txt, pipeline-state.json, _summary.json, pixel-perfect-diff.json, or the failing gate artifact.
  2. Run cheap structural checks before pixels: implementation chrome scan, stray-absolute-check.sh, relevant transition/spec coverage, reveal/breakpoint checks, then a narrow computed-diff.sh.
  3. Use section-compare.sh for routed post-generation verification and batch-scroll.sh plus batch-compare.sh for a standalone broad sweep. The section command requires the fourth ref-dir argument because the gate reads its sections/result.txt.
  4. Diagnose only failing rows with auto-diagnose.sh. Escalate unresolved failures in order to tree-diff.sh, layout-tree-diff.sh, hover-tree-diff.sh, or keyframes-diff.sh according to the symptom.
  5. Re-run the affected check and its dependency closure. Use scoped or standard verification during iteration; canonical closeout still requires the caller's full comprehensive verification.

Read tool-routing.md only when you need exact commands, ONLY_IF_CHANGED, masking rules, or tool selection. Read common-selectors.md only for domain selector sets. Read verification.md only for standalone full capture/verification mechanics. Read comparison-fix.md only when entering the repair loop or dispatching Phase E. Do not load all references up front.

Three-axis completion

Every position requires all three axes:

AxisToolPass condition
PixelAEAE per image ≤ 500
PerceptualDSSIM / frame SSIMSSIM per frame ≥ 0.995
Semanticdelegated Phase E reviewPASS, or explicit approval of a known difference

Computed-style comparison passes with 0 mismatches. AE=500 permits antialiasing variance; dynamic content may use AE=2000 only through the documented dynamic route. These thresholds are contracts and may change only with explicit user approval and recorded rationale.

Phase E is mandatory for full verification and reviews every ref/impl position after AE and DSSIM. Delegate it to the host-native visual-debug-reviewer (a Codex native subagent where available); otherwise use a generic delegated worker with the same contract. Do not retry a rejected role name. Only the verdict table returns to the coordinator. A bounded diagnostic Phase E may inspect representative existing pairs early, but its noncanonical artifact cannot replace final all-position review. See comparison-fix.md.

Return PASS only when all three axes agree and every required row is measured. FAIL, INCOMPLETE, UNMEASURED, stale evidence, or missing artifacts remain incomplete. Then resume the caller's pipeline for implementation and canonical closeout.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

benchmark

무료

Local-only regression / benchmark skill for ui-clone-skills maintainers. Drives the standard ui-reverse-engineering pipeline against the canonical reference site (https://realfood.gov) and records AE/SSIM, iteration count, gate fail counts, and outcome to benchmark/history.csv so prompt / sub-doc / model-version drift surfaces as a trend. Trigger phrases: "run benchmark" / "regression benchmark" / "benchmark clone". The Makefile no longer has a `benchmark` target — setup is inline bash in this skill (Step 1 below). Internal: NOT registered in `.claude-plugin/plugin.json` `skills`. Not part of the public 3-skill marketplace surface. Maintainer tooling only.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

voidmatcha/ui-clone-skills152026년 9월 27일 업데이트

Capture baseline evidence from a live website URL: screenshots, scroll states, hover/click behavior, parallax, timers, and transition recordings. Use when reference artifacts are needed before implementation or comparison; not to build or diagnose a clone.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

voidmatcha/ui-clone-skills152026년 9월 27일 업데이트

Clone or recreate a live website URL, page, or section as React + Tailwind with extracted DOM, CSS, assets, responsive layout, motion, and interactions. Use for live-URL implementation or fidelity repair; not capture-only or diff-only requests.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

voidmatcha/ui-clone-skills152026년 9월 27일 업데이트

voidmatcha의 스킬 모두 보기

이 스킬의 문제 신고