Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add randomittin/heimdall --skill designmatchgit clone --depth 1 https://github.com/randomittin/heimdallWrote 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/randomittin/heimdall/designmatch)<a href="https://agentmods.dev/skills/randomittin/heimdall/designmatch"><img src="https://agentmods.dev/badge/skills/randomittin/heimdall/designmatch/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/randomittin/heimdall/designmatch"><img src="https://agentmods.dev/badge/skills/randomittin/heimdall/designmatch.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00069 | $0.03050 |
| Opus 5.5 | $0.00028 | $0.01220 |
| Sonnet 5.5 | $0.00014 | $0.00610 |
| Haiku 4.5 | $0.00007 | $0.00305 |
Grade A, and why
designmatch scanned grade A with 0 findings 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 235 lines — stays where its author put it; the contents beside it link to each section on GitHub.
designmatch
Overview
Match RN screen → HTML canonical at ≥95% visual parity. Closed loop: VQA stub seeds redux → Playwright renders canonical PNG → adb/xcrun captures native PNG → pixelmatch + ssim.js scores diff → composite triptych for eyeball review → iterate.
Origin: a production React Native app. A single screen's SSIM climbed 35% → 55% over ~30 commits of eyeballed pixel-tweaking before this loop replaced it.
Pass gate: SSIM ≥ 0.95 OR pixelDiffPct ≤ 5%.
When to Use
- RN screen drift from Claude Design HTML canonical
- Visual parity audit before ship
- Per-screen iteration loop on real device
- Closing the design ↔ code feedback gap
Do NOT use for: unit logic, redux state shape, navigation graph correctness — those are not visual.
Quick Start — URL in, ready-to-translate out
From the RN project root:
designmatch init "<claude-design-url>" --app-dir . --port-all
This single command does the full bootstrap:
- App side: copies
assets/visual-qa.tsinto the app (src/lib/visual-qa.tsby default; auto-detectssrc/utils/,src/,app/, or root), writes default.designmatch/state.vqa.json, updates.gitignore. - Fetch: Playwright headless downloads the entire canonical bundle (HTML + JSX + assets) to
.designmatch/canonical/by intercepting every network response, then flipsconfig.jsonkind fromurl→local-dir(original URL preserved for re-fetch). - Port-all: discovers every
screen-*.jsx|tsx/*Screen.jsx|tsxin the bundle and writes each tosrc/screens/<Name>.tsxpreceded by the TRANSLATION GUIDE (web → RN idiom map). - Wire: prints the
App.tsxsnippet (primeVisualQaFlag / applyVisualQaState / overrideFeatureFlags / VqaBadge / long-press handler).
Slash command equivalent (inside a Heimdall session): /hmd:designmatch <url-or-path>.
Auth: if the canonical URL is behind login, add --headed so Chromium launches visibly for interactive auth — the fetch picks up after sign-in.
Granular subcommands (when you want pieces, not the one-shot):
What ships with it
18 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.
- .heimdall/.agents-count-cache 2 B
- .heimdall/.beat-stamp 0 B
- .heimdall/.repo-roster-ghuser-d51068a87357.json 61 B
- .heimdall/.repo-roster-git-c2d535c378f4.json 184 B
- .heimdall/.repo-roster-github-e102bdc3a256.json 110 B
- .heimdall/.roster-cache.json 327 B
- .heimdall/.wall-cache.json 507 B
- assets/visual-qa.ts 8.6 KB runs code
- package-lock.json 1.0 KB
- package.json 56 B
- references/anti-patterns.md 6.4 KB
- references/canonical-values.md 3.0 KB
- scripts/emit-parity.js 6.3 KB runs code
- scripts/fetch-canonical.js 5.1 KB runs code
- scripts/iterate-screen.sh 6.4 KB runs code
- scripts/render-canonical.js 8.1 KB runs code
- scripts/render-web-candidate.js 9.2 KB runs code
- scripts/visual-diff.js 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.
- 1mo ago First seen · 235 lines · 69 tokens per session scan A 90a1152f4733
designmatch is a skill published in the GitHub repository randomittin/heimdall (5 stars, last pushed 6d ago), licensed MIT. It adds 69 tokens to every session and 3,050 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
atomic-visual-options
Planning-phase visual comparison aid. Renders 2-4 side-by-side variants per decision dimension as a single throwaway, self-contained HTML file and captures the user's pick as typed terminal codes (e.g. "A2 B3"). Auto-fires on phrases like "show me a few options", "mock up some variants", "let me see this side by…
vc:tech-graph
Use when you need publish-grade SVG or PNG technical diagrams for architecture, flow, sequence, UML, state, or comparison visuals, with preview used afterward for review rather than generation.
canvas-design
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
vc:frontend-design
Create polished frontend interfaces from designs/screenshots/videos. Use for web components, 3D experiences, replicating UI designs, quick prototypes, immersive interfaces, avoiding AI slop.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI).…
theme-factory
Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.