Build a movement-leader HTML template whose visual design matches a reference image: $ARGUMENTS
$ARGUMENTS should include:
- One or more reference image paths (absolute, or under the project root)
- A leader name or template slug (e.g., "Brad Brisco" /
brad-brisco)
- Optionally: path to a
*_RESEARCH_COLLATED.md substrate for editorial copy
- Optionally:
--out <slug> to override the default output directory name
- Optionally:
--primary-cta "Take the assessment" to override the canonical CTA
- Empty → ask the user for the reference image(s) and leader name
Output location
Generated artifacts land in 1-html/by-template-family/ml-templates/, sibling to alan-hirsch/, alan-books-static/, and the other families documented in 1-html/README.md:
1-html/by-template-family/ml-templates/{slug}/
_reference/
{original-image-basename}.{ext} # source reference(s) — copied, not moved
style-spec.md # extracted design language, human-readable
style-spec.json # same, machine-readable
NOTES.md # provenance, known deviations, source URLs
index.html # home
library.html # content library
articles.html # articles index
css/
tokens.css # extracted design tokens (CSS variables)
base.css # reset, body typography, utilities
components.css # nav, hero, cards, buttons, footer
pages.css # page-specific composition
js/main.js
images/ # placeholder hero/covers used by the template
The reference image(s) live inside the template directory permanently so future skills (audits, iterations, regenerations) can re-consult them without hunting through the user's filesystem.
Process — four phases
Phase 1 — Archive the reference
- Validate each reference image path with
Read (it will surface the image so you can also begin Phase 2 inspection).
- Create
1-html/by-template-family/ml-templates/{slug}/_reference/.
- Copy (NOT move) each reference image in with its original basename:
cp "{source}" "1-html/by-template-family/ml-templates/{slug}/_reference/{basename}".
- Write
_reference/NOTES.md capturing:
- Original absolute path(s) of each reference, in order received
- Date archived (today's date in YYYY-MM-DD)
- Anything the user said about the reference ("match it exactly", "use the dominant warm tones", "this is the new Brisco style", etc.)
- Any context that won't be obvious from the image alone (which leader, which page on the reference site this is from, etc.)
The user's original file is never touched.
Phase 2 — Extract the design language
Follow references/style-extraction-protocol.md to systematically read each reference image. Fill out the template in references/style-spec.template.md, then write the result to _reference/style-spec.md. Mirror the same fields into _reference/style-spec.json (see references/style-spec.example.json for the JSON shape).
The style spec captures:
- Color palette (semantic tokens, not just hex values)
- Typography (display + body family, observed weights, scale)
- Layout density & composition tendencies
- Decorative motifs (rules, frames, textures, grain, gradients)
- Imagery treatment (bleed / framed / masked, filters, mood)
- Hero pattern (which of the six canonical patterns the reference most resembles)
- Component vocabulary (button shape, card construction, dividers)
- Border-radius scale, shadow scale, motion implications
Critical: extract what the reference actually shows, not what's "on brand for movement leaders." If the reference is brutalist black-on-yellow, the template is brutalist black-on-yellow — not warm earth tones. If you find yourself reaching for movemental defaults instead of the image, stop and re-read the reference.
Phase 3 — Scaffold the template
Follow references/file-organization.md for the file layout, CSS architecture, and class-name contract. Each output page is built against a fixed spec:
| Page |
Spec |
Home (index.html) |
references/page-home-spec.md |
Content Library (library.html) |
references/page-content-library-spec.md |
Articles (articles.html) |
references/page-articles-spec.md |
The navigation is fixed across all three pages — see references/movemental-nav-spec.md. Only the visual styling of the nav (colors, typography, density, sticky behavior, search presence) adapts to the reference. The link set, semantics, mobile behavior, and login/CTA placement are canonical for the movement-leader template family.
CSS architecture (four files, in this load order):
tokens.css — :root { --color-..., --font-..., --space-..., --radius-..., --shadow-... } from Phase 2.
base.css — minimal reset, body typography, .visually-hidden, focus rings.
components.css — .ml-nav, .ml-hero, .ml-card, .ml-button-*, .ml-footer, etc. Must produce the class names listed in file-organization.md.
pages.css — page-specific composition (.home-personas-grid, .library-grid, .articles-featured).
JS is minimal: mobile nav drawer, sticky-on-scroll state, reveal animations only if the style spec's motion field is non-minimal. Vanilla, no framework, defer on the script tag.
Phase 4 — Verify against the reference
Run through references/verification-checklist.md. If the user wants visual confirmation, hand off to /verify or /run to open the pages in a browser side-by-side with the saved reference. Record any drift in _reference/NOTES.md under a "Known deviations" section — don't silently smooth it over.
What this skill is and is not
Is: a one-shot template scaffolder that produces a high-fidelity, design-matched HTML starting point.
Is not:
- A component library. Output is a template, not a reusable system.
- A content authoring skill. Copy is placeholder unless a substrate is provided — defer real copy to
/movemental-prose, /alan-voice, or /article-author.
- A production React build. HTML/CSS/JS by deliberate design — portable, statically reviewable, convertible later via
/html-to-react-tailwind if needed.
- A nav redesigner. The nav structure is canonical across all movement-leader templates; only styling adapts.
Re-runs and iteration
If the output directory already exists:
- Same reference, refined extraction — overwrite
style-spec.md / style-spec.json; preserve user edits to _reference/NOTES.md.
- New reference image added — copy it into
_reference/ alongside the existing one(s); update the spec; flag in NOTES.md which image is now the primary source of truth.
- Style spec edited by hand — treat the existing spec as authoritative and skip re-extraction unless the user explicitly says to overwrite.
- Template HTML edited by hand — never silently overwrite. Diff first, ask before clobbering.
Hand-offs to other skills
| Next step |
Skill |
| Add real editorial copy |
/movemental-prose, /alan-voice, /article-author |
| Audit the result |
/movemental-page-auditor |
| Generate hero / cover art |
/asset-generate, /asset-hero-portrait, /asset-series |
| Match a specific leader's brand guidelines |
/applying-brand-guidelines |
| Convert HTML → React/Tailwind |
/html-to-react-tailwind |
| Place the rendered template in a device mockup |
/asset-mockup |
Key rules
- The reference is the source of truth. When torn between "what the reference shows" and "what feels movemental," follow the reference.
- Never move the reference image — only copy it. The user's original stays where they put it.
- Nav structure is fixed; nav styling adapts. Don't redesign the link set to match the reference.
- Three pages, every time. Home, library, articles — even if one is sparse.
- No fabricated metadata. Placeholder copy is acceptable and labeled (
Lorem-style placeholder until substrate is provided.). Don't invent book titles, dates, authors, or quotes.
- One spec, two formats.
style-spec.md for humans, style-spec.json for downstream tools. They must agree.
- Class-name contract. Every template ships the
.ml-* class names listed in file-organization.md so downstream skills can target them.
1---2name: ml-template-from-reference3description: Build an HTML/CSS/JS movement-leader template (home + content library + articles) whose visual design matches a provided reference image (or images) exactly. The movemental (alan-hirsch) navigation structure is fixed and consistent across leaders; everything else — color, type, layout, density, motifs — is extracted from the reference. The reference image(s) and an extracted style-spec are archived inside the template directory so future passes can re-consult them.4---56Build a movement-leader HTML template whose visual design matches a reference image: $ARGUMENTS78`$ARGUMENTS` should include:9- One or more reference image paths (absolute, or under the project root)10- A leader name or template slug (e.g., "Brad Brisco" / `brad-brisco`)11- Optionally: path to a `*_RESEARCH_COLLATED.md` substrate for editorial copy12- Optionally: `--out <slug>` to override the default output directory name13- Optionally: `--primary-cta "Take the assessment"` to override the canonical CTA14- Empty → ask the user for the reference image(s) and leader name1516## Output location1718Generated artifacts land in [1-html/by-template-family/ml-templates/](1-html/by-template-family/ml-templates/), sibling to `alan-hirsch/`, `alan-books-static/`, and the other families documented in [1-html/README.md](1-html/README.md):1920```211-html/by-template-family/ml-templates/{slug}/22 _reference/23 {original-image-basename}.{ext} # source reference(s) — copied, not moved24 style-spec.md # extracted design language, human-readable25 style-spec.json # same, machine-readable26 NOTES.md # provenance, known deviations, source URLs27 index.html # home28 library.html # content library29 articles.html # articles index30 css/31 tokens.css # extracted design tokens (CSS variables)32 base.css # reset, body typography, utilities33 components.css # nav, hero, cards, buttons, footer34 pages.css # page-specific composition35 js/main.js36 images/ # placeholder hero/covers used by the template37```3839The reference image(s) live inside the template directory permanently so future skills (audits, iterations, regenerations) can re-consult them without hunting through the user's filesystem.4041## Process — four phases4243### Phase 1 — Archive the reference44451. Validate each reference image path with `Read` (it will surface the image so you can also begin Phase 2 inspection).462. Create `1-html/by-template-family/ml-templates/{slug}/_reference/`.473. Copy (NOT move) each reference image in with its original basename: `cp "{source}" "1-html/by-template-family/ml-templates/{slug}/_reference/{basename}"`.484. Write `_reference/NOTES.md` capturing:49 - Original absolute path(s) of each reference, in order received50 - Date archived (today's date in YYYY-MM-DD)51 - Anything the user said about the reference ("match it exactly", "use the dominant warm tones", "this is the new Brisco style", etc.)52 - Any context that won't be obvious from the image alone (which leader, which page on the reference site this is from, etc.)5354The user's original file is never touched.5556### Phase 2 — Extract the design language5758Follow [references/style-extraction-protocol.md](references/style-extraction-protocol.md) to systematically read each reference image. Fill out the template in [references/style-spec.template.md](references/style-spec.template.md), then write the result to `_reference/style-spec.md`. Mirror the same fields into `_reference/style-spec.json` (see [references/style-spec.example.json](references/style-spec.example.json) for the JSON shape).5960The style spec captures:61- Color palette (semantic tokens, not just hex values)62- Typography (display + body family, observed weights, scale)63- Layout density & composition tendencies64- Decorative motifs (rules, frames, textures, grain, gradients)65- Imagery treatment (bleed / framed / masked, filters, mood)66- Hero pattern (which of the six canonical patterns the reference most resembles)67- Component vocabulary (button shape, card construction, dividers)68- Border-radius scale, shadow scale, motion implications6970**Critical**: extract what the reference *actually shows*, not what's "on brand for movement leaders." If the reference is brutalist black-on-yellow, the template is brutalist black-on-yellow — not warm earth tones. If you find yourself reaching for movemental defaults instead of the image, stop and re-read the reference.7172### Phase 3 — Scaffold the template7374Follow [references/file-organization.md](references/file-organization.md) for the file layout, CSS architecture, and class-name contract. Each output page is built against a fixed spec:7576| Page | Spec |77|------|------|78| Home (`index.html`) | [references/page-home-spec.md](references/page-home-spec.md) |79| Content Library (`library.html`) | [references/page-content-library-spec.md](references/page-content-library-spec.md) |80| Articles (`articles.html`) | [references/page-articles-spec.md](references/page-articles-spec.md) |8182The navigation is **fixed** across all three pages — see [references/movemental-nav-spec.md](references/movemental-nav-spec.md). Only the visual styling of the nav (colors, typography, density, sticky behavior, search presence) adapts to the reference. The link set, semantics, mobile behavior, and login/CTA placement are canonical for the movement-leader template family.8384CSS architecture (four files, in this load order):851. `tokens.css` — `:root { --color-..., --font-..., --space-..., --radius-..., --shadow-... }` from Phase 2.862. `base.css` — minimal reset, body typography, `.visually-hidden`, focus rings.873. `components.css` — `.ml-nav`, `.ml-hero`, `.ml-card`, `.ml-button-*`, `.ml-footer`, etc. Must produce the class names listed in `file-organization.md`.884. `pages.css` — page-specific composition (`.home-personas-grid`, `.library-grid`, `.articles-featured`).8990JS is minimal: mobile nav drawer, sticky-on-scroll state, reveal animations only if the style spec's motion field is non-minimal. Vanilla, no framework, `defer` on the script tag.9192### Phase 4 — Verify against the reference9394Run through [references/verification-checklist.md](references/verification-checklist.md). If the user wants visual confirmation, hand off to `/verify` or `/run` to open the pages in a browser side-by-side with the saved reference. Record any drift in `_reference/NOTES.md` under a "Known deviations" section — don't silently smooth it over.9596## What this skill is and is not9798**Is**: a one-shot template scaffolder that produces a high-fidelity, design-matched HTML starting point.99100**Is not**:101- A component library. Output is a template, not a reusable system.102- A content authoring skill. Copy is placeholder unless a substrate is provided — defer real copy to `/movemental-prose`, `/alan-voice`, or `/article-author`.103- A production React build. HTML/CSS/JS by deliberate design — portable, statically reviewable, convertible later via `/html-to-react-tailwind` if needed.104- A nav redesigner. The nav structure is canonical across all movement-leader templates; only styling adapts.105106## Re-runs and iteration107108If the output directory already exists:109- **Same reference, refined extraction** — overwrite `style-spec.md` / `style-spec.json`; preserve user edits to `_reference/NOTES.md`.110- **New reference image added** — copy it into `_reference/` alongside the existing one(s); update the spec; flag in `NOTES.md` which image is now the primary source of truth.111- **Style spec edited by hand** — treat the existing spec as authoritative and skip re-extraction unless the user explicitly says to overwrite.112- **Template HTML edited by hand** — never silently overwrite. Diff first, ask before clobbering.113114## Hand-offs to other skills115116| Next step | Skill |117|-----------|-------|118| Add real editorial copy | `/movemental-prose`, `/alan-voice`, `/article-author` |119| Audit the result | `/movemental-page-auditor` |120| Generate hero / cover art | `/asset-generate`, `/asset-hero-portrait`, `/asset-series` |121| Match a specific leader's brand guidelines | `/applying-brand-guidelines` |122| Convert HTML → React/Tailwind | `/html-to-react-tailwind` |123| Place the rendered template in a device mockup | `/asset-mockup` |124125## Key rules1261271. **The reference is the source of truth.** When torn between "what the reference shows" and "what feels movemental," follow the reference.1282. **Never move the reference image** — only copy it. The user's original stays where they put it.1293. **Nav structure is fixed; nav styling adapts.** Don't redesign the link set to match the reference.1304. **Three pages, every time.** Home, library, articles — even if one is sparse.1315. **No fabricated metadata.** Placeholder copy is acceptable and labeled (`Lorem-style placeholder until substrate is provided.`). Don't invent book titles, dates, authors, or quotes.1326. **One spec, two formats.** `style-spec.md` for humans, `style-spec.json` for downstream tools. They must agree.1337. **Class-name contract.** Every template ships the `.ml-*` class names listed in `file-organization.md` so downstream skills can target them.