Design#Video generation#Coding agent#Motion graphics
manim-video: make the picture do the explaining, with Manim and an agent
An ECC skill with one rule — define the core relationship, split it into scenes, render the smallest cut — Manim explainers where the animation argues.
Skill details
npx skills add affaan-m/ECC --skill manim-video
The 3Blue1Brown style of animation — where the picture itself carries the argument — used to mean learning Manim’s Python API by hand; hand the job to a video-generation model instead and you get something cinematic that explains nothing. manim-video, a skill in the video family of the ECC repo (about 282k stars as of 2026-10-17; MIT; 8,624 installs on skills.sh), gives the agent one rule: to show how a network passes a message, light the nodes up one at a time and mark the direction on the edges; to show a number accumulating, morph the shape step by step — the picture explains; it is not a backdrop for the voice-over.

How it works
The workflow runs seven steps, and the first four forbid code: state the core visual thesis in one sentence; break the concept into 3 to 6 scenes, each proving one thing; write the scene outline before any Manim code; then render the smallest working version — a low-quality smoke test first, tightening typography, color and pacing only after the composition works. Output is a fixed bundle: a 16:9 MP4, one thumbnail legible at social-feed size, plus the storyboard and scene plan. Because storyboard, scene code and render all stay in the project, a wrong arrow is a one-scene fix, not a full re-render.
For social-graph topics it ships a default narrative: show the current graph before the optimized one, separate low-signal follow clutter from high-signal bridges, then close with the skill’s own improvement lineage if useful. A starter file, network_graph_scene.py, comes in the repo, and the smoke test is two commands:
npx skills add affaan-m/ecc/manim-video
manim -ql assets/network_graph_scene.py NetworkGraphExplainer
How to brief it
The skill is unusually sensitive to phrasing. “Make a cool tech animation” buys you motion with no argument; “the viewer should understand who the message reaches first, and who second” gives every action a reason to exist. On the tool side it needs the manim CLI installed (ffmpeg for post-processing); when a final package needs composited UI, captions or extra motion layers, it hands off explicitly to ECC’s video-editing and remotion skills rather than overreaching.
Next to animate in this section, which draws video frame by frame on a canvas, manim-video takes the opposite bet: structured explanation belongs to Manim’s scene model, and photorealism is explicitly not the goal. If what you want is a mechanism that keeps improving a repo itself rather than explaining it, design-control-loop, published today, is the control-loop counterpart.