Communitygithub.com

yazzang-homelab/motion-studio

Turn a reference (a frame, a video or an image library) into docs/style_guide.md and a beat-grid shot list: measure cuts, palette and pace, take grammar not content, wait for OK. Use when the user supplies or names a look.

motion-studio 是什么?

motion-studio is a Claude Code agent skill that turn a reference (a frame, a video or an image library) into docs/style_guide.md and a beat-grid shot list: measure cuts, palette and pace, take grammar not content, wait for OK. Use when the user supplies or names a look.

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yazzang-homelab/motion-studio/tree/HEAD/skills/reference-style

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Reference style (course step 05)

Given no reference, the model drifts to one default look: centered text on a gradient with every element fading in. Rexan Wong (@rexan_wong) went through a batch of viral clips and found that naming a style works better than describing one, and that a reference gives the model the pacing, type and transitions to copy. This skill turns a reference into two approved documents before any film code exists.

Request arguments (may be empty), shown once:

The reference ladder

RungWhat the user givesWhat you extractTool
A frameone still of a video they lovepalette, type, texture, composition densityrefs.mjs analyze refs/<folder> + look at it
A videoa local file of a film they admirethe above plus cut times, shot lengths, motion energy per second, transitionsrefs.mjs extract + analyze
A librarya folder of their own images or past worka house style nobody else can copyrefs.mjs analyze refs/<folder>

Pleometric's pure-code TikTok piece started from a single frame of another viral animation; his Donald-style film pointed Opus at his own PC-98 image gallery. Where to find references: launch videos on whatships.com, motion on Dribbble, and competitors' launch films. Study them; never embed or redistribute them.

1. Get the reference on disk

  • Copy the file or folder into refs/ in the project (scaffold with /motion-studio:studio-init first if there is no studio.json).
  • Given only a link to someone else's video, ask the user for a local copy they are allowed to study. Do not download third-party media yourself.
  • A single frame: put it in its own folder (refs/frame/) so analyze treats it as an image set.
  • Ask what to take and what not to take when the user has an opinion ("the grain and type, not the characters").

2. Measure it

Run from the project root:

ReferenceCommands
videonode tools/refs.mjs extract refs/<video> --every 0.5 then node tools/refs.mjs analyze refs/<video>
frame or librarynode tools/refs.mjs analyze refs/<folder>
fast cutter (many cuts missed)add --threshold 0.2 to analyze

Outputs: refs/frames/frame_NNNN.png, refs/frames/frames.json, refs/contact.png (labelled sheet of up to 60 tiles; a tall sheet is paged like every contact sheet: refs/contact.png is page 1, then refs/contact-2.png, contact-3.png ...; open every page, the --json result lists them in contacts), and refs/analysis.json with cut times, shot lengths (mean, median, range), a 6-color palette with shares, brightness and contrast, motion energy per second with its peak, and a text density hint. The printed summary is a starting block for the style guide.

3. Write the style guide and the shot list

