Agent skill

Motion Editor

by CoWork-OS in CoWork-OS/CoWork-OS

Build a local, offline motion-design editor app (After Effects / Screen Studio-lite) with scenes, layers, keyframes, spring easing, presets, stagger, a cursor layer, timeline, undo/redo, save/open…

MITAuto-check passedMedia & Creative

Install Motion Editor

skills CLI
$ npx skills add CoWork-OS/CoWork-OS --skill motion-editor -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CoWork-OS/CoWork-OS motion-editor --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/CoWork-OS/CoWork-OS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/resources/skills/motion-editor .claude/skills/motion-editor && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
motion-editor
GitHub stars
474
Token cost
~2.1k tokens
SKILL.md length
1,055 words
Files
2 (incl. references)
Skills in repo
46
Repo updated
First seen
Licence
MIT

At a glance

Build a local, offline motion-design editor app (After Effects / Screen Studio-lite) with scenes, layers, keyframes, spring easing, presets, stagger, a cursor layer, timeline, undo/redo, save/open…

  • Works in 10 steps: Project settings: duration, aspect ratio… → Asset import (button + drag&drop): PNG,… → Add text and shapes. Scenes: create,… → …
  • Tasks that involve Motion graphics
  • SKILL.md covers Before starting, Related, Routing and Trigger Examples, plus 2 more sections
  • Calls npm

What it does

