scroll-craft README

The project's README from github.com/nateherkai/scroll-craft. As one markdown file: README.md.

scroll-craft

An agent skill for building premium, scroll-driven websites, with a real design standard.

Use it with Codex, Claude Code, or another coding agent that can read instructions, edit files, run commands, and inspect a browser. The skill contains the design workflow, references, engine, and verification tools. It also ships as a Claude Code plugin for convenient installation.

Most AI website output fails in one of two directions. It is either well behaved and forgettable, or it is a flashy scroll animation with 2.1:1 body text, a headline that wraps to six lines on a phone, and the same six sections every other AI page has. scroll-craft is built to fail neither way: it treats interaction and craft as one job rather than two.

MIT Agent skill Claude Code plugin


New in 0.3.0: the approved ten-site standard

The skill now includes the process behind ten approved immersive websites: AI Automation Society, PERKFORM, Glaido, Herkules Advisory, Serein, FORME, Pelagic, NOEMA, OFFGRID, and Afterhours.

See the worked examples in motion

A 50-second walkthrough of several approved sites, showing their layered heroes, pointer response, and scroll transitions.

https://github.com/user-attachments/assets/d193073b-5af9-45de-93ae-95bf7c6934d5

Read the worked examples and production workflow and the hero-depth guide. These examples describe design behavior; client assets and private form data are not bundled. The existing engine and video compatibility fixes are preserved.

Three builds, three completely different pages

Same skill, same engine, no shared skeleton. The differences below are not themes: they are different page grammars, different navigation models, different endings.

AI Automation Society · an AI community

A dark editorial landing for a 450,000-member community. One stat carries the whole promise, a live product surface rises into the frame, and the proof stacks under it as you fall down the page.

AI Automation Society, a dark editorial community landing

Nate Herk · a creator portfolio

High-key and bright, the opposite of the first. A lit-glass hero with the numbers up front, a portrait held in the light, and two clear next steps instead of a wall of links.

Nate Herk, a high-key lit-glass creator portfolio

PERKFORM · a protein coffee

A filmic one-shot that hard-cuts to two full-bleed inverted grounds mid-page. Loud, product-forward, and the only one of the three that raises its voice.

PERKFORM, a filmic one-shot product page


What it actually does

Interaction, engagement, and being unrepeatable

Craft, and how the page actually feels

It checks its own work

A headless browser walks the finished page at every scroll position, waits for the video playhead to settle, and reports:

Then it writes a contact sheet, because a machine can prove a page works and cannot tell you it means anything.


Install

Codex and other coding agents

Clone or download this repository. The complete skill lives in plugins/nateherk-design/skills/scroll-craft/. Keep that folder intact, including its references, scripts, templates, and engine.

Read plugins/nateherk-design/skills/scroll-craft/SKILL.md and use it to build
my website. Follow the referenced design and verification workflow.

Adjust the path if the repository is in a subfolder. Agents use their own tools for file access, shell commands, browser inspection, and user questions. The design workflow is shared; tool names and automatic skill discovery can differ. The ten-site rebuild documented here was built with Codex.

Claude Code plugin

/plugin marketplace add nateherkai/scroll-craft
/plugin install nateherk-design

Then use it by describing what you want, or invoke it directly:

/nateherk-design:scroll-craft

If the install summary says Run /reload-plugins to activate., run that.

To hack on the skill without installing:

claude --plugin-dir ./plugins/nateherk-design

First run

From this repository's root, run:

node plugins/nateherk-design/skills/scroll-craft/scripts/doctor.mjs
node plugins/nateherk-design/skills/scroll-craft/scripts/workspace.mjs --ensure

If you installed the skill elsewhere, use that folder's scripts/ path instead.

Run doctor before anything else. The three most common setup faults all surface later as misleading errors otherwise: a stripped ffmpeg reports a missing filter as a syntax error in your command, a missing WebP muxer reports as a bad filename, and playwright-core resolves from the wrong directory.

Requirements

Why Notes
Node 18+ every script
A full ffmpeg build encoding clips so they scrub rather than play Some toolchains put a stripped ffmpeg on PATH with ~50 filters and no scale. doctor finds a real build if one exists; SCROLLCRAFT_FFMPEG overrides.
playwright-core + Chrome the verification pass npm i playwright-core in the build folder
KIE_AI_API_KEY only if you want assets generated Optional. Building from your own photos and footage needs no key and no spend, and it is a first-class route. See .env.example.

The workspace

