Write Motionly Agent Skill
Thewrite-motionly skill is the repository workflow for agents that create, edit, retime, review, or repair .motion projects.
It turns a script, audio track, storyboard, existing project, or asset folder into a polished animation that still previews, edits, saves, reloads, and exports through Motionly’s normal pipeline.
The skill produces an editable project, not a black-box video. Motionly’s parser, evaluator, renderer, and serializer remain the source of truth.
When To Use It
Usewrite-motionly when an agent needs to:
- Create a complete
.motionproject - Retime animation to narration or audio
- Choose supported transitions and presets
- Fix visual overlap, clipping, stale layers, or weak composition
- Explain valid
.motionsyntax - Validate a generated animation before handing it back
Required Agent Context
Agents should read:AGENTS.mdfor product boundaries and supported syntax expectations.agents/skills/write-motionly/SKILL.mdfor the authoring workflow.agents/skills/write-motionly/references/motion-syntax.mdfor properties, presets, and syntax details
The Authoring Contract
Before editing, an agent identifies the project type, audience, goal, exact copy, narration timing, brand constraints, required assets, and prohibited treatments. It infers sensible canvas/FPS/duration and file placement unless a choice materially changes the story. It should preserve unrelated user work and avoid guessing media dimensions or duration.Workflow
- Inspect the request, existing
.motionproject, script, audio, and every relevant asset. - Infer canvas size, frame rate, and duration from the brief/media; confirm whether spoken copy must appear verbatim.
- Storyboard distinct shots before editing.
- Give each shot a purpose, focal subject, supporting elements, entrance, exit, and time range.
- Write or edit the smallest valid
.motionproject that realizes the storyboard. - Run
inspect:motionwith the expected duration and review every reported empty-frame range. - Preview representative frames at entrances, completed holds, transitions, exits, and the final frame.
- Fix and repeat until semantic inspection, visual review, round-trip serialization, and relevant tests pass.
Asset Rules
- Inventory asset paths before placing them.
- Inspect image and SVG dimensions before layout.
- Preserve original aspect ratios.
- Do not stretch assets.
- Do not place every available asset on screen.
- Treat MP4, WebM, MOV/M4V, GIF, animated SVG, and Lottie as animated assets; never silently flatten them.
- Prefer native SVG/vector overlays for logos, icons, diagrams, badges, illustrations, line art, and UI graphics unless an existing animation must be preserved.
- Use
drawSVGfor simple stroked artwork; use editable fill/stroke, masks, transforms, and grouped layers for richer vector motion. - Animate local SVG zoom/pan with
x,y,scale,rotation,originX, andoriginY, not the global camera. - Report browser codec failures and animated-SVG exact-seeking limitations plainly.
Script, Audio, And Timeline Rules
- Preserve exact script text when requested.
- Split long sentences only for layout, keeping words and punctuation unchanged and in order.
- Probe audio duration instead of guessing.
- Set canvas duration to cover the full track and closing fade.
- Place text entrances at the spoken phrase when timestamps are available.
- Keep labels and matching logos revealed together.
- Keep project audio on the bottom audio track.
-
Preserve its timeline
startoffset through save/reload and MP4 export. - Treat visual tracks as simple layers: horizontal movement changes time, vertical movement targets a layer, overlaps are allowed, and content type does not restrict placement.
- Do not rely on magnetic packing, ripple editing, or automatic content allocation.
- Moving a whole animated layer moves its keyframes; trimming changes its visibility window without silently retiming them.
Motion Direction
- Default to
power3.out. - Use entrances around
650msto1s. - Use staggered word reveals for important copy, not every label.
- Use
shapeWipeoririsWipefor real scene changes. - Use
maskRevealfor hero media. - Use
dynamicSlidefor supporting assets and logo groups. - Use
speedZoomonce at a meaningful transition, not as continuous camera drift. - Include deliberate exits with
exitAtandexitDuration.
Validation Checklist
Before finishing, an agent should:- Parse the final
.motionfile. - Build its scene graph.
- Confirm canvas duration, imports, and expected scene elements.
- Verify exact script text against ordered text layer values.
- Inspect frames around scene starts, holds, transitions, and exits.
- Check for blank frames, overlap, clipping, distortion, and stale layers.
- Confirm parse/serialize/parse does not lose tracks, timing windows, masks, animation delays, or keyframes.
- Confirm preview and deterministic MP4 export evaluate the same project timing.
- Run the repository tests and build commands that cover the changed project.
.motion file that users can refine visually in Motionly.