iart-ai/motion-skills: agent skills that encode motion-graphics craft as installable packs
50 open-source skills that teach your AI coding agent to make motion graphics, animation & video — kinetic typography, data-viz, explainers, TikTok/Reels, WebGL, Manim. 14 installable packs. By iart.ai, the AI motion agent.
At a glance
- What is it?
- Motion-skills is a collection of skill folders that teach an AI coding agent how to build kinetic typography, data charts, explainers and short-form video. The README describes 51 skills across 15 separate pack repositories, installed with npx skills add or as a Claude Code plugin, all under MIT.
- Who is it for?
- Adopt motion-skills if you already work inside an agent that reads SKILL.md folders and you want the agent to handle timing, easing and frame-accurate rendering rather than guessing from a prompt. Skip it if you need runtime libraries, a hosted pipeline or a single install that covers everything, because the packs are separate repositories and the skills are know-how rather than code you can call.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 77 days ago.
- What is it written in?
- Mainly HTML, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The craft problem these skills try to encode
Prompting an agent for motion graphics fails in ways that prompting for a static page does not. Timing, easing, safe areas, frame-accurate rendering, on-brand type and colour, and a loop that actually loops are all decisions an agent has to make correctly before a single frame is useful. The README states this directly: motion is the hardest thing to get right from a prompt. The project's answer is to stop treating motion as a prompt problem and start treating it as a body of craft that can be written down and installed. Each skill teaches the agent how a professional would build one specific artifact. That framing matters because it sets the scope. These are not libraries that render video for you. They are instructions, references and small scripts that change what the agent knows how to do. The audience is anyone already driving a coding agent and producing motion output: short-form creators, analysts building data charts, frontend developers doing web animation, educators, and motion designers who want an agent to handle the first pass.
Fifteen packs, one audience each
The collection is split into 15 pack repositories, and the README's table maps each pack to a specific audience and a skill count. tiktok-video-skills holds 4 skills for TikTok, Reels and Shorts creators. web-animation-skills holds 9 for frontend developers. motion-design-skills holds 9 for motion designers. explainer-video-skills holds 5 for educators. data-animation-skills holds 3 for analysts and PMs, ad-video-skills 3 for brand advertisers, ecommerce-video-skills 3 for sellers, webgl-animation-skills 3 for 3D and technical work. Several packs carry a single skill: text-message-video-skills, map-animation-skills, kinetic-typography-skills, manim-skills and generative-illustration-skills. Two more cover podcasters and YouTubers, and freelancers and studios. The split is the most consequential design decision in the project. It means the install surface is per-audience rather than per-capability, so a frontend developer who also makes explainers installs two packs and gets two overlapping sets of conventions. There is no meta-package described in the README that pulls everything in at once.
What a skill folder contains and how the agent finds it
A skill is a self-contained folder made of SKILL.md plus a references/ directory. The README describes it as teaching an agent one motion-graphics workflow, and is explicit that there is no model fine-tuning and no plugin runtime. The mechanism is discovery: once installed, skills are auto-discovered by Claude Code, Cursor, Codex and, per the README, 40+ agents, and they activate on their own when a prompt matches the work. That is the whole integration model. There is no registration step, no config file to edit, no server to run. The trade-off is that activation is prompt-dependent, so the agent's behaviour depends on how well your request maps to a skill's stated domain. Skills that produce a visual artifact also ship a deliver-and-verify loop and a small scripts/ toolkit. The README names three operations in that toolkit: freeze a frame, tile a contact sheet, probe the encoded MP4. The loop itself is render a frame, screenshot, check. This is the part worth reading closely, because it is what separates a skill that writes plausible animation code from one that inspects its own output.
Install commands and the two render paths
Installation is a single command per pack. The README gives this example:
npx skills add iart-ai/tiktok-video-skills npx skills add iart-ai/data-animation-skills
For Claude Code there is a second route:
/plugin marketplace add iart-ai/web-animation-skills
Those are the only install paths documented. The README does not describe a global install, a lockfile, a version pin, or an upgrade command, so how you keep a pack current is not stated in the material. The render path splits by output type. Web skills render a standalone HTML file. Video skills render via Remotion or Manim, according to the README. That is a meaningful fork: Remotion is a React-based programmatic video tool, Manim is the math-animation framework, and a skill that targets one will not help you with the other. The README does not say which packs use which renderer, so if your pipeline is already built around one of them, check the individual pack before installing.
Where the model breaks down
The most obvious limitation is the one the README states as a feature: no plugin runtime. Skills carry know-how, not executable capability. If a skill tells the agent to probe an encoded MP4, the agent still needs a working encoder and an ffmpeg-class tool available in its environment. The README does not list those prerequisites. Second, the pack split means coverage is uneven by design. A creator who needs both vertical short-form and editorial map animation installs two packs from two repositories with no shared conventions documented between them. Third, the deliver-and-verify loop depends on the agent being able to render a frame and take a screenshot, which is an environment capability rather than a skill capability. In a sandbox without a browser or a video toolchain, the loop cannot close, and the agent falls back to writing code it cannot check. Fourth, the README's own framing sets an expectation it does not fully answer: it says install one and your agent just knows how. What the agent knows is bounded by what is written in that pack's SKILL.md and references/. The material does not describe how deep those references go.
How this differs from driving Remotion or GSAP directly
The closest alternative is not another skill collection. It is the underlying tooling itself: Remotion for programmatic video, GSAP or plain SVG and Lottie for web animation, Manim for math. Those are libraries with APIs, versioning, documentation and a runtime you invoke. Motion-skills sits above them and changes what the agent reaches for. The difference in approach is concrete. With Remotion alone, you write the composition and the agent helps with the code, but the agent has no opinion about easing curves, safe areas or whether the loop closes. With a motion-skills pack installed, the README's claim is that the agent brings those conventions to the task and then checks the rendered frame. The cost is transparency. A library's behaviour is inspectable in its source and its changelog. A skill's behaviour is inspectable in a SKILL.md you have to read, and it shapes the agent's output without appearing in your dependency tree. If you need reproducible builds with pinned versions, the library route is the more predictable one. If the bottleneck is the agent's taste rather than its API knowledge, the skill route addresses a problem the library cannot.
Licence, maintenance and what to check before adopting
The repository is MIT licensed, and the README's licence section says use them freely. MIT permits commercial use, modification and redistribution provided the copyright notice and permission notice are retained. That is a permissive baseline and it is the same licence across the packs as far as the material shows, but each pack is a separate repository, so confirm the licence file in the specific pack you install rather than assuming it from this one. This is a description of the licence text, not legal advice. On maintenance, the material gives one signal: the default branch is master and the last push is dated 2026-06-30. There are no releases retrieved, so there is no versioned artifact to pin against and no changelog to read. The README's promotion of iart.ai as a hosted alternative is worth noting as a structural fact: the open-source packs and the commercial pipeline come from the same source, and the README frames the packs as the craft behind the product. That is not a problem, but it means the packs' scope may track what the hosted product needs. Before adopting, read one SKILL.md end to end, list what is in its references/ directory, and confirm which renderer that pack targets.
Editorial conclusion
Adopt motion-skills if you already work inside an agent that reads SKILL.md folders and you want the agent to handle timing, easing and frame-accurate rendering rather than guessing from a prompt. Skip it if you need runtime libraries, a hosted pipeline or a single install that covers everything, because the packs are separate repositories and the skills are know-how rather than code you can call. Before committing, open one SKILL.md and its references/ directory to see how much of the workflow is actually specified, and check which renderer a video skill targets, since the README names Remotion and Manim rather than one path.
Community notes