本文へ移動
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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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-skills142026年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-skills142026年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-skills142026年9月27日 更新

voidmatcha のスキルをすべて見る

このスキルの問題を報告する