Individual skill
motion-graphics
Deterministic motion-graphics rendering execution Skill for the AI Video Production Ecosystem. Use it when a caller (normally video-production-agent) has already decided what graphic to show, when to show it, and roughly how it should look, and needs it rendered safely: title cards, lower thirds, free-form text overlays, image/logo overlays, video-on-video picture-in-picture/chroma-key overlays, persistent corner "bug" watermarks, chapter chips, a bottom progress bar, and a countdown, with built-in template animation (title/lower-third/bug/chapter/countdown fade, slide, or pulse) or a configurable linear fade (text/image overlays only). Do NOT use it to decide what graphic to show, when, or how it should look (video-production-agent), to edit video (video-editing-skill), to grade color (color-grading-skill), to generate or translate subtitles (subtitle-skill), to measure or QC media (qc-skill, media-analysis-skill), or to run arbitrary ffmpeg commands or filters (it refuses them).
SKILL.md
Source commit 822a7a0d29026cb216740d513695418f4833d7b9
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 18
- Repository last updated
- Nov 7, 2026
- License
- MIT
Observed agent integration: claude-code
- agent-skill Repository topic
- claude-code Repository topic
- ffmpeg Repository topic
- motion-graphics Repository topic
- python Repository topic
- video Repository topic
- writing Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.github/FUNDING.ymlasset · 17 bytes.github/dependabot.ymlasset · 492 bytes.github/pull_request_template.mddoc · 110 bytes.github/release-drafter.ymlasset · 3,345 bytes.github/scripts/bump_version.pyruns · 1,993 bytes.github/scripts/render_changelog.pyruns · 2,833 bytes.github/scripts/resolve_version.pyruns · 3,120 bytes.github/workflows/autolabel.ymlasset · 949 bytes.github/workflows/codeql.ymlasset · 1,018 bytes.github/workflows/release.ymlasset · 5,621 bytes.github/workflows/tests.ymlasset · 4,432 bytes.gitignoreasset · 98 bytesCHANGELOG.mddoc · 2,780 bytesCLAUDE.mddoc · 13,904 bytesECOSYSTEM_ROADMAP.mddoc · 2,664 bytesLICENSEasset · 1,065 bytesREADME.mddoc · 23,420 bytesSECURITY.mddoc · 2,057 bytesSKILL.mdcore · 5,797 bytesSKILL.mdcore · 5,797 bytesSKILL.mdcore · 5,797 bytesbrand/app-icon-dark.pngasset · 65,450 bytesbrand/app-icon.pngasset · 58,569 bytesbrand/logo/motion-graphics-skill-wordmark-black.svgasset · 7,274 bytesbrand/logo/motion-graphics-skill-wordmark-white.svgasset · 7,274 bytesbrand/motion-graphics-skill.icon/Assets/curve.svgasset · 363 bytesbrand/motion-graphics-skill.icon/Assets/keyframes.svgasset · 368 bytesbrand/motion-graphics-skill.icon/icon.jsonasset · 1,753 bytesdocs/architecture.mddoc · 4,496 bytesdocs/decisions.mddoc · 59,467 bytesdocs/ffmpeg-skill.mddoc · 8,027 bytesdocs/security.mddoc · 4,398 bytesdocs/testing.mddoc · 5,628 bytespyproject.tomlasset · 807 bytessrc/motion_graphics/__init__.pyruns · 2,110 bytessrc/motion_graphics/adapter.pyruns · 26,204 bytessrc/motion_graphics/canonical.pyruns · 851 bytessrc/motion_graphics/cli.pyruns · 7,850 bytessrc/motion_graphics/colors.pyruns · 5,997 bytessrc/motion_graphics/contract.pyruns · 19,447 bytessrc/motion_graphics/doctor.pyruns · 13,389 bytessrc/motion_graphics/errors.pyruns · 2,516 bytessrc/motion_graphics/executor.pyruns · 38,483 bytessrc/motion_graphics/fonts.pyruns · 4,926 bytessrc/motion_graphics/model.pyruns · 45,661 bytessrc/motion_graphics/security.pyruns · 7,410 bytestests/conftest.pyruns · 5,142 bytestests/fixtures/__init__.pyruns · 0 bytestests/fixtures/generate.pyruns · 3,699 bytestests/test_colors.pyruns · 9,262 bytestests/test_compat.pyruns · 9,965 bytestests/test_contract.pyruns · 7,689 bytestests/test_integration.pyruns · 42,216 bytestests/test_security.pyruns · 8,011 bytestests/test_shape.pyruns · 14,934 bytestests/test_templates_platform.pyruns · 17,938 bytestests/test_unit.pyruns · 44,779 bytestests/test_version_source.pyruns · 3,983 bytes
Read excerpt
# motion-graphics-skill
Deterministic motion-graphics rendering execution for the AI Video Production Ecosystem, built on top of
[ffmpeg-skill](https://github.com/kajisho5/ffmpeg-skill). See `README.md` and `docs/` for the full contract,
graphics model, security boundary, and testing notes.
## Ask for this, not that
Ask this Skill to render: an exact `title`/`lower_third`/`text_overlay`/`image_overlay`/`video_overlay`/`bug`/
`chapter`/`progress`/`countdown`/`sticker`/`hook`/`meme`/`shape` element, with exact `start`/`end` seconds and exact parameter values already
decided. Every field is typed and range-checked; there is no free-text "make it look nice" input.
Do not ask it to: choose what text or image to show, choose when something should appear, choose colors/fonts/
layout for aesthetic reasons, animate anything beyond a linear `fade` (no slide/move/scale — see