Agent skill

Scrollcraft

by NousResearch in NousResearch/hermes-agent

Premium scroll-driven landing pages; scroll = timeline. An agent skill from NousResearch/hermes-agent.

MITAuto-check passedFrontend & Design

Install Scrollcraft

skills CLI
$ npx skills add NousResearch/hermes-agent --skill scrollcraft -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install NousResearch/hermes-agent scrollcraft --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/optional-skills/web-development/scrollcraft .claude/skills/scrollcraft && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scrollcraft
GitHub stars
252k
Token cost
~3k tokens
SKILL.md length
1,475 words
Files
23 (incl. scripts, references)
Skills in repo
29
Repo updated
First seen
Licence
MIT

At a glance

Premium scroll-driven landing pages; scroll = timeline. An agent skill from NousResearch/hermes-agent.

  • Works in 6 steps: The interview → The brief, journey first → Grammar, gate, then score → …
  • Tasks that involve Landing pages
  • SKILL.md covers What this is not, Step 0: The interview, Bootstrap and Step 1: The brief, journey first, plus 7 more sections
  • Runs JavaScript and Shell scripts from its folder; calls node, bash and npm; needs KIE_AI_API_KEY

What it does

Scrollcraft is an agent skill from NousResearch/hermes-agent. Premium scroll-driven landing pages; scroll = timeline.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 25 other files, including scripts and reference files (for example `engine/scrollcraft.js`, `references/assets.md` and `references/devices.md`).

It sits in Frontend & Design, covering Landing pages. The repository describes itself as: The agent that grows with you. The licence is MIT.

When your agent uses it

  • Tasks that involve Landing pages

Example prompts

  • “/scrollcraft”

Requirements

  • Node.js
  • A Bash shell
  • A credential in KIE_AI_API_KEY

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. The interview
  2. The brief, journey first
  3. Grammar, gate, then score
  4. Assets
  5. Build the page
  6. Verify by scrolling it

What it can do on your machine

