bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
motion-site is a Claude Code skill for studio-grade motion websites, with a frame-by-frame self-review loop.
SkillsHTML · PythonGitHub @ildargivOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A Claude Code skill for studio-grade motion websites, with a frame-by-frame self-review loop.
Taken from the repository README
Loading the full README.
Read the full README ↗A Claude Code skill that turns Claude into a motion design studio. Art direction → scroll storyboard → build → frame-by-frame self-review until every scene scores 9/10.
Live demo · Install · Example prompts · How it works · What's inside
Ask any AI for "a landing page with animations" and you get the same thing: centered text on a gradient, everything fading in at once, a bounce here and there. It looks generated because it is generated: effects with no reason behind them.
motion-site gives Claude a method, not a list of effects. It works the way a motion studio does, and it checks its own work.
| What you usually get | What you get with motion-site |
|---|---|
| Effects added "to look nice" | Every movement answers "where do I look, and what just changed?" |
| Everything fades in at once | Words rise out of masks 0.09s apart; numbers roll like an odometer |
| Transitions via fade-to-black | The object itself becomes the next scene: push-ins, reveals, morphs |
| Every section equally loud | A storyboard with rhythm and exactly one peak moment |
| "Done!" without ever looking | Screenshots on desktop and mobile, 5-axis scoring, fix the 3 worst spots, repeat |
A fictional architecture studio. Paper and ink, Instrument Serif, photos that open from their own edge, and a peak where a framed dune photo opens to full bleed as the page turns to ink.
How the review loop shaped it — three rounds, exactly as the skill prescribes:
| Round | Worst spot found in the frame sheet | Fix |
|---|---|---|
| 1 | The theme change into the peak scrubbed through a muddy half-grey (scored 5/10) | A quick 0.7s crossfade when the peak starts, never a scrub |
| 1 | Manifesto text too small, empty right side (7/10) | Larger serif, tighter measure |
| 2 | On mobile, the fixed masthead overlapped photo captions | The masthead hides while you scroll down and returns on scroll up |
| 2 | After the peak, a near-empty screen on mobile | Less padding before the method section |
| 3 | All scenes at 8–9, no technical problems | Shipped |
The contact sheet the skill shoots of its own demo page. This is what Claude looks at before it's allowed to say "done".
expo.out enters, exits twice as fast, springs that settle without bouncing, 0.09s word staggers, results that hold while they're read.prefers-reduced-motion → no animation, everything visible.transform, opacity, clip-path, and filter are animated; ScrollTrigger.refresh() runs after fonts load.A hard "never" list: no centered-text-on-gradient as the idea, no bounces, neon glow, particles, confetti, emoji, or stock icons, no scroll hijacking, no custom cursor blobs, and no invented numbers, testimonials, or client logos. Plus a "looks AI-made → fix" table for when something still feels generic.
Inside Claude Code:
/plugin marketplace add ildargiv/motion-site
/plugin install motion-site@motion-site
Or from your shell:
claude plugin marketplace add ildargiv/motion-site
claude plugin install motion-site@motion-site
git clone https://github.com/ildargiv/motion-site.git
cp -r motion-site/plugins/motion-site/skills/motion-site ~/.claude/skills/
For a single project, put the folder in .claude/skills/motion-site inside that project.
pip install playwright
playwright install chromium
Without Playwright the skill still works: Claude falls back to whatever browser tool your session has.
The skill activates on its own when you ask for a site with motion. Best results with Opus at high effort (/effort high).
Build a landing page for my running app with motion design. The one idea: "workouts that adapt to your heart rate." Colors: black and lime.
Portfolio for an architecture studio called Line, editorial style. Photos are in
photos/. I want the images to reveal as you scroll.
Bring my existing
index.htmlto life with Apple-level motion, but don't touch the copy.
A conference page for November 12–13, neo-brutal, a speaker marquee, and a big countdown.
motion-site/
├── .claude-plugin/marketplace.json
└── plugins/motion-site/
├── .claude-plugin/plugin.json
└── skills/motion-site/
├── SKILL.md the method: steps, rules, never-list
├── references/
│ ├── motion-grammar.md easing, durations, choreography, scroll rules
│ ├── art-directions.md 6 directions + verified font script support
│ ├── techniques.md 16 techniques with code
│ └── quality-rubric.md 5-axis scoring and technical blockers
├── assets/starter.html Lenis + GSAP + ScrollTrigger + SplitText starter
└── scripts/frames.py frame sheets + technical report (Playwright)
frames.py is useful for any page, with or without the skill:
python plugins/motion-site/skills/motion-site/scripts/frames.py index.html --out frames
It writes frames/sheet-desktop.png, frames/sheet-mobile.png, and frames/report.json with console errors, horizontal overflow, mobile text under 14px, and elements hidden under reduced motion.
Does it work with existing sites? Yes. Point it at your HTML and ask it to add motion without changing the copy. It storyboards around your content.
Do I need to know GSAP? No. The skill and its recipes handle it. If you do know GSAP, the starter is clean and commented, so it's easy to extend.
Is the output tied to any framework? No. It's a single HTML file. Port it to React, Vue, or Astro later if you like; the GSAP code carries over.
Why one peak moment? If everything is "wow", nothing is. A page that builds to one moment is the page people remember.
New art directions and techniques are welcome. A technique should come with: when it fits, the code, and its gotchas. Share sites you built with the skill in Issues with the showcase label.