reimagine-it-lock — Claude Code skill: capture design DNA
This skill pulls the palette, type stack, motifs and motion out of a shipped HTML file and stores them as a pack you can reuse elsewhere.
npx skills add Kayforkind/reimagine-it --skill lock -a claude-codeWhat reimagine-it-lock does
Point it at an HTML file with inline CSS and it walks the source: hex values inside the :root { } block and every var(--*), font families from font-family, repeating patterns in SVG <pattern> and <linearGradient>, @keyframes blocks with their durations, 3D hints such as perspective, rotateX and translateZ, plus the section anatomy read from <header>, <main>, <section> and <footer>. The pack lands in references/locks/<name>.md.
A run looks like /reimagine-it lock gold/domains/cinematic/after.html as house-cinema. You pick the name, then reference it later: /reimagine-it webpage --ref house-cinema. Content still drives the structure; only palette, type and voice get pinned. There is a CLI path too — npx reimagine-it lock -i house-style.html -o house.lock.json emits JSON the engine applies on its own.
Every pack has to carry a token translation table. Colors come strictly from the source CSS, so nothing invented ends up in the file. An existing lock stays untouched until you confirm the overwrite. Writes are confined to references/locks/ or whatever locks path the host sets.
What it helps with
- pull palette and fonts off a finished page
- carry one project's look onto another HTML file
- build a portable markdown pack of design tokens
- produce a JSON lock the engine applies without an agent
- pin motifs and animation as a reference
Example prompts for the agent
- /reimagine-it lock gold/domains/cinematic/after.html as house-cinema
- Lock this design and save it as ops-console
- Capture the look of
house-style.htmland reuse it on a new page
How to install reimagine-it-lock
1Skills CLI (Vercel)
npx skills add Kayforkind/reimagine-it --skill lock -a claude-code2Manually: put the files in place
~/.claude/skills/lock/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/lock/
1Skills CLI (Vercel)
npx skills add Kayforkind/reimagine-it --skill lock -a codex2Manually: put the files in place
.agents/skills/lock/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Kayforkind/reimagine-it --skill lock -a cursor2Manually: put the files in place
.cursor/skills/lock/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Kayforkind/reimagine-it lock2Manually: put the files in place
.github/skills/lock/SKILL.md1Skills CLI (Vercel)
npx skills add Kayforkind/reimagine-it --skill lock -a gemini-cli2Platform CLI
gemini skills install https://github.com/Kayforkind/reimagine-it --path skills/reimagine-it/lockManually: put the files in place
.devin/skills/lock/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Kayforkind/reimagine-it --skill lock -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about reimagine-it-lock
How do I install reimagine-it-lock in Claude Code?
Run npx skills add Kayforkind/reimagine-it --skill lock -a claude-code. The skill then sits at ~/.claude/skills/lock/SKILL.md.
What does reimagine-it-lock do?
It reads palette, type stack, motifs, motion and 3D signatures from a shipped HTML file and writes them to a markdown pack under references/locks/. That pack can be attached to another file with --ref.
Can I apply a lock without an agent?
Yes. The CLI writes JSON: npx reimagine-it lock -i house-style.html -o house.lock.json. The --ref flag takes either a .lock.json file or raw HTML.
Source text
SKILL.md · MIT
---
name: reimagine-it-lock
description: >-
Design DNA capture — extracts palette, type stack, motifs, motion, and 3D
signatures from a shipped HTML file and saves them as a reusable reference pack.
Use when the user says /reimagine-it lock, "lock this design", "save design DNA",
"capture this look", or wants to reuse a shipped design on a different target.
Locks capture palette, type, motif, and motion from a shipped HTML file.
Part of the reimagine-it Content-Derived Design suite.
license: MIT
metadata:
author: Kayforkind
version: "2.15.0"
parent: reimagine-it
hosts:
- claude-code
- cursor
- codex
- copilot
- gemini-cli
keywords:
- lock
- design-dna
- palette-capture
- design-system
- reusable-design
- style-extraction
- content-derived-design
category: Design
capabilities:
- palette-extraction
- type-stack-capture
- motif-extraction
- motion-signature-capture
- design-reuse
trigger_phrases:
- /reimagine-it lock
- lock this design
- save design DNA
- capture this look
- reuse this design
- extract palette
- lock and reuse
---
# /reimagine-it lock
**Parent:** [../SKILL.md](../SKILL.md) — the full Content-Derived Design engine. This sub-skill handles design DNA capture and reuse.
Captures a shipped design's full identity into a portable markdown pack so it can be reused on any source file:
```
/reimagine-it lock gold/domains/cinematic/after.html as house-cinema
/reimagine-it lock examples/end-users/horizon/auto.html as ops-console
```
## What gets captured
| Category | What | Example |
|----------|------|---------|
| **Palette** | Ground, accent, support colors with hex values | `#08141a` ground, `#3ae098` accent |
| **Type stack** | Display family, body family, fallbacks | `Iowan Old Style`, `Georgia`, `serif` |
| **Motifs** | Repeating visual patterns | Pulse wave, heartbeat ring |
| **Motion** | Animation budget, keyframe durations | `alive-micro`, 2–4 loops |
| **3D signature** | 3D approach for the medium | `matcap-hero`, `card-fan` |
| **Section structure** | Page anatomy grid | Hero → Cards → Footer |
## Token translation
Locks include a translation table so a webpage lock can inform another HTML token:
```
/reimagine-it webpage --ref house-cinema
/reimagine-it infographic --ref house-cinema
/reimagine-it dashboard --ref house-cinema
```
## CLI (machine-readable)
The agent pack is markdown for the LLM. The CLI writes JSON the engine can apply without an agent:
```bash
npx reimagine-it lock -i house-style.html -o house.lock.json
npx reimagine-it -i my-page.html --ref house.lock.json -t landing -o on-brand.html
npx reimagine-it -i my-page.html --ref competitor.html --auto -o study.html
```
`--ref` accepts a `.lock.json` file **or** raw HTML (reverse-lock). Structure stays content-derived; only palette, type, and voice are pinned.
## Procedure
1. Read the target file (HTML with inline CSS).
2. Extract palette: scan `:root { }` block and all `var(--*)` usage for hex values.
3. Extract type stack: scan `font-family` declarations; capture display, body, fallbacks.
4. Extract motifs: scan SVG `<pattern>`, `<linearGradient>`, keyframe `@keyframes` names.
5. Extract motion: count `@keyframes` blocks, note durations, check `prefers-reduced-motion`.
6. Extract 3D: scan for `perspective`, `rotateX`, `rotateY`, `translateZ`.
7. Extract section structure: scan semantic HTML (`<header>`, `<main>`, `<section>`, `<footer>`).
8. Write the pack to `references/locks/<name>.md`.
9. Report `LOCKED: <name> → references/locks/<name>.md` with a summary of what was captured.
## Must not
- Save outside `references/locks/` (or the host's configured locks path)
- Capture invented colors not actually in the source CSS
- Overwrite an existing lock without asking
- Skip the token translation table
© Kayforkind · MIT · Kayforkind/reimagine-it