Your builds and your fingerprint registry live in one directory, resolved rather than assumed. First hit wins:

  1. SCROLLCRAFT_HOME
  2. the nearest .scrollcraft.json walking up from the current directory: { "workspace": "path/to/builds" }
  3. <project root>/scrollcraft

Builds land in <workspace>/builds/<name>/; your registry is <workspace>/FINGERPRINTS.md.

Your registry starts empty, and that is correct. The gate exists to stop you repeating yourself, so your first build has nothing to clear and every build after it does. EXAMPLES.md is the author's twelve-row table, included so you can see what a filled registry looks like and which shapes tend to collide. It is illustration, not constraint.

What is in here

plugins/nateherk-design/
└── skills/scroll-craft/
    ├── SKILL.md            the procedure: brief, grammar, score, build, verify
    ├── references/
    │   ├── approved-collection.md  the ten-site workflow and worked examples
    │   ├── hero-depth.md   independent planes, contact anchors, mobile composition
    │   ├── uniqueness.md   eight page grammars, the signature move, the fingerprint gate
    │   ├── feel.md         the feeling curve, the engineered peak, the feel check
    │   ├── devices.md      nine scroll devices and the cue contract
    │   ├── worldflight.md  continuous-world mode: one fixed stage, no seams
    │   ├── worlds.md       art direction, and the style-preamble method
    │   ├── taste.md        the design floor: spacing, type, colour, depth, motion
    │   ├── assets.md       generation, camera moves, encoding for scrubbing
    │   ├── verify.md       the harness, and what it cannot tell you
    │   └── template.html   a starting skeleton, not a layout
    ├── engine/             scrollcraft.js + .css. The mechanism, never edited per project
    ├── templates/          the empty registry a new workspace is seeded from
    └── scripts/            doctor · workspace · kie · encode · serve · shoot · worldflight-assert

CHANGELOG.md is worth reading on its own: it records what broke on each build and the rule that came out of it, rather than a feature list.

The one rule that matters most

The engine is the mechanism and it is never edited per project. Theme it with six colour tokens and two fonts, write your own semantic HTML, and drive anything bespoke off the --sc-p custom property the engine publishes. A runtime that builds the page from a config object is exactly why every site built on one looks the same.

Honest limitations

Licence

MIT. See LICENSE.

scroll-craft (nateherkai/scroll-craft)

Searching Database…

What is this?scroll-craft is an agent skill that teaches coding agents like Codex or Claude Code how to build premium, scroll-driven immersive websites to a consistent design standard, bundling a design workflow, reference docs, an animation engine, and verification tools.
Is this a ready-made template or something my coding agent reads and runs?It is a skill folder containing the design workflow, references, engine, and verification scripts that an AI coding agent reads and follows; it is not a finished site you drop in.
How do I add it to my coding agent?Clone the repo and keep the scroll-craft folder intact; for Codex copy it into your project's .agents/skills/ directory, for other skill-aware agents drop it in their documented skill folder, or install it directly as a Claude Code plugin.
What do I need installed before running it?You need Node 18+, a full (non-stripped) ffmpeg build for scrub-ready video encoding, and playwright-core with Chrome for the verification pass. A KIEAIAPIKEY is only needed if you want AI-generated images or footage.
Any install pitfalls I should watch for?Run the bundled doctor script first: a stripped ffmpeg, a missing WebP muxer, or a misresolved playwright-core path all otherwise show up later as confusing, unrelated errors.
Does it work on Mac and Linux, or only Windows?It has so far only actually been built on Windows, even though the scripts also look for ffmpeg and Chrome in macOS and Linux locations.
What makes scroll-craft different from typical AI-made landing pages?It enforces eight mutually exclusive page grammars, requires one bespoke signature interaction per site, and uses a fingerprint gate that rejects a new build if it resembles an earlier one on 4 or more of 6 design dimensions.
Does generating a site with scroll-craft cost money?Building from your own photos and footage costs nothing; only generating AI imagery or video through the optional KIEAIAPIKEY carries a real spend.
How does it verify a finished site actually works?A headless browser walks the page at every scroll position, flags dead scroll, cues that never reach full opacity, and per-line contrast failures, then writes a contact sheet report of the results.
What is the 'engine' that scroll-craft ships with?It is a shared, never-per-project-edited runtime themed with six colour tokens and two fonts; you write your own semantic HTML and drive custom behavior off the --sc-p custom property it publishes.
Creator
nateherkai
Size
10 MB
Stars
3.6K
Updated
CommitSep 30
Age
1mo
Commits · 90 Days