Brief motion-studio:style-analyst (it may write docs/style_guide.md, docs/shotlist.md and refs/**):

Project root: <abs path>. Reference: refs/<file or folder>. Subject: <subject>. Duration: <S> s.
Open refs/contact.png (and refs/contact-2.png ... when it is paged) and a few frames around the cuts, read refs/analysis.json.
Write docs/style_guide.md following the style-guide notes, then docs/shotlist.md for a <S> s film
about <subject> in that style, on the beat grid of audio/beats.json (or <bpm> BPM if absent).
Take the grammar of the reference, never its content, logos, characters or copy.
Return questions instead of guessing.

The section-by-section notes are in assets/style-guide-notes.md. For users who want to paste a prompt into a fresh session, the same steps are written as assets/reference-prompt.md.

4. Take the grammar, never the content

TakeNever take
palette relationships (dark ground, one warm accent, share of accent)logos, characters, mascots
type families by class, weight, tracking, scale jumpsexact compositions or frames
shot lengths and where cuts fall against the beatthe reference's copy, claims or data
transition types (hard cut, mask wipe, match cut)its footage, music or voice
camera language (push-ins, whip pans, locked-off)brand-specific shapes or trade dress
texture (grain amount, paper, halftone) and how text enters and exitsanything the user did not ask to borrow

5. The gate

Show both files (a compact summary of the style guide and the shot list table is enough) and wait for the user's OK before any film code. When they reject it, rewrite the shot list (and the style guide if the look is wrong), never patch code to "show instead". Record the decision on the Status: line at the top of docs/shotlist.md.

6. Let the model pick the technique

Specify the look and the constraints, not the library. Pleometric suggested p5.js and Opus wrote its own paper renderer instead. Within this studio that means: describe the texture and motion you want in the style guide, and let the build choose how to draw it in the canvas engine (lib/draw.js helpers or custom drawing). Name a framework only when the user needs it for reuse (route B, /motion-studio:seek-engine).

Next: build with /motion-studio:motion-reel from its stage 5; for a UI state loop in this style, /motion-studio:ui-morph-spec.

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

yazzang-homelab/motion-studio

Make Claude watch its own frames: critique.mjs evidence, harsh 7-axis scores, timestamped P0/P1/P2 problems in docs/review_log.md, fix the 3 worst, re-check, pass the gate. Use for 'critique it', 'review the frames', 'is it good'.

yazzang-homelab/motion-studio

Plan long-form or overnight films: director's brief (PLAN FIRST or GO, budget, definition of done), ANIMATION_GUIDE + STORYBOARD, chapter subagents, gates, chunked render. Use for 'overnight film', 'music video', '2-minute film'.

yazzang-homelab/motion-studio

Make a launch video, app or product reel, explainer or motion ad from code, end to end: brand assets from a URL, beat-grid shot list, synced sound, critique loop, all formats. Default for new video requests; not footage edits.

yazzang-homelab/motion-studio

Brand-asset stage of a product film (motion-reel runs the whole film): capture real screenshots, logo, colors and fonts from a URL, never redraw UI; brand story beats; voice + mascot. Use to grab or fix a brand's assets.

yazzang-homelab/motion-studio

Build, debug or speed up the seek(t) render engine: render contract, canvas vs page capture, workers/subframes/chunks, determinism fixes, Remotion or HyperFrames handoff. Use for 'render is slow', 'frames differ', 'use Remotion'.

yazzang-homelab/motion-studio

Ship every format from one timeline, then package it: layout() reframing (never crop), render all formats, per-format checks, deliver.mjs, a brand skill, a service offer. Use for 'export 9:16 and 16:9', 'deliver', 'make a skill'.

yazzang-homelab/motion-studio

The viral one-line 'showreel for a résumé' prompt: why it works (anatomy), the credited quote, and seeded variants that avoid look-alike reels; runs it as an engine test. Use for that prompt, its variations, or a showreel.

yazzang-homelab/motion-studio

Score a film to its beat grid: measure a track (beats.mjs) or synthesize one (score.mjs), cue SFX from the film, add voice, mix to -14 LUFS / -1 dBTP at exact length. Use for 'add music', 'sync to the beat', 'SFX', 'loudness'.

yazzang-homelab/motion-studio

Make motion feel physical with closed-form springs from lib/motion.js: presets, springFromFeel, track() for multi-target values, loopTrack loops, indicators, text swaps. Use for 'feels linear', 'add bounce', 'easing to springs'.

yazzang-homelab/motion-studio

Scaffold a motion-studio film project (seek(t) renderer, springs, beat grid, synthesized sound, critique tools), install it, set up the browser, run doctor. Use for 'set up the motion studio', 'new film project', 'init studio'.

yazzang-homelab/motion-studio

Write a six-part XML state spec for a one-shape UI morph film (inputs, direction, structure, build, gotchas, start): states on downbeats, cursor-driven changes, seamless loop, approval gate. Use for 'UI morph', 'state list'.

相关技能