agentleFS
blixvipblixvip/skills/motion-assets/SKILL.md

motion-assets

Skill4 starsChanged 3 months agoMITView on GitHub

Source, generate, and prepare the real assets that keep a motion-graphics edit from looking generated — sampling the palette from the footage, collecting style references, pulling 3D models/Lottie/SVG/textures/SFX, generating AI stills and b-roll, and the mandatory conform pass that grades every asset into one palette. Use when a scene needs an icon, logo, 3D object, texture, background, screenshot, chart source, sound effect, or generated image/video, and whenever output "looks flat", "looks stocky", "looks AI", or assets came from different places and no longer match.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. Moh4696/open-3d-skills★ 38same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository21 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. About 0 are common, 12 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do this first. Every later decision depends on it.

    line 14
  2. Very specific:

    Write 04-design/tokens.css and palette.json.

    line 19
  3. Distinctive:

    If there is no footage (pure motion piece), take the palette from the brand kit, or from the single strongest reference image — still …

    line 21
  4. Distinctive:

    Ask the user for them. If they have none, go and find them: search the look by name ("Apple-style product animation", "editorial data …

    line 27
  5. Distinctive:

    Prefer one longer continuous shot over chaining short clips.

    line 76
  6. Distinctive:

    If you must chain, use the true last frame as the next first frame, then delete one duplicated frame at the seam.

    line 77
  7. Distinctive:

    Keep generated clips short and cutaway-sized.

    line 79
  8. Distinctive:

    Every asset, without exception, before it enters a scene:

    line 83
  9. Distinctive:

    If a frame is well designed and well animated and still looks generated, it is almost always one of these:

    line 116
  10. Distinctive:

    Every asset centered at the same scale on a symmetric grid.

    line 122
  11. Very specific:

    Verify pricing and licensing at the source — both change.

    line 131
  12. Distinctive:

    Use one icon family per project, matched to the type weight.

    line 172
  13. Distinctive:

    Always prefer one long take over stitched clips: Every stitch is a visible hitch.

    line 196
  14. Distinctive:

    When a face, product, or style must be identical across dozens of shots, reference images are not enough — they drift the moment the angle …

    line 226

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

motion-assets

An animation is only as good as what is in it. Three shapes and a font is a template no matter how well it is eased.

The rule that governs this whole skill: nothing enters the edit at the color, scale, or texture it arrived in. Every asset gets conformed. An un-conformed stock asset is the fastest way to make a frame read as assembled rather than designed.

1. Sample the palette before sourcing anything

Do this first. Every later decision depends on it.

  1. Pull 3–5 stills from the A-roll (ffmpeg -ss <t> -i in.mp4 -frames:v 1 out.png).
  2. Find the strongest non-skin, non-neutral hue — practical light, wall wash, jacket, product, set dressing.
  3. That hue is the accent. Build ground / surface / accent from it per motion-design.
  4. Write 04-design/tokens.css and palette.json. Everything downstream reads these files.

If there is no footage (pure motion piece), take the palette from the brand kit, or from the single strongest reference image — still sampled, never invented.

2. Collect references before generating anything

References are the highest-leverage input in the entire pipeline. Two or three images beat any amount of prose.

Ask the user for them. If they have none, go and find them: search the look by name ("Apple-style product animation", "editorial data documentary", "retro terminal UI"), pull frames from videos whose look matches, screenshot competitor sites.

Save each into 03-assets/refs/ named for what it teaches:

refs/
  glass-transparency.png      ← how transparent the panels should be
  type-pairing.png            ← the display/body relationship
  grain-and-vignette.png      ← the texture treatment
  camera-move.mp4             ← the pacing of the push

Naming them this way matters: at design time you attach the one that answers the current question, instead of dumping five images and hoping.

When a generated result is wrong, attach a reference and say what specifically differs. "Make it nicer" produces drift. "The glass in ref-1 is more transparent and has a visible edge highlight; match that" produces a fix.

3. Source the concrete assets

Per shot, the assets[] list in plan.json must resolve to real files. Categories and where they come from — full link catalogue in Appendix A.

NeedGet it from
Brand logothe client, as SVG. Never trace a PNG, never let a model redraw a logo.
Real product/company logosofficial brand/press kits. Models draw outdated or wrong logos — this is a frequent, visible error.
Iconsone icon set only, matched to the type weight. Mixing sets is instantly visible.
UI screenshotscapture the real thing (Playwright MCP, or a manual screen record). A mocked-up UI that differs from the product is worse than no UI.
3D modelsSketchfab, Poly Haven, NASA's model library, or generate (Meshy, Hunyuan3D, Rodin)
PBR textures / HDRIsPoly Haven, Adobe Substance 3D assets
Vector animationsLottieFiles (.json / .lottie)
Maps / globesMapbox (needs a token), or a 3D globe in Three.js
Chartsreal data. If the number is on screen, it must be the true number — verify it, cite the source in NOTES.md.
Photoreal stillsMidjourney / Nano Banana / GPT Image / Freepik-Magnific, always with a style reference
Photoreal motion b-rollimage-to-video (Seedance, Veo, Kling, Luma Ray, Runway)
Consistent recurring character/producttrain a LoRA (see Appendix A) — reference images alone drift across angles
VoiceoverElevenLabs or a cloned voice; feed it more source audio than feels necessary
SFXa proper library, or generated. Sparse and mixed low.
Musiclicensed library. Check the license before it reaches a client render.
Fontslicensed and self-hosted. Confirm the license permits video embedding.

Generating stills that do not look generated

  • Attach a style reference and keep the prompt short. A long prompt with no reference produces the model's average taste; a short prompt with a strong reference produces yours.
  • Generate the whole set from one anchor image rather than prompting each independently — independent prompts are why palettes drift between shots.
  • For any subject that recurs, build a reference sheet (multiple angles from one identity) and generate from that.
  • Upscale before compositing, not after.
  • Check every generated image for text. Garbled type is the single most recognizable artifact. Crop it out, cover it with real type, or regenerate.

Generating b-roll that does not look generated

  • Prefer one longer continuous shot over chaining short clips. Chained first-frame/last-frame joins produce a visible stutter at every seam.
  • If you must chain, use the true last frame as the next first frame, then delete one duplicated frame at the seam.
  • Match the camera language of your real footage — if the A-roll is locked off, do not hand back a drifting orbit.
  • Keep generated clips short and cutaway-sized. The longer a generated shot holds, the more the viewer inspects it.

4. Conform — the pass nobody does

Every asset, without exception, before it enters a scene:

  • Re-grade into the palette. Hue-shift, duotone, or overlay-tint stock and generated images toward tokens.css. A stock photo at its original color temperature is visible from across the room.
  • Match black level and contrast to the plate.
  • Add the same grain/texture the rest of the edit carries.
  • Normalize scale — icons on one optical size, logos on one clear-space rule.
  • Cut out the background where it should sit in the scene (u2net / hyperframes remove-background / Runway), then give it a contact shadow.
  • Clean the edges — no white halo from a bad key, no JPEG mush on a logo.
  • 3D: render with the scene's light direction, matching the shadow direction used everywhere else.
  • Audio: normalize, trim the head, and duck under dialogue.

Log the conform in NOTES.md for anything non-obvious, so a re-render reproduces it.

5. Store it so the next agent can find it

03-assets/
  brand/     logo.svg, fonts/, brand.json (hexes, clear-space, don'ts)
  refs/      named-for-what-they-teach.png
  gen/       image.png + prompt.txt beside it (model, seed, style ref)
  3d/        model.glb + renders/
  lottie/    name.json
  sfx/       impact-01.wav

prompt.txt beside every generated file is not optional. Without it you cannot regenerate a matching variant three weeks later, and the whole set drifts.

6. Licensing

Before anything reaches a client deliverable, confirm: fonts licensed for video, music licensed for the platform and territory, stock licensed for commercial use, 3D model license permits redistribution in a render, and no real person's likeness is generated without permission. Record it in NOTES.md. This is a client-facing risk, not a technicality.

When assets are the actual problem

If a frame is well designed and well animated and still looks generated, it is almost always one of these:

  1. Flat solid background — no gradient, no texture, no depth layer.
  2. Icons from a different family than the type.
  3. A stock or generated image left at its original color.
  4. A logo the model drew instead of the real SVG.
  5. Every asset centered at the same scale on a symmetric grid.

Fix the assets before touching the animation.


Appendix A · Asset source catalogue

Verify pricing and licensing at the source — both change. Links are canonical homepages; anything marked ~ is a search target rather than a URL to trust blindly.

3D models and scenes

SourceURLNotes
Sketchfabhttps://sketchfab.comHuge library; filter to Downloadable + free license. Check the license per model.
Poly Havenhttps://polyhaven.comCC0 models, HDRIs, PBR textures. No attribution required. Best default.
NASA 3D Resourceshttps://science.nasa.gov/3d-resources/Free spacecraft, terrain, mission assets. Often split into many parts — parent them to one null before animating.
Adobe Substance 3D Assetshttps://substance3d.adobe.com/assetsMaterials; a large free tier. Drops straight into After Effects' 3D layers.
Meshyhttps://meshy.aiText-to-3D and image-to-3D, plus texturing and humanoid/quadruped rigging with a stock animation library.
Hunyuan3D (Tencent)https://huggingface.co/tencentOpen-weights image-to-3D. Geometry is good; texturing is the weak point.
Hyper3D / Rodinhttps://hyper3d.aiText/image to 3D, available as an MCP inside the Blender integration.
Mesh-to-Motion~ search "mesh to motion rig"Rigging for non-humanoid meshes (birds, creatures) that humanoid riggers refuse.

Multi-view trick: a single front image produces a wrong back. Generate 90°/180° turns of the subject first, then feed the model 3–4 views. This is the difference between a usable asset and one you can only shoot from one angle.

Textures, HDRIs, backgrounds

Vector animation

Lotties are tiny, resolution-independent, and re-colorable — recolor them to tokens.css rather than using them as shipped.

Icons and fonts

SourceURL
Google Fontshttps://fonts.google.com
Fontsharehttps://fontshare.com (free for commercial use)
Lucide iconshttps://lucide.dev
Phosphor iconshttps://phosphoricons.com
Simple Icons (brand marks)https://simpleicons.org

Use one icon family per project, matched to the type weight. For real company logos use the company's own brand kit — never a model's redraw.

AI images

ToolURLBest at
Midjourneyhttps://midjourney.comAesthetic quality; style references are its superpower (--sref)
Google AI Studio / Gemini imagehttps://aistudio.google.comStrong prompt adherence, character/subject consistency, editing
Freepik + Magnifichttps://freepik.com , https://magnific.aiMany models side by side, upscaling, camera-angle change, spaces/node canvas
Higgsfieldhttps://higgsfield.aiMulti-model image + video, MCP integration into agents
Replicatehttps://replicate.comAPI access to most open models
fal.aihttps://fal.aiFast serverless inference; also runs LoRA training
ComfyUIhttps://comfy.org , https://github.com/comfyanonymous/ComfyUILocal, free, node-based, full control; runs your own LoRAs

AI video

ToolURLNotes
Runwayhttps://runwayml.comVideo-to-video restyling, object replacement, background removal, multi-shot edits
Luma Dream Machinehttps://lumalabs.ai/dream-machineStart-frame + end-frame interpolation
Klinghttps://klingai.comImage-to-video
Google Veovia https://aistudio.google.com / https://labs.googleNative audio generation
Seedancevia Higgsfield / fal / ReplicateLong single-take shots — fewer seams than chaining

Always prefer one long take over stitched clips. Every stitch is a visible hitch.

Audio

NeedSource
Voiceover / cloningElevenLabs — https://elevenlabs.io
Local TTSnpx hyperframes tts (Kokoro), or Piper
Music (licensed)Epidemic Sound https://epidemicsound.com , Artlist https://artlist.io
SFX (free)Freesound https://freesound.org (check per-file license)
TranscriptionWhisper — https://github.com/openai/whisper , whisper.cpp — https://github.com/ggerganov/whisper.cpp , or npx hyperframes transcribe

Data and web capture

NeedTool
Real screenshots of a live site/appPlaywright MCP — https://github.com/microsoft/playwright-mcp
Maps, satellite, 3D city fly-throughsMapbox — https://mapbox.com (free token tier)
Chartsreal source data; render with Remotion + a chart lib, or the dataviz skill

Utilities

NeedTool
Anything video, on the command lineFFmpeg — https://ffmpeg.org
Background removalu2net / rembg — https://github.com/danielgatis/rembg , npx hyperframes remove-background, or Runway
UpscalingTopaz — https://topazlabs.com , or Magnific

Consistent subjects: train a LoRA

When a face, product, or style must be identical across dozens of shots, reference images are not enough — they drift the moment the angle or lighting changes. Train a small LoRA instead.

Shape of the job:

  1. Collect 15–35 varied, high-quality images of the subject (angles, lighting, distances). Quality and variety beat count.
  2. Pick a rare trigger word — never a common word like face or style, or the model will fire on ordinary prompts. Use something like mkxr_person.
  3. Train against a base model (Flux, SDXL, Qwen-Image and similar). Roughly 1000 steps for a subject is a normal starting point.
  4. Train on rented GPU (fal.ai, Replicate) rather than locally unless you have the hardware — minutes and a couple of dollars versus hours.
  5. Output is a .safetensors file. Drop it in ComfyUI's models/loras/, load it in the workflow, set strength ~0.8–1.0, and include the trigger word in the prompt.

Where it pays off: thumbnails with your own face, a client's product across a campaign, one illustration style across a series, a recurring character in a short-form series.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.