AgentKit
DocsKitsCLI ReferenceDesktop App
BetaYou are reading docs for the beta channel (2.13.0-beta.20). Features may change before the next stable release.Switch to stable →

Skills

Route and verify motion work with ak:motion-graphics

Prefer in-repo motion Skills first, propose the matching iart-ai external pack when a template is out of scope, and close every render with the same freeze-frame or probe-MP4 verify loop.

Use ak:motion-graphics when a motion, animation, or video task needs a router that picks the right in-repo Skill first, proposes an external template pack when the request is out of scope, and closes with a consistent verify loop over the rendered artifact. The Skill does not reimplement any motion Skill; it composes.

Choose ak:motion-graphics for routing + verification

Use ak:motion-graphics when

  • You have a motion, animation, or video request and are not sure which Skill fits.
  • You want a router that prefers installed in-repo Skills first.
  • You want the router to propose a specific external template pack when the request needs one — but never auto-install.
  • You want a consistent verify loop (seek shots, contact sheet, probe MP4) on any rendered output.

Choose another Skill when

  • You want brand-aligned motion principles, not routing — use ak:motion-design.
  • You want a static Mermaid diagram, not motion — use ak:mermaidjs-v11.
  • You already know you want programmatic React video or an HTML template rendered to MP4 — install Engineer Kit and reach for ak:remotion or ak:html-video there.

Argument shape

ak:motion-graphics [intent-or-pack] [--list | --propose <pack> | --verify <file>]
SubcommandBehavior
(default)Route $ARGUMENTS through the "in-repo first, propose second, verify third" flow.
--listPrint every available pack, its audience, trigger phrases, and install command.
--propose <pack>Print the npx skills add iart-ai/<pack> command with a one-line rationale. Never execute.
--verify <file>Route the file to the right verify helper (.mp4 → probe-MP4, .html → seek + contact sheet).

Route in this order

1. In-repo Skills first

Prefer installed in-repo Skills when they cover the request. Confirm the target Skill is discoverable in the current installation (ak skills list or the runtime's catalog) before routing — a row whose target is not installed skips to the next matching row.

Request shapeSkill
Programmatic video, Remotion (React), data-driven videoak:remotion (Engineer Kit)
HTML/CSS/JS template → local MP4 (Chromium + ffmpeg)ak:html-video (Engineer Kit)
Veo generation, scripts, storyboards, thumbnailsak:video
GLSL shaders, procedural graphicsak:shader (Engineer Kit)
Three.js / WebGL / WebGPU / GLTFak:threejs (Engineer Kit)
FFmpeg / ImageMagick encode, filter, batchak:media-processing (Engineer Kit)
Mermaid diagrams (static, not motion)ak:mermaidjs-v11

Only fall through to step 2 when the request needs a template the available in-repo Skills do not carry.

2. External pack — propose, do not auto-install

When the request needs one of the specialized templates (vertical hook, ad hook/body/CTA variants, chart animation, kinetic type, editorial map, Manim scene, generative illustration…), the Skill:

  1. Looks up the pack by trigger phrase.

  2. Prints the install command for the user to run:

    npx skills add iart-ai/<pack>
    # or, for Claude Code plugin delivery:
    /plugin marketplace add iart-ai/<pack>
  3. Explains in one sentence what the pack ships and why it fits.

  4. Waits for your explicit go-ahead before executing anything.

Trigger-to-pack routing covers 15 packs from the MIT-licensed iart-ai/motion-skills family: TikTok video, text-message video, YouTube video, ecommerce video, ad video, data animation, explainer video, map animation, web animation, motion design, kinetic typography, freelance motion, WebGL animation, Manim, and generative illustration.

Some intents overlap. Rules of thumb:

  • "tiktok ad" — start with the TikTok pack (format wins), fall back to the ad pack only when the variant harness is what you need.
  • "chart in an explainer" — start with the data-animation pack (numbers first), then use the explainer pack for framing.
  • "logo animation on the web" — motion-design pack for the logo motion, then web-animation pack (or ak:frontend-development from Engineer Kit) for the page-side embed.

3. Verify what actually rendered

Every pack — and every in-repo video Skill — closes with the same inspection loop. Two tiers:

Light tier — standalone HTML with a ?t=N seek harness:

scripts/seek-shot.sh anim.html 0 1.5 3
scripts/contact-sheet.sh sheet.png frame-*.png

Heavy tier — Remotion, Manim, html-video, or any encoded MP4:

scripts/probe-mp4.sh out/short.mp4 1080x1920 30

The MP4 probe reads real width × height, codec, fps, and duration straight from the file with ffprobe. It fails loud when the render lies.

Attribution

Router logic mirrors iart-ai/motion-skills (MIT). The Skill ships the upstream deliver-and-verify shell helpers under scripts/.