Read from SKILL.md and the folder at commit 0e37a43. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 4 files in scripts/ (JavaScript and Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • bash
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • KIE_AI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scrollcraft loads about 3k tokens when it runs, and up to ~41k if it reads all its reference files. Until then it costs about 17 tokens; SKILL.md has 1,475 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~17
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~41k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from NousResearch/hermes-agent at commit 0e37a43, republished under its MIT licence (© NousResearch). 1,475 words, ~2,990 tokens.

Download SKILL.mdSave it as .claude/skills/scrollcraft/SKILL.md (or your agent's skills folder). This skill also uses 22 other files; get the full folder from GitHub.
name
scrollcraft
description
Premium scroll-driven landing pages; scroll = timeline.
version
1.0.0
author
nateherkai (upstream scroll-craft), ported by Hermes Agent
license
MIT
platforms
linux, macos, windows

scrollcraft

Scroll is the only input every visitor already knows. This skill treats it as a timeline: the wheel is a scrubber, the page is a film with real text on top, and each section behaves differently enough that the visitor keeps going.

What you produce: an interview brief, a page grammar, a customer-journey map, a feeling curve with one engineered peak, a scroll score, one signature move, assets, one real HTML page on a token-driven design floor, and a strip of screenshots proving it holds up at every scroll position.

Use for: "scrollytelling", "scroll animation site", "a site where scrolling plays a video", "Apple-style landing page", "3D scroll world", "make my brand a scroll experience", "this looks like a template", or any request for a site that should feel like an experience rather than a document.

What this is not

It is not "generate a flythrough and drop text on it." That produces one device applied to a whole page, recognisable at a glance. Four spine rules:

  1. Variety is the product. At least four device families, never the same device twice in a row. Read references/devices.md.
  2. The world is photographic unless the brand is genuinely illustrated. Clay/low-poly diorama is banned as a default. Read references/worlds.md.
  3. No continuous chain unless the brief is literally "one continuous journey" (then see references/worldflight.md).
  4. A different world is not a different page. Structure is a separate axis; decide it deliberately. Read references/uniqueness.md.

Step 0: The interview

Always ask the user in chat before building anything. Real questions, asked and answered in the conversation, written down — not a brief inferred from the brand name. Eight questions in one pass:

  1. Vibe in three to five words, plus up to three references from any medium (film, album cover, shop, magazine, game — not "sites you like").
  2. The scroll journey, section by section, in their words.
  3. The energy curve — where calm, where intense.
  4. How should someone feel while scrolling, stage by stage, and what is the ONE moment they should remember? Becomes the feeling curve and the peak. See references/feel.md.
  5. One thing this site should do that no site they have seen does — the seed of the signature move.
  6. How far from premium-minimal? Offer the range in references/uniqueness.md §5: brutalist, maximalist, playful, retro, dense, editorial, premium-minimal.
  7. One unbroken world, or distinct scenes? The biggest structural fork, and it is their call.
  8. What assets do they already have? Footage, photos, product shots, brand kit. "Nothing" is fine and means a fully generated world.

Write the answers verbatim into <workspace>/builds/<name>/BRIEF.md (use write_file) before any act planning. BRIEF.md must contain the eight answers, the feeling curve (one line per act: emotion, then cause), the peak (as the sentence a visitor would say to a friend), the completed "It's the site where ___" sentence, and any authored silence. If the user is genuinely unreachable in a fully autonomous run, self-author BRIEF.md, mark it Self-authored, not interviewed, and say so in the report.

Bootstrap

Run the preflight rather than checking by hand (it catches a stripped ffmpeg that reports missing filters as syntax errors):

bash
node <skill>/scripts/doctor.mjs
node <skill>/scripts/workspace.mjs --ensure   # prints workspace, seeds registry

Workspace resolution order: SCROLLCRAFT_HOME env var; nearest .scrollcraft.json ({ "workspace": "..." }) walking up from cwd; <project root>/scrollcraft. Builds live at <workspace>/builds/<name>/, the fingerprint registry at <workspace>/FINGERPRINTS.md (seeded from templates/FINGERPRINTS.md, starts empty — the gate stops you repeating yourself).

Copy engine/scrollcraft.js and engine/scrollcraft.css into the build folder. Never edit the engine per-project. Theme with tokens; write your own markup. Bespoke behaviour is bespoke JS in the page, driven off --sc-p and your own data-sc-* attributes.

Step 1: The brief, journey first

Ask the subject open, in plain prose. Then ask only what Step 0 did not cover: what is this and who is it for; the one sentence the page installs; the one next action (one label, used everywhere); what they already have; art direction from references/worlds.md. Then write the journey: four to seven beats, each a shift in what the visitor knows or feels. Beats are the spine; a section serving no beat is cut. Confirm the journey with the user before generating assets — assets are the expensive part.

Step 2: Grammar, gate, then score

Full detail in references/uniqueness.md.

  • Pick a grammar. Eight, mutually exclusive. Choosing filmic one-shot means saying in the report why the other seven lost. Nav, hero and close follow from the grammar.
  • Invent the signature move. One bespoke interaction coded in the page, not a parameter change to a kit device. Interview question 5 is the seed.
  • Run the fingerprint gate. The planned build must differ from every row in <workspace>/FINGERPRINTS.md on at least 4 of 6 dimensions: grammar, nav treatment, hero device, act-sequence shape, close pattern, signature move. If it fails, change the plan, not the log.
  • Write the feeling curve before the score table (method: references/feel.md). Then assign each beat a device in a written table (beat / device / why).

Checks before building: grammar bans hold; 4+ device families; no device twice in a row; at most two scrub acts; no two adjacent acts with the same feeling; one peak with the largest span; total page length 8–14 viewport-heights.

Show full SKILL.md (623 more words)Show less

Step 3: Assets

Full pipeline, prompt scaffolds and model notes: references/assets.md.

Hermes-native paths first:

  • User-supplied footage and photos — no key, no spend, a first-class route. Grade and encode them.
  • The image_generate tool for stills: one style preamble reused verbatim in every prompt is what makes six images look like one shoot. Inspect every asset (vision_analyze) before use; rerolling beats shipping a bad frame.

Optional upstream path — kie.ai (vendored verbatim as scripts/kie.mjs): photoreal stills and camera-move clips. Requires the KIE_AI_API_KEY environment variable (export it in your shell; there is no bundled env file in this port). Check balance with node <skill>/scripts/kie.mjs probe; a still costs cents, a 5s clip more.

bash
node <skill>/scripts/kie.mjs still "<style preamble>\n\n<scene>" out/01-hero.png --ar 16:9
node <skill>/scripts/kie.mjs shot  "<camera move>" out/01-hero.png out/01.mp4 --dur 5
bash  <skill>/scripts/encode.sh out/01.mp4 assets/01.mp4
bash  <skill>/scripts/encode.sh out/01.mp4 assets/01-m.mp4 mobile

Encode for scrubbing, not playback. encode.sh sets a dense GOP because seeking walks from the previous keyframe; a normal web encode scrubs like mud. It also strips audio.

Step 4: Build the page

Write real HTML — real <h1>, real <p>, real reading order. The engine reads data-sc-* attributes off your markup and drives it; it never generates DOM. Start from references/template.html. Device patterns: references/devices.md. Spacing, type, depth, colour: references/taste.md — read it before writing markup. Theme by overriding tokens, six values and two fonts:

css
:root {
  --sc-canvas: #0A0806;  --sc-surface: #16110E;
  --sc-ink:    #F5EBDD;  --sc-ink-soft: #A2968A;
  --sc-accent: #FF5A3D;  --sc-accent-ink: #15110F;
  --sc-font-display: "Archivo", system-ui, sans-serif;
  --sc-font-text:    "Geist", system-ui, sans-serif;
}

Step 5: Verify by scrolling it

Not optional. Every scroll position is a different frame; failures live between the two you looked at. Full procedure: references/verify.md.

bash
cd <build project> && npm i playwright-core     # once
node <skill>/scripts/serve.mjs --root . --port 4500 &
node <skill>/scripts/shoot.mjs --url http://localhost:4500 --out lab/shots
node <skill>/scripts/shoot.mjs --url http://localhost:4500 --out lab/mobile --width 390 --height 844
node <skill>/scripts/shoot.mjs --url http://localhost:4500 --out lab/reduced --reduced-motion

The harness walks each act at six positions, waits for scrub video to settle, reports dead scroll, cues that never reach full opacity, and composited contrast; it writes a contact sheet. Then read sheet.png yourself (vision_analyze) — the harness proves a clip advances, not that the page means anything. Run the feel check (references/feel.md §6): scroll cold, one word per act, diff against BRIEF.md. Where they disagree the page is wrong, not the brief.

A green run does not cover a real phone (video decoder, autoplay policy, Low Power Mode). On any reported mobile defect, deploy references/device-diag.html beside the site on the first round and let the device answer.

Hard rules (ship-blockers)

No clay diorama default; no "scroll to explore" cues or animated mouse icons; no 01 / 06 section counters; at most one eyebrow per three sections; no visible em dashes; vary the copy anchor; no device twice in a row; never build before the interview; one engineered peak, not zero or three; the close resolves instead of fading to a footer; curve before devices; one bespoke signature move; 4-of-6 fingerprint clearance against every row; never edit the engine; no full-frame dark overlay for contrast (scrim only where text sits); no text baked into images; no invented statistics; no transition: all or animating width/height/top/left (transform/opacity; clip-path for wipes); no gradient text or neon glow; no audio on scrub clips; never ship without Step 5.

Output

The build folder including BRIEF.md, then a short report: grammar and why the other seven lost, signature move, fingerprint gate result per row, journey, feeling curve and peak, feel-check diff, score table, what you generated, what you verified with screenshots, and what you could not verify. Append the build's row to <workspace>/FINGERPRINTS.md.

Pitfalls

  • scripts/shoot.mjs needs Playwright (npm install playwright or playwright-core plus a Chrome install). Hermes' browser_exec tool is the lighter alternative for scroll-screenshot verification: serve the build, scroll in steps, capture screenshots, and inspect them yourself.
  • scripts/kie.mjs needs KIE_AI_API_KEY and paid credit; prefer image_generate or user assets when the budget is unclear.
  • encode.sh and doctor.mjs expect a full ffmpeg build; distro-stripped ffmpeg reports missing filters as command syntax errors — run scripts/doctor.mjs first.
  • Upstream script invocations above are copied from upstream docs and unverified by this port beyond node --check syntax validation — trust --help/source if drifted.
  • The upstream repo ships worked examples and a change log that are not vendored in this port; see the upstream repository if you want them.

© NousResearch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 22 other files (scripts, references) in optional-skills/web-development/scrollcraft of NousResearch/hermes-agent.

  • SKILL.md
  • LICENSE.txt
  • engine/scrollcraft.css
  • engine/scrollcraft.js
  • references/assets.md
  • references/device-diag.html
  • references/devices.md
  • references/feel.md
  • references/taste.md
  • references/template.html
  • references/uniqueness.md
  • references/verify.md
  • references/worldflight.md
  • references/worlds.md
  • scripts/doctor.mjs
  • scripts/encode.sh
  • scripts/kie.mjs
  • scripts/serve.mjs
  • … and 5 more

Open the folder on GitHubat commit 0e37a43

Compare with similar skills

Scrollcraft next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scrollcraft compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scrollcraft this skillNousResearch/hermes-agent252k—~3kAutomated safety check: PassMIT
Impeccablebestofjs/bestofjs3.1k27 repos~2.6kAutomated safety check: PassMIT
Scroll World Landing Pageoso95/scroll-world9.7k1 repos~12kAutomated safety check: NotesMIT
Expert Panelericosiu/ai-marketing-skills3.6k2 repos~2.1kAutomated safety check: PassMIT
UI UX Pro Maxsaoudi-h/solar-icons18218 repos~11kAutomated safety check: NotesCustom licence
Frontend Designanthropics/skills180k38 repos~2.3kAutomated safety check: PassApache-2.0

Similar skills

  • Impeccable

    bestofjs/bestofjs

    A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…

    3.1k GitHub starsUsed in 27 repos~2.6k tokens
    Frontend & DesignAuto-check passed
  • Scroll World Landing Page

    oso95/scroll-world

    Builds a scroll-driven landing page where a pre-rendered camera flies through connected AI-generated scenes, using Higgsfield for stills and video clips.

    9.7k GitHub starsUsed in 1 repo~12k tokens
    Frontend & DesignAuto-check: notes
  • Expert Panel

    ericosiu/ai-marketing-skills

    Score, evaluate, and iteratively improve any content or strategy using an auto-assembled panel of domain experts.

    3.6k GitHub starsUsed in 2 repos~2.1k tokens
    Frontend & DesignAuto-check passed
  • UI UX Pro Max

    saoudi-h/solar-icons

    UI/UX design intelligence for web and mobile. An agent skill from saoudi-h/solar-icons.

    182 GitHub starsUsed in 18 repos~11k tokens
    Frontend & DesignAuto-check: notes
  • Frontend Design

    anthropics/skills

    Official

    Pushes the agent toward distinctive visual design for new or reworked UI: a clear aesthetic direction, deliberate typography and choices rooted in the subject.

    180k GitHub starsUsed in 38 repos~2.3k tokens
    Frontend & DesignAuto-check passed
  • Scroll Craft

    nateherkai/scroll-craft

    Build premium scroll-driven landing pages for service, product, food, and drink brands.

    3k GitHub stars~6.2k tokensUpdated 7 days ago
    Frontend & DesignAuto-check: notes

More from NousResearch/hermes-agent

All 29 skills in this repo
  • AI Presenter Video

    NousResearch/hermes-agent

    Produces a presenter-led video from a topic or script plus one authorized presenter image, with captions, lip-sync checks and acceptance reports.

    252k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Word DOCX Toolkit

    NousResearch/hermes-agent

    Creates, reads, edits and templates Word .docx files with python-docx scripts, including tracked changes, comments, tables of contents and health checks.

    252k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Grounded Citations

    NousResearch/hermes-agent

    Attaches a numbered, URL-backed citation to every outside fact in an answer or document, rejecting quotes that aren't real.

    252k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • PDF

    NousResearch/hermes-agent

    PDF files: create, read, merge, fill, OCR, edit text. An agent skill from NousResearch/hermes-agent.

    252k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • XLSX

    NousResearch/hermes-agent

    Create, read, edit Excel .xlsx workbooks and CSVs. An agent skill from NousResearch/hermes-agent.

    252k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Powerpoint

    NousResearch/hermes-agent

    Create, read, edit .pptx decks with python-pptx. An agent skill from NousResearch/hermes-agent.

    252k GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Questions about Scrollcraft

What does Scrollcraft do?

Premium scroll-driven landing pages; scroll = timeline. An agent skill from NousResearch/hermes-agent. Scrollcraft is an agent skill from NousResearch/hermes-agent. Premium scroll-driven landing pages; scroll = timeline.

When should I use Scrollcraft?

Scrollcraft fits situations like: tasks that involve Landing pages.

How do I install Scrollcraft in Claude Code?

Run `npx skills add NousResearch/hermes-agent --skill scrollcraft -a claude-code`. Or copy the skill folder (optional-skills/web-development/scrollcraft in NousResearch/hermes-agent) into .claude/skills/scrollcraft in your project. Claude Code loads it when a task matches its description.

How do I install Scrollcraft in Codex?

Run `npx skills add NousResearch/hermes-agent --skill scrollcraft -a codex`. Or copy the skill folder (optional-skills/web-development/scrollcraft in NousResearch/hermes-agent) into .agents/skills/scrollcraft in your project. Codex loads it when a task matches its description.

Can I use Scrollcraft in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NousResearch/hermes-agent --skill scrollcraft -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scrollcraft, .gemini/skills/scrollcraft, .github/skills/scrollcraft and .opencode/skills/scrollcraft in your project.

What does Scrollcraft need to run?

Going by SKILL.md and its folder, Scrollcraft needs JavaScript and a shell for the scripts in its folder, the command-line tools its instructions call (node, bash and npm) and credentials named KIE_AI_API_KEY. Our summary lists: Node.js; A Bash shell; A credential in KIE_AI_API_KEY.

Does Scrollcraft access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Scrollcraft safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scrollcraft use?

Scrollcraft is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scrollcraft use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 38k tokens, read only when the agent opens those files.

What are the alternatives to Scrollcraft?

Skills that share tags, products or a category with Scrollcraft: Impeccable (bestofjs/bestofjs, 3.1k stars), Scroll World Landing Page (oso95/scroll-world, 9.7k stars), Expert Panel (ericosiu/ai-marketing-skills, 3.6k stars) and UI UX Pro Max (saoudi-h/solar-icons, 182 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scrollcraft?

NousResearch (a GitHub organization) maintains it in NousResearch/hermes-agent, which has 251,739 GitHub stars. The repository holds 29 skills in this directory. The repository was last updated on October 7, 2026.

Source: NousResearch/hermes-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.