Skip to content
Back to skills

Ml Template From Reference

ASecurity

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.

  • 2 stars
  • 0 votes
  • 1 copy
  • 4 views
  • Added October 26, 2026
designbashreact

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned October 26, 2026

npx -y skills add JoshuaShepherd/my-skills --skill ml-template-from-reference --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ml Template From Reference?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ml Template From Reference
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/joshuashepherd-ml-template-from-reference/badge)](https://www.skillsdirectory.com/skills/joshuashepherd-ml-template-from-reference)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ml-template-from-reference
description: 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.
user-invocable: true
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent
---

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/](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):

```
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

1. Validate each reference image path with `Read` (it will surface the image so you can also begin Phase 2 inspection).
2. Create `1-html/by-template-family/ml-templates/{slug}/_reference/`.
3. Copy (NOT move) each reference image in with its original basename: `cp "{source}" "1-html/by-template-family/ml-templates/{slug}/_reference/{basename}"`.
4. 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](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).

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](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](references/page-home-spec.md) |
| Content Library (`library.html`) | [references/page-content-library-spec.md](references/page-content-library-spec.md) |
| Articles (`articles.html`) | [references/page-articles-spec.md](references/page-articles-spec.md) |

The 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.

CSS architecture (four files, in this load order):
1. `tokens.css` — `:root { --color-..., --font-..., --space-..., --radius-..., --shadow-... }` from Phase 2.
2. `base.css` — minimal reset, body typography, `.visually-hidden`, focus rings.
3. `components.css` — `.ml-nav`, `.ml-hero`, `.ml-card`, `.ml-button-*`, `.ml-footer`, etc. Must produce the class names listed in `file-organization.md`.
4. `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](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

1. **The reference is the source of truth.** When torn between "what the reference shows" and "what feels movemental," follow the reference.
2. **Never move the reference image** — only copy it. The user's original stays where they put it.
3. **Nav structure is fixed; nav styling adapts.** Don't redesign the link set to match the reference.
4. **Three pages, every time.** Home, library, articles — even if one is sparse.
5. **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.
6. **One spec, two formats.** `style-spec.md` for humans, `style-spec.json` for downstream tools. They must agree.
7. **Class-name contract.** Every template ships the `.ml-*` class names listed in `file-organization.md` so downstream skills can target them.

Files in this skill

  • SKILL.md9.3 KB
  • references/file-organization.md8.6 KB
  • references/movemental-nav-spec.md6.1 KB
  • references/page-articles-spec.md5.7 KB
  • references/page-content-library-spec.md5.5 KB
  • references/page-home-spec.md8.4 KB
  • references/style-extraction-protocol.md7.3 KB
  • references/style-spec.example.json3 KB
  • references/style-spec.template.md3.8 KB
  • references/verification-checklist.md5.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.