Skip to content

About

Websites that move like what they're about. An open agent skill that designs a motion language for each website: real 3D made in code, in plain HTML, CSS and JS.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

Murmuration: against a sunset, a flock of birds forms a serif M that turns in 3D beside the wordmark; a falcon cuts through it and the flock closes again.

Websites that move like what they're about.

An open agent skill. It reads your subject, finds its verb and builds the site in plain HTML, CSS and JS, with real 3D made in code. No framework, no build step. It runs in Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI and any agent that reads SKILL.md.

Website · Install · Six examples · How it works · Techniques

The Murmuration website: four thousand starlings, simulated on the GPU, wheel against a sunset, then gather into a roasting drum, a timber frame and a container ship as the page scrolls past each example.

Why

Ask an AI for an "animated landing page" and you get the same page every time: a gradient blob, drifting particles, a globe of dots, cards that tilt. Murmuration starts from the subject instead. A roaster watches a curve. A ledger balances. A frame goes up. A tide goes out. The motion comes from those verbs, so a coffee roastery and an accounting app never come out moving the same way.

Six briefs, six worlds

Each of these was built by the skill in a fresh session from the one-line prompt shown, told to decide everything itself. None chose the same motion, and none reached for particles. The same SKILL.md runs in any agent. Each site was then opened in a real browser and fixed where it broke, which is the skill's own last step; examples/README.md lists every fix.

Six sites built by the skill: a 3D drum roaster with beans glowing behind its porthole, a desk of paper splitting into a tax pot, a timber house frame being raised, a ring of light standing in the sea at night, a seedling in a lab beaker and a container ship at sea.

Site The prompt (excerpt) What it built Its verb
Ember & Ash, a coffee roastery "a small-batch coffee roastery that roasts every Tuesday … premium and animated, with light and dark mode" (full) a drum roaster made in code: as you scroll, one Tuesday batch turns from green to brown behind its porthole and drops into the cooling tray roast, drop
Ledgerly, an accounting app "an accounting app that helps freelancers send invoices, track expenses and set money aside for tax … animated, but it has to feel trustworthy" (full) a 3D desk of paper: the receipts sort into piles and the tax share of the payment lifts into its own pot set aside, sort, balance
Atelier Brenner, an architecture studio "a five-person architecture studio that builds timber houses … with tasteful motion" (full) a timber house raised as you scroll: five frames swing up, then the ridge, walls, roof and cladding, from first light to lit windows at night raise
Lowtide, a music festival "a three-day electronic music festival on a beach in late August … bold, loud and animated" (full) a 3D bay where the tide goes out as you scroll and uncovers a ring of light on the sand, pulsing at 124 BPM the ebb
Sprout Lab, a children's science museum "a hands-on science museum for children aged 5 to 12 … playful and animated, and parents need to find opening times and tickets easily" (full) a seedling in a lab beaker that sprouts a leaf for each zone of the museum as you read sprout
Northline, a freight forwarder "an ocean and air freight forwarder that moves containers between ports across Asia and Europe … cinematic, like an Awwwards site of the day" (full) one container ship on a simulated ocean, sailing Shanghai to Rotterdam as you scroll load, sail, arrive

How it works

  1. Reads your project if there is one: the product, the brand's colours and fonts, the assets that exist (photos, video, renders, a 3D model), the stack.
  2. Interviews you in two short rounds: what the first five seconds should feel like, how you see the hero, how much should move, references you love, then what is real. Every option is about your subject, and "you decide" is always one of them. Say "just build it" and it skips the questions and tells you what it assumed.
  3. Offers two or three directions that genuinely differ, and you pick.
  4. Writes MOTION.md: the signature, the verb it comes from, an intensity from 1 to 10, the timing tokens, and what the page looks like with the motion removed.
  5. Builds it: real content first, then the signature, in 3D built from code unless you ask for flat. A drawn stand-in wherever WebGL is missing, finished stills under reduced motion.
  6. Checks it with its own eyes: screenshots in both themes, a short laptop window, a phone, without WebGL, under reduced motion, at the in-between scroll positions where people stop to read, and once in a real GPU browser.

Install

