agentleFS
JagZ999JagZ999/explainer-video/skills/backgrounds-gradients/SKILL.md

backgrounds-gradients

Skill1 starsChanged 4 months agoMITView on GitHub

Living backgrounds & moving gradients for motion-graphics videos — the layer that makes a frame feel alive instead of a static slide. Color-arc gradient that shifts per scene with drifting blobs, a soft mesh light-wash that glides across, blueprint line grids, dot-matrix fields, glowing neon curved paths with travelling light-dots, starfields, and grain/paper/paint texture overlays. Use when a scene looks flat or slide-like, when adding a moving gradient behind the whole piece, or matching a reference reel's animated background. Triggers: "moving gradient background", "gradient that shifts through the video", "make the background alive", "mesh gradient wash", "blueprint grid", "dotted background", "neon lines", "starfield", "film grain / texture overlay".

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Three fields, one track — lead / current / lag: Do not paint the whole background C(t): that is still one colour, just smoothly changing, …

    line 60
  2. Distinctive:

    Strength: Treat the colour's share of the frame as a dial, not a constant: a 12 %-toward-white tint at the low end, pure colour at full …

    line 88

≈ “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

Backgrounds & Gradients

Family B of the motion-graphics super-skill. Drop-in building blocks live in the shared library — from any skill in this plugin: ../motion-graphics/assets/motion.css + motion.js. Every effect scales by --R and is driven by logical time t, so it survives slow-clock capture (see smooth-render).

<link rel="stylesheet" href="../motion-graphics/assets/motion.css">
<script src="../motion-graphics/assets/motion.js"></script>

Moves

#NameLooks likeBuild
B1Color-Arc + Blobspalette shifts per scene; soft blobs drift.tm-gradbg + tmGrad + tmDrift
B2Mesh Washa soft colored light-sweep glides across the frame.tm-mesh + tmMesh
B3Blueprint Gridfaint technical line grid.tm-grid
B4Dot Matrixfaint dotted grid field.tm-dots
B5Neon Path + Travellersglowing curved lines with light-dots running along them.tm-path + tmTravel
B6Starfield Drifttiny dots twinkle + parallax.tm-stars + tmStars
B7Texture Overlaygrain / paper / halftone / paint-wash over the frame.tm-grainwrap / .tm-paint / .tm-halftone
B8Colour Flow Trackthe whole frame walks from one chapter's colour to the next, with no visible cutC(t) track + three drifting fields — see below
B9Mark-Driven Groundrings, a lit arc and a landing glow built around the element travelling through the framethe mark-driven-ground skill

Rules that make these render-safe

  • Never filter:blur() / backdrop-filter:blur() — headless Chromium/Edge software-rasterizes them and capture drops to ~5 fps. Softness is faked with radial-gradient falloff / translucent fills / directional text-shadow smears.
  • Drive every time-based helper by your render clock's logical time t, never wall-clock.

Colour flow track + smooth fields

Family B's other moves change palette per scene — the gradient is one colour, then it is another. That works, but every change is a cut you can see. The alternative is to make the colour a continuous function of time and let the frame arrive at each chapter's colour before the chapter does.

The track. Author a piecewise-linear colour walk C(t) through [time, colour] pairs placed at the chapter midpoints, not at the boundaries — so each chapter is fully its own colour in the middle and is already becoming the next one at its end:

const TRACK = [[0,'#c4b5fd'],[46,'#a5c8ff'],[75,'#3b7bf0'],[98,'#c24fc0'],
               [117,'#e06ab8'],[158,'#8c57ff'],[192,'#2bb39a'],[206,'#c4b5fd']];
// C(t): find the pair after t, lerp the two colours per sRGB channel by the position between them

Three fields, one track — lead / current / lag. Do not paint the whole background C(t): that is still one colour, just smoothly changing, and it reads as a wash of nothing. Give the frame three soft fields and offset their sampling:

fieldsamplesso that
leadC(t + 12)the next chapter's colour is already in the frame, arriving from one corner
currentC(t)the chapter's own colour holds the middle
lagC(t − 9)the previous colour is still leaving from another corner

Drift each on its own long period (47/53/59 s on x, 61/67/71 s on y) so they never beat against each other. The change then reads as weather, not as a transition.

Falloff and blur — the rule that decides whether it looks expensive. A field built as a solid plateau with a hard stop (colour 0 55%, transparent 60%) plus a small blur looks like a patch: you can see exactly where it ends, and more blur only softens the seam. A field with a small solid core and a long falloff — radial-gradient(closest-side, c 0%, c 14%, transparent 76%) — reads as a wash even with no blur at all. Fix the falloff first; treat blur as the last 5 %, and remember it is software-rasterized in headless capture (see the blur rule above). If you do use it, go big (110–140 px at 2K) rather than tightening the gradient.

Ground options.

  • Light: a pale lavender mist (#ece8f6) rather than white — pure white reads as an unfinished page, and the fields have nothing to sit on.
  • Dark: a near-black brand ground (#07050f) plus a hero glow. Mid-saturation track colours go grey on black, so pull every field toward a deep violet (≈55 %) before painting it, and lighten the accent glows toward white (≈30 %) so they read as light sources rather than paint.

Strength. Treat the colour's share of the frame as a dial, not a constant: a 12 %-toward-white tint at the low end, pure colour at full opacity in the middle, and at the top a 25 % wider field with the gentle core above — bold enough that type sits on the colour rather than near it.

Implementation

The code for all of it — C(t), the three fields, light/dark grounds and the strength levels — is the mark-driven-ground skill (../mark-driven-ground/assets/ground.js, GROUND.colorAt(t)), which also couples the ground to an element travelling through the frame: rings along its flight path, a lit arc behind it, and a glow where it lands.

See also

The full menu across all 8 families (A–H, ~56 moves) is the motion-graphics master skill and its PLATTER.md. Ask for "the platter" to get the whole menu.

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.