Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add voidmatcha/ui-clone-skills/plugin install ui-clone-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/voidmatcha/ui-clone-skills/visual-debug)<a href="https://agentmods.dev/skills/voidmatcha/ui-clone-skills/visual-debug"><img src="https://agentmods.dev/badge/skills/voidmatcha/ui-clone-skills/visual-debug/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/voidmatcha/ui-clone-skills/visual-debug"><img src="https://agentmods.dev/badge/skills/voidmatcha/ui-clone-skills/visual-debug.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00049 | $0.01751 |
| Opus 5.5 | $0.00020 | $0.00700 |
| Sonnet 5.5 | $0.00010 | $0.00350 |
| Haiku 4.5 | $0.00005 | $0.00175 |
Grade A, and why
visual-debug scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 21d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
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" How it starts
The opening of the file, as written. The whole thing — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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 toui-reverse-engineeringor 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.mdorevidence-pack.jsonfirst 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.mdbefore 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.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- agents/openai.yaml 385 B
- common-selectors.md 6.8 KB
- comparison-fix.md 34 KB
- evals/evals.json 26 KB
- evals/trigger-eval.json 4.4 KB
- prompts/motion-judge.md 3.7 KB
- prompts/section-spec.md 5.8 KB
- prompts/visual-judge.md 5.9 KB
- scripts/ae-compare.sh 4.0 KB runs code
- scripts/alignment_parity_check.py 28 KB runs code
- scripts/alignment-parity-check.sh 1.8 KB runs code
- scripts/alignment-sweep-check.sh 6.0 KB runs code
- scripts/animation-spec-compare 16 KB
- scripts/asset_placement_check.py 31 KB runs code
- scripts/asset-placement-check.sh 1.2 KB runs code
- scripts/asset-transfer-check.sh 6.1 KB runs code
- scripts/asset-utilization-check.sh 11 KB runs code
- scripts/auto-diagnose.sh 9.6 KB runs code
- scripts/batch-compare.sh 6.6 KB runs code
- scripts/batch-scroll.sh 22 KB runs code
- scripts/behavior-parity-check.sh 11 KB runs code
- scripts/blank-viewport-check.sh 12 KB runs code
- scripts/body-opacity-unlock-check.sh 7.5 KB runs code
- scripts/breakpoint-collision-check.sh 10 KB runs code
- scripts/build-decode-receipt.sh 12 KB runs code
- scripts/bundle_impl_coverage.py 3.7 KB runs code
- scripts/bundle-impl-coverage-check.sh 5.0 KB runs code
- scripts/bundle-paste-check.sh 8.6 KB runs code
- scripts/canvas-webgl-detect.sh 5.9 KB runs code
- scripts/capture-artifact-inventory-check.sh 17 KB runs code
- scripts/capture-runtime-text.sh 3.6 KB runs code
- scripts/click-state-compare.sh 6.5 KB runs code
- scripts/color-token-grounding-check.sh 13 KB runs code
- scripts/computed-diff.sh 11 KB runs code
- scripts/container-context-check.sh 6.2 KB runs code
- scripts/content-cardinality-check.sh 6.1 KB runs code
- scripts/css-mirror-check.sh 11 KB runs code
- scripts/desktop-band-fluidity-check.sh 20 KB runs code
- scripts/dom-mirror-check.sh 13 KB runs code
- scripts/dom-scaffold.sh 19 KB runs code
- scripts/dssim-compare.sh 6.0 KB runs code
- scripts/duration-easing-grounding-check.sh 20 KB runs code
- scripts/dynamic-behavior-parity.sh 5.3 KB runs code
- scripts/emit-scroll-helpers.sh 1.6 KB runs code
- scripts/entry-coherence-check.sh 12 KB runs code
- scripts/extract-dom.sh 7.9 KB runs code
- scripts/extract-section-map.sh 18 KB runs code
- scripts/extract-styles.sh 8.3 KB runs code
- scripts/font-binaries-present-check.sh 6.9 KB runs code
- scripts/font-parity-check.sh 6.6 KB runs code
- scripts/forced-state-class-check.sh 15 KB runs code
- scripts/geometry-sanity-check.sh 13 KB runs code
- scripts/header-state-runtime-check.sh 24 KB runs code
- scripts/hero-composite-check.sh 23 KB runs code
- scripts/hidden-children-check.sh 7.3 KB runs code
- scripts/hover-fallback-probe.sh 25 KB runs code
- scripts/hover-state-compare.sh 98 KB runs code
- scripts/hover-tree-diff.sh 37 KB runs code
- scripts/html-paste-check.sh 16 KB runs code
- scripts/hydration-check.sh 8.6 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 21d ago Changed · +2 lines 864fecbdceac
- 23d ago Changed · -301 lines 8a324fd5f65b
- 1mo ago Changed · +8 lines 5f8651f189b1
- 1mo ago Changed · +21 tokens per session 5adad221332f
- 1mo ago First seen · 397 lines · 28 tokens per session scan A 4c5ff4a4135c
visual-debug is a skill published in the GitHub repository voidmatcha/ui-clone-skills (15 stars, last pushed 21d ago), licensed Apache-2.0. It adds 49 tokens to every session and 1,751 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
genpage
Creates, updates, and deploys Power Apps generative pages for model-driven apps using React v17, TypeScript, and Fluent UI V9. Orchestrates specialist agents for planning, entity creation, and code generation. Use it when user asks to build, retrieve, or update a page in an existing Microsoft Power Apps model-driven…
add-localization
Adds or extends multilingual localization in a Power Pages code-site SPA. Use whenever the user asks to translate, localize, internationalize, support multiple languages, add a language selector, add locale routes, repair an i18n setup, or add languages to an existing React, Vue, Angular, or Astro Power Pages site.
debug-extension
Diagnose and fix failures in a built third-party .ppmplugin control: crashes, silent no-ops, PCF error outputs, or incorrect behavior. Uses the reported symptom, shared/error-codes.md, and file-level evidence to trace the manifest, Android/iOS modules, PCF dispatch, and build configuration. Produces a ranked…
audit-ppmplugin
Statically audit a built .ppmplugin before wrap testing. Checks archive layout, manifest compatibility, bundle consistency, Android DEX integrity and SDK leakage, iOS framework structure, native source-to-receiver alignment, and the PCF composite-key/sendAsync transport contract. Reports CRITICAL, WARNING, and INFO…
create-code-app
Creates Power Apps code apps using React and Vite. Use when building code apps, scaffolding projects, or deploying to Power Platform.
generate-ppmplugin-manifest
Validate, reconcile to the chosen target(s), and stage the manifest.json for a .ppmplugin bundle. In the normal flow the committed ./manifest.json already exists (authored by /generate-native-extension), so this stage reads it, runs the plugin's upload-compatibility checks locally as a pre-flight gate (name regex…