Motion Editor is an agent skill from CoWork-OS/CoWork-OS. Build a local, offline motion-design editor app (After Effects / Screen Studio-lite) with scenes, layers, keyframes, spring easing, presets, stagger, a cursor layer, timeline, undo/redo, save/open, and deterministic MP4 export via Playwright + ffmpeg. The deliverable is the editor itself, not a video.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/techniques.md`).

It sits in Media & Creative, covering Motion graphics, Video production and Browser testing. It works with FFmpeg, Playwright and npm. The repository describes itself as: Local-first personal agentic OS and everything app for coding, knowledge work, web design, automations, and artifacts. The licence is MIT.

When your agent uses it

  • Tasks that involve Motion graphics
  • Tasks that involve Video production
  • Tasks that involve Browser testing

Example prompts

  • “/motion-editor”

Requirements

  • Node.js

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  1. Project settings: duration, aspect ratio (16:9, 9:16, 1:1, 4:5, custom), resolution, fps. Changing them never deletes layers.
  2. Asset import (button + drag&drop): PNG, JPG, WebP, SVG, fonts (TTF/OTF/WOFF2). Originals copied byte-for-byte, never modified.
  3. Add text and shapes. Scenes: create, duplicate, rename, reorder, delete.
  4. Layers panel: reorder, show/hide, lock, rename, duplicate, delete.
  5. Preview: click to select, drag to move, handles to scale/rotate, Shift to constrain. Selection stays synced across preview, timeline, and…
  6. Timeline: scene blocks with draggable boundaries, layer bars with draggable start/end, keyframe diamonds draggable in time, playhead…
  7. Properties panel: transform, opacity, typography, alignment, spacing, color; per-property keyframe toggle at playhead; easing picker with…
  8. Playback: play/pause, replay, loop, Space, frame step with ←/→, time + frame counter. Any parameter change updates the preview instantly.
  9. Undo/redo (Ctrl/Cmd+Z, Ctrl/Cmd+Shift+Z) for every edit; one drag = one history step.
  10. Save/Open: project folder .motion/ with project.json + assets/. Unsaved-changes dot in title + warning on close. Missing assets show a…

What it can do on your machine

Read from SKILL.md and the folder at commit a77d646. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Motion Editor loads about 2.1k tokens when it runs, and up to ~3.3k if it reads all its reference files. Until then it costs about 79 tokens; SKILL.md has 1,055 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~79
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from CoWork-OS/CoWork-OS at commit a77d646, republished under its MIT licence (© CoWork-OS). 1,055 words, ~2,113 tokens.

Download SKILL.mdSave it as .claude/skills/motion-editor/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
motion-editor
description
Build a local, offline motion-design editor app (After Effects / Screen Studio-lite) with scenes, layers, keyframes, spring easing, presets, stagger, a cursor layer, timeline, undo/redo, save/open, and deterministic MP4 export via Playwright + ffmpeg. The deliverable is the editor itself, not a video.
version
1.0.0
license
MIT
metadata.author
CoWork OS Contributors <info@coworkosapp.com>

Motion Editor

Before starting

Confirm the target folder and the user's OS (adapt shortcuts: Ctrl on Windows/Linux, Cmd on macOS). Phases span many steps: keep a PROGRESS.md in the project noting what's built and which verifications passed. If an essential ambiguity remains, ask the user — the requirements below take priority over any outside source.

<goal>
Build a local motion-design editor app. The deliverable is the EDITOR ITSELF, not a video.
Do NOT invent a video concept, create demo content, or render anything automatically.
On first launch, open an empty project. Rendering happens only when the user clicks Export.
</goal>
<environment>
- Windows, macOS or Linux; Node 20+, ffmpeg available in PATH.
- Stack: Vite + React + TypeScript frontend, small local Node (Express) server for filesystem access and render jobs. Zustand for state, zod for project schema validation.
- No AI/API calls at runtime. Editing, playback, undo/redo, saving must work fully offline.
- Run: `npm install && npm run dev`. CLI render: `npm run render -- <projectFolder> <out.mp4>`.
- If you deviate from this stack, justify it in README.
</environment>
<architecture>
- Single source of truth: project.json (schema-validated).
- One pure function `renderFrame(project, timeSec, ctx, scale)` draws a frame on Canvas 2D. Used by BOTH preview and export.
- Output depends only on (project, time): no Date.now(), no unseeded Math.random(), no CSS animations, no rAF-accumulated state. Any timestamp must be directly seekable.
- Preview renders scaled to viewport (devicePixelRatio-aware). Export renders at full project resolution.
- Text and vector graphics must stay crisp at 4K (render at target resolution, never upscale a bitmap of the canvas).
</architecture>

<data_model>

  • Project: settings {durationSec=15, aspect=16:9, width=3840, height=2160, fps=30, background}, scenes[], assets[] {id, originalName, relativePath, type, hash}.
  • Scene: id, name, start, duration, layers[] (array order = z-order).
  • Layer: id, type (text | image | shape | cursor), name, visible, locked, start, duration (relative to scene), anchor, x, y, scale, rotation, opacity, type-specific props. Text props: content, fontFamily, fontSize, fontWeight, lineHeight, letterSpacing, align, color.
  • Keyframes per property: [{time, value, easing}].
  • Easing: linear, ease-in/out/in-out, custom cubic-bezier, spring {stiffness, damping, mass}.
  • Animation presets (slide/fade/scale in & out with direction, distance, delay, duration, easing) GENERATE regular editable keyframes. Re-applying a preset replaces them and is undoable.
  • Stagger: applied to a multi-selection; params: order (forward / reverse / seeded random), interval. Offsets layer start times. </data_model>

<phase_1_core> Build and verify ALL of this before starting Phase 2:

  1. Project settings: duration, aspect ratio (16:9, 9:16, 1:1, 4:5, custom), resolution, fps. Changing them never deletes layers.
  2. Asset import (button + drag&drop): PNG, JPG, WebP, SVG, fonts (TTF/OTF/WOFF2). Originals copied byte-for-byte, never modified.
  3. Add text and shapes. Scenes: create, duplicate, rename, reorder, delete.
  4. Layers panel: reorder, show/hide, lock, rename, duplicate, delete.
  5. Preview: click to select, drag to move, handles to scale/rotate, Shift to constrain. Selection stays synced across preview, timeline, and properties panel.
  6. Timeline: scene blocks with draggable boundaries, layer bars with draggable start/end, keyframe diamonds draggable in time, playhead scrubbing, zoom.
  7. Properties panel: transform, opacity, typography, alignment, spacing, color; per-property keyframe toggle at playhead; easing picker with live curve preview. Plain-language labels; tooltip on every non-obvious control explaining what it changes.
  8. Playback: play/pause, replay, loop, Space, frame step with ←/→, time + frame counter. Any parameter change updates the preview instantly.
  9. Undo/redo (Ctrl/Cmd+Z, Ctrl/Cmd+Shift+Z) for every edit; one drag = one history step.
  10. Save/Open: project folder <name>.motion/ with project.json + assets/. Unsaved-changes dot in title + warning on close. Missing assets show a placeholder with a "Relink" button. Also export/import the whole project as a single .zip. </phase_1_core>

<phase_2_advanced>

  • Spring easing UI, stagger UI, animation presets UI.
  • Cursor layer: path points draggable in preview, target positions, editable click times with click ripple, path smoothing. </phase_2_advanced>
<export>
- "Export MP4" button → server launches headless Chromium (Playwright) on a render-only page with NO editor UI, calls renderFrame for every frame, pipes raw frames into ffmpeg: libx264, yuv420p, CRF 16, -movflags +faststart.
- Wait for document.fonts.ready and all images decoded before frame 0.
- Progress bar + cancel button. Same pipeline available via CLI.
- If ffmpeg is not found, show a clear error with the install step and the exact CLI command to render the saved project.
</export>
Show full SKILL.md (382 more words)Show less

<out_of_scope_v1> Audio, video clips as layers, scene transitions, blur/effects, AI generation, cloud sync. Mark them as "Not available" in UI if referenced anywhere; no dead buttons. </out_of_scope_v1>

<verification>
Actually run these, do not just claim them:
- Unit tests: interpolation, every easing type, determinism (render the same t twice → identical pixels).
- Playwright e2e test: new project → import fixture image → place it → add keyframes on x and opacity → move second keyframe in time → scrub to midpoint and screenshot → undo (value reverts) → redo → save → reload app → open project → deep-compare project.json (scenes, layers, keyframes, settings, asset refs) and confirm assets load.
- Export test: 3-second 1080p project → MP4 → extract first, middle, last frames with ffmpeg → compare to renderFrame output at the same timestamps (pixel diff below threshold).
</verification>
<deliverable>
Working app + source + README with: install, run, editing basics, save/open, export (UI and CLI).
README must contain "Works (tested)", "Not implemented", "Known limitations". List as working ONLY what passed the tests above.
</deliverable>

The spring formula and render/QA pipeline in references/techniques.md (shared with the motion-film skill) apply here too (closed-form springs keep renderFrame pure; subframe blending can be added to export later).

Routing

  • Use when: the user asks to build a motion editor, animation editor, keyframe timeline app, or a tool for making motion-design videos.
  • Do not use when: the user wants a single finished film (use motion-film), a Manim explainer (use manim-video), or edits to existing video footage.
  • Outputs: a working Vite + React + Express editor app with tests, a PROGRESS.md, and a README with "Works (tested)", "Not implemented", and "Known limitations".
  • Success criteria: Phase 1 verified before Phase 2; unit, e2e and export tests actually run and pass; README lists as working only what passed.

Trigger Examples

Positive
  • Build me a motion-design editor app with a keyframe timeline.
  • Create an After Effects-lite animation editor that exports MP4.
  • Make a local Screen Studio-style tool for making motion videos.
  • Use the motion-editor skill for this request.
Negative
  • Render our launch film for Friday's announcement.
  • Explain binary search trees with an equation-style walkthrough.
  • Cut the silences out of this podcast episode.
  • Write release notes for the new version.

Parameters

NameTypeRequiredDescription
output_dirstringNoApp folder (default motion-editor in the workspace)
phaseselectNoauto, phase-1-core, phase-2-advanced, export

Runtime Prompt

  • Runtime prompt is defined directly in ../motion-editor.json.

© CoWork-OS, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in resources/skills/motion-editor of CoWork-OS/CoWork-OS.

  • SKILL.md
  • references/techniques.md

Open the folder on GitHubat commit a77d646

Compare with similar skills

Motion Editor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Motion Editor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Motion Editor this skillCoWork-OS/CoWork-OS474—~2.1kAutomated safety check: PassMIT
Motion Adfabricioctelles/skills106—~4.1kAutomated safety check: PassApache-2.0
Render Myth Vs Factgooseworks-ai/goose-skills1.2k—~2.2kAutomated safety check: PassMIT
Whiteboard Videotrustfuture/simon-skills374—~1.8kAutomated safety check: NotesMIT
Cs Code VideoChenShuo2004/cs-skills194—~2.1kAutomated safety check: PassMIT
Render Chatgpt Chatgooseworks-ai/goose-skills1.2k—~2.3kAutomated safety check: PassMIT

Similar skills

  • Motion Ad

    fabricioctelles/skills

    Produce a short motion-graphics video ad — a 15s Facebook/Instagram/TikTok spot — as a rendered MP4.

    106 GitHub stars~4.1k tokensUpdated 5 days ago
    Media & CreativeAuto-check passed
  • Render Myth Vs Fact

    gooseworks-ai/goose-skills

    Assemble a myth-vs-fact kinetic-typography explainer video ad (≈29.5s, 9:16) from N myth/fact pairs + hook / turn / punch copy + palette + a brand end-card PNG + a VO track — a hook, 3 red-strike…

    1.2k GitHub stars~2.2k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Whiteboard Video

    trustfuture/simon-skills

    手绘白板风"边画边讲"讲解视频出片 skill(Excalidraw 风格逐笔动画 + 火山引擎配音 + 烧录字幕 + 品牌水印与片尾卡 + 横竖两张封面 + 各平台发布文案)。当用户说"做一期白板视频 / 边画边讲 / 手绘讲解视频 / 用 excalidraw 做视频 / whiteboard video",或要在本仓库里新建一期、改场景、换贴纸或真实…

    374 GitHub stars~1.8k tokensUpdated 15 days ago
    Media & CreativeAuto-check: notes
  • Cs Code Video

    ChenShuo2004/cs-skills

    用代码做动画视频:页面暴露 render(t),Playwright 逐帧截图 + FFmpeg 合成 mp4,可接合成配乐、出图和配音。通用模式先明确主题、规格、风格和声音,出风格卡、分镜与关键帧后逐镜制作;Vibe知识大赏模式额外查证来源、记录真实素材许可、先渲 10 秒样片。触发词包括…

    194 GitHub stars~2.1k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Character Animation QA

    calesthio/OpenMontage

    Review local character animation with schema checks, Playwright browser previews, frame sampling, and FFmpeg/ffprobe final output checks.

    66k GitHub stars~389 tokensUpdated 6 days ago
    Media & CreativeAuto-check passed

More from CoWork-OS/CoWork-OS

All 46 skills in this repo
  • Calendly

    CoWork-OS/CoWork-OS

    Manage Calendly scheduling via the v2 API. An agent skill from CoWork-OS/CoWork-OS.

    474 GitHub stars~595 tokensUpdated today
    Auto-check passed
  • Humanizer

    CoWork-OS/CoWork-OS

    Rewrite AI-generated text to sound natural and human-written.

    474 GitHub stars~557 tokensUpdated today
    Auto-check passed
  • Marketing Strategist

    CoWork-OS/CoWork-OS

    Comprehensive marketing strategy across 25 disciplines — positioning, copywriting frameworks, buyer psychology, SEO, CRO, paid ads, funnel architecture, content strategy, growth loops, analytics…

    474 GitHub stars~893 tokensUpdated today
    Auto-check passed
  • Moltbook

    CoWork-OS/CoWork-OS

    Interact with Moltbook — the social network for AI agents. An agent skill from CoWork-OS/CoWork-OS.

    474 GitHub stars~579 tokensUpdated today
    Auto-check passed
  • Polymarket

    CoWork-OS/CoWork-OS

    Query Polymarket prediction markets — search events, check odds and prices, view trending markets, track price momentum, get orderbook depth, analyze volume, and monitor market resolution timelines.

    474 GitHub stars~616 tokensUpdated today
    Auto-check passed
  • Skill Creator

    CoWork-OS/CoWork-OS

    Create or update AgentSkills for CoWork-OSS. An agent skill from CoWork-OS/CoWork-OS.

    474 GitHub stars~493 tokensUpdated today
    Auto-check passed

Questions about Motion Editor

What does Motion Editor do?

Build a local, offline motion-design editor app (After Effects / Screen Studio-lite) with scenes, layers, keyframes, spring easing, presets, stagger, a cursor layer, timeline, undo/redo, save/open…. Motion Editor is an agent skill from CoWork-OS/CoWork-OS. Build a local, offline motion-design editor app (After Effects / Screen Studio-lite) with scenes, layers, keyframes, spring easing, presets, stagger, a cursor layer, timeline, undo/redo, save/open, and deterministic MP4 export via Playwright + ffmpeg.

When should I use Motion Editor?

Motion Editor fits situations like: tasks that involve Motion graphics; tasks that involve Video production; tasks that involve Browser testing.

How do I install Motion Editor in Claude Code?

Run `npx skills add CoWork-OS/CoWork-OS --skill motion-editor -a claude-code`. Or copy the skill folder (resources/skills/motion-editor in CoWork-OS/CoWork-OS) into .claude/skills/motion-editor in your project. Claude Code loads it when a task matches its description.

How do I install Motion Editor in Codex?

Run `npx skills add CoWork-OS/CoWork-OS --skill motion-editor -a codex`. Or copy the skill folder (resources/skills/motion-editor in CoWork-OS/CoWork-OS) into .agents/skills/motion-editor in your project. Codex loads it when a task matches its description.

Can I use Motion Editor in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CoWork-OS/CoWork-OS --skill motion-editor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/motion-editor, .gemini/skills/motion-editor, .github/skills/motion-editor and .opencode/skills/motion-editor in your project.

What does Motion Editor need to run?

Going by SKILL.md and its folder, Motion Editor needs the command-line tools its instructions call (npm). Our summary lists: Node.js.

Does Motion Editor access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Motion Editor safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Motion Editor use?

Motion Editor is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Motion Editor use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Motion Editor?

Skills that share tags, products or a category with Motion Editor: Motion Ad (fabricioctelles/skills, 106 stars), Render Myth Vs Fact (gooseworks-ai/goose-skills, 1.2k stars), Whiteboard Video (trustfuture/simon-skills, 374 stars) and Cs Code Video (ChenShuo2004/cs-skills, 194 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Motion Editor?

CoWork-OS (a GitHub organization) maintains it in CoWork-OS/CoWork-OS, which has 474 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 9, 2026.

Source: CoWork-OS/CoWork-OS on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.