Murmuration is an open Agent Skill: one folder with a SKILL.md, read the same way by every agent that supports the standard.

Any agent (Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Windsurf, Goose, Amp, Kiro, Roo Code, Cline, Junie, Antigravity, OpenClaw and more):

npx skills add aniketshukla1/murmuration

It asks which agents to install into. Add -a codex (or cursor, gemini-cli, github-copilot, …) to pick one, and -g to install it for every project.

Claude Code plugin:

/plugin marketplace add aniketshukla1/murmuration
/plugin install murmuration@murmuration

By hand: copy skills/murmuration into your agent's skills folder: .agents/skills/ for Codex, Cursor, Copilot, Gemini CLI, OpenCode, Amp and Cline, or .claude/skills/ for Claude Code. Chat apps that take skill uploads, such as claude.ai (Settings → Capabilities → Skills), take murmuration-skill.zip from the latest release.

Then ask your agent for a site: "Make a website for my pottery studio, Kiln & Clay. Make it 3D and mind-blowing."

Nineteen signature techniques

The skill picks one signature per page from the subject and the assets you have, and two to four quiet supporting moves. Particles are one option among nineteen, not the default.

Family Techniques
Scenes and objects a 3D object (turning, relit, built from primitives when there is no model) · a 3D world or flythrough · a particle cloud that re-forms per section · a globe or map with routes · an image sequence scrubbed by scroll · video
Surfaces and fields a shader field (mesh, aurora, liquid metal, dither, halftone, ASCII) · a generative canvas · physics
Drawing and type line drawing and SVG mask reveals · type as the image · illustration in motion
Space and structure depth layers · pinned chapters · image transitions
Interaction and pacing cursor-led reveals · page choreography · a mechanic (hold to advance, a small game) · data in motion

Each has a recipe with what it fits, how to build it without a framework, what it costs, and what the page shows at rest: references/catalogue.md.

The website, built with the skill

The website follows the skill's own method. Its brief is in site/MOTION.md: four thousand starlings simulated on the GPU wheel against a sunset and gather into each example's subject as you scroll past it, and the pointer is a falcon the flock parts around. Vesper, the first demo, is a made-up night-train company told with one particle cloud.

What's inside

skills/murmuration/
  SKILL.md                 the workflow and the rules
  references/              interview, motion language, the catalogue, particles, effects, verification
  templates/               murmuration.js (particle engine), scene.js, sequence.js, shader-bg.js,
                           site.js, starter.html/.css, layered-mark.tsx (React Native)
  scripts/                 shoot.mjs (headless screenshots, finds Chrome on macOS, Linux and Windows), sheet.py
site/                      the website: index.html, flock.js (the GPU flock), MOTION.md, logo.html (the animated logo)
examples/                  the six sites above, as the skill built them, plus the fixes
demo/                      Vesper
evals/                     test cases for `claude plugin eval` (Claude Code's eval runner): six genres and an interview check
tools/                     record.mjs and make-media.py (videos and stills), check.py (CI)

Test it yourself

claude plugin eval . --ablation none --runs 1 --allow-tools Write Edit

Each case runs in a fresh Claude Code session with only this plugin loaded. --allow-tools Write Edit lets the runs write their site; without it they can't create files and the graders fail. In any other agent, install the skill, open a fresh session in an empty folder and paste a prompt from evals/. Add a case for your own genre and see what it chooses.

Contributing

Issues and pull requests are welcome. Before a pull request, run python3 tools/check.py and, if you touched the engine, the demo or the website, node skills/murmuration/scripts/shoot.mjs on it at the sizes in references/verify.md. New techniques go in references/catalogue.md with the same fields as the others.

Licence

MIT, see LICENSE. Fonts are under the SIL Open Font Licence: Instrument Serif in the demo (demo/fonts/OFL.txt), Fraunces and Geist on the website (site/fonts/OFL.txt). Three.js is vendored under its MIT licence (site/vendor/LICENSE-three.txt). Vesper and every brand in the examples are made up.

Created by Aniket Shukla and improved by its contributors.

About

Websites that move like what they're about. An open agent skill that designs a motion language for each website: real 3D made in code, in plain HTML, CSS and JS.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages