Atlas / Skills / chrisjeffries24 / claude-enrichr-skill

claude-enrichr-skillSAFE

skills/chrisjeffries24/claude-enrichr-skill

A Claude Code skill that turns the Enrichr MCP into a reliable capture -> verify -> rebuild pipeline for cloning live sites: DOM, CSS, tokens, GSAP/scroll motion, WebGL/shaders, SVG, 3D, and assets.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
3 documented
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

A Claude Code skill that turns the [Enrichr](https://enrichr.dev) MCP into a reliable site-cloning pipeline — capture a live site's DOM, CSS, design tokens, GSAP/scroll animation, WebGL/shaders, SVG, 3D scene, and every asset; verify what's actually running; then rebuild the whole site or isolate a single effect, in Claude Code.

Quick start (60 seconds)

  1. Get a free API key at enrichr.dev (free plan, no card).
  2. Connect the MCP to Claude Code:
claude mcp add --transport http enrichr https://enrichr.dev/mcp \
--header "X-API-Key: enrichr_your-key-here"
  1. Install this skill:
npx skills add chrisjeffries24/claude-enrichr-skill
  1. Ask Claude:
Clone the hero section of https://linear.app as a standalone component.
Capture it first, verify what actually animates, then rebuild it.

Using Cursor, VS Code, Windsurf or ChatGPT instead? Setup for each client is at enrichr.dev/connect. Want to see what a capture finds first? Try the free font finder, palette extractor and animation library checker, or browse design breakdowns of 100+ famous sites.

Why this exists

The Enrichr MCP is powerful: it renders a page in a real browser and reports what actually happened — computed styles, motion measured by scrolling,

Read from source at commit 626fa22690a5OBSERVED · 2026-10-14
02

Install

Commands as the repository documents them. They are shown, not run.

claude mcp add --transport http enrichr https://enrichr.dev/mcp \
npx skills add chrisjeffries24/claude-enrichr-skill
git clone https://github.com/chrisjeffries24/claude-enrichr-skill.git ~/.claude/skills/enrichr
git clone https://github.com/chrisjeffries24/claude-enrichr-skill.git .claude/skills/enrichr
03

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
cursormentioned
windsurfmentioned
04

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: enrichr
description: How to correctly drive the Enrichr MCP tools (reverse_engineer_dom, extract_site_profile, extract_design_system, reverse_engineer_animations, reverse_engineer_webgl, extract_assets, interact_with_page, take_screenshot, ocr_image, ocr_document, rebuild_brief, scrape_url, crawl_site, map_site) to reverse-engineer, clone, mirror, or pull design/animation reference from a live website — and then rebuild it in Claude Code, either the whole site or one isolated section/element. Use this whenever someone asks to "clone", "rebuild", "reverse-engineer", "recreate", "grab", "pull down", "copy", or "mirror" a site or app, wants an offline copy of a page, wants a specific effect lifted (mouse follower, cursor trail, WebGL/shader background, GSAP/ScrollTrigger animation, SVG morph, parallax, page transition), or wants things extracted from a URL — design tokens, a color palette, animation timings, the 3D scene, or "everything, verbatim." Load this BEFORE the first Enrichr call in a session, not after something breaks — it exists specifically to prevent the expensive mistakes made without it: (1) treating something found in a static capture (a shader, a uniform, a CSS rule, an animation in the bundle) as proof it is actually active on the page, when static analysis only shows what exists, not when it fires; (2) shipping a local rebuild that silently 404s or renders blank because of a well-known bundler quirk in how Enrichr localizes assets; and (3) stopping at the text brief instead of downloading the full capture zip that contains the DOM, assets, CSS, shaders, and 3D export. Also covers OCR of canvas/image-baked text, mandatory behavioral verification against the live URL, isolating one element vs. rebuilding the whole site, and which parts of a capture are safe to reuse verbatim versus which need original reimplementation.
---

# Enrichr: capture → verify → rebuild

Enrichr renders a page in a real browser and reports **what actually happened** — the computed styles after the cascade resolved, motion measured by physically scrolling, shaders compiled on a real GPU, the 3D scene read out of the running renderer. That is its whole edge over a plain fetch, and it is also the source of every mistake people make with it: an Enrichr capture is an **X-ray, not source code**. It shows you what is inside the page; it does not tell you what the page is *doing* with it. Almost everything in this skill exists to close that gap.

Work in three phases, always in this order:

1. **Capture** — pull the right data with the narrowest tool that answers the question (§1–§2), and for any real rebuild, download the full zip (§3).
2. **Verify** — confirm behaviorally, against the live URL, that the thing you think you found is actually firing (§5). This is the step people skip and regret.
3. **Rebuild** — reconstruct the whole site or isolate one element (§6), serve it, fix the known breakages (§4), and compare it back against the original (§8).

## 1. Match the tool to the intent

Do not reach for `rebuild_brief` reflexively — it is the heaviest call (a full browser session, tens of seconds, real credits) and is meant for one job: producing a buildable local mirror. Route by what is actually being asked:

| What they actually want | Tool |
|---|---|
| Plain text / markdown off a page | `scrape_url` (never drive a browser for this) |
| Quick structural/content read — headings, links, text | `reverse_engineer_dom` |
| Color palette / type scale / spacing / tokens | `extract_design_system` |
| How a scroll/hover/GSAP animation works | `reverse_engineer_animations` → then **verify per §5** |
| Shaders, WebGL scene, 3D internals | `reverse_engineer_webgl` |
| Full inventory of images / fonts / video / 3D | `extract_assets` |
| One page load, everything at once (tokens, fonts, framework internals, asset inventory, security, CDN) | `extract_site_profile` |
| Multiple pages / whole-site structure | `map_site`, then `crawl_site` |
| A mouse follower / cursor effect / hover interaction | `interact_with_page` (**behavior only** — see §5) |
| Text baked into canvas / images / video frames | `ocr_image` / `ocr_document` |
| "Clone this", "rebuild this", "grab everything verbatim" | `rebuild_brief` — see §3 |

If the ask is ambiguous ("pull down this site"), find out what they intend to *do* with it — study a technique, build an offline reference, or ship a working copy. That answer decides how many tools you need and how hard §7 (IP guardrails) constrains what you hand back.

**For the complete catalog of every capture subsystem** — DOM, applied CSS, tokens, fonts, GSAP/ScrollTrigger/Framer/Lenis, cursor effects, WebGL/GLSL, the glTF 3D export, SVG, assets, framework payloads, responsive states, interaction states, and exactly which tool and which file in the zip gives you each — read **`references/capture-subsystems.md`**. Consult it whenever you need a subsystem that is not obvious from the table above, or when someone asks for "everything."

## 2. "Everything" means run the surfaces you actually need, narrowly

When someone says "get everything — mouse follower, WebGL, GSAP, DOM, SVG, assets," that is not one magic call. `rebuild_brief` covers most of it in a single load (DOM, CSS, assets, animations, shaders, 3D, screenshots, motion frames), so start there and download the zip. Then fill specific gaps with narrow calls rather than re-running the full capture:

- Cursor/mouse-follower and hover behavior → `interact_with_page` on the live URL (the zip cannot record an interaction that never happened during capture).
- Canvas/image text → `ocr_image` over the screenshots and `motion-frames/`.
- Anything the brief flagged as "not captured" → the matching narrow tool.

Prefer two narrow calls over one full re-capture. Each Enrichr call holds a real browser open and costs credits, and re-running `rebuild_brief` to grab one thing an earlier call already has is waste.

## 3. `rebuild_brief` always means: d
05

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (1)

LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
scripts/extract_screenshots.py:36
raw = base64.b64decode(candidate, validate=True)

Gates applied: no_behavioural_pass.

Audited 2026-10-14 · audit v0.4.1 · source sha 626fa22690a5full audit observations/trust-audit/skill/chrisjeffries24__claude-enrichr-skill.json · Report an issue / request a re-scan
06

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-14626fa22690a5SAFEB89first audit
07

Questions

What does the claude-enrichr-skill skill do?

A Claude Code skill that turns the Enrichr MCP into a reliable capture -> verify -> rebuild pipeline for cloning live sites: DOM, CSS, tokens, GSAP/scroll motion, WebGL/shaders, SVG, 3D, and assets.

Is claude-enrichr-skill safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can claude-enrichr-skill access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

Which assistants does claude-enrichr-skill work with?

Its documentation mentions claude-code, cursor and windsurf. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (626fa22690a5), read on 2026-10-14. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement