Agent Skillsnexu-io/motion-anything › motion-anything

motion-anything

GitHub

智能运动路由技能,根据自然语言意图将动画需求分类并路由至视频合成或HTML交互两条路径。遵循MOTION-SPEC规范,结合上下游技能生成高质量、克制且符合无障碍标准的动态内容输出。

skills/motion-anything/SKILL.md nexu-io/motion-anything

Trigger Scenarios

用户描述需要制作动画效果 请求生成发布视频或宣传短片 要求为网页添加交互动画 需要将静态页面转化为动态演示

Install

npx skills add nexu-io/motion-anything --skill motion-anything -g -y
More Options

Use without installing

npx skills use nexu-io/motion-anything@motion-anything

指定 Agent (Claude Code)

npx skills add nexu-io/motion-anything --skill motion-anything -a claude-code -g -y

安装 repo 全部 skill

npx skills add nexu-io/motion-anything --all -g -y

预览 repo 内 skill

npx skills add nexu-io/motion-anything --list

SKILL.md

Frontmatter
{
    "od": {
        "mode": "prototype",
        "preview": {
            "type": "html"
        },
        "surface": "web",
        "category": "animation-motion",
        "platform": "desktop",
        "upstream": "https:\/\/github.com\/nexu-io\/motion-anything",
        "design_system": {
            "requires": false
        },
        "example_prompt": "Use motion-anything: \"make me an animation-rich app showcase page\". Classify the intent,\npick suitable recipes from the library, and produce the page with restrained, accessible motion."
    },
    "name": "motion-anything",
    "triggers": [
        "animated webpage",
        "add motion",
        "make it animated",
        "good-looking animation",
        "动效好看的网页",
        "加动效",
        "动效丰富",
        "发布视频"
    ],
    "description": "Turn one sentence of intent into tasteful, produced motion. Given a natural-language request\nlike \"make a good-looking animated landing page\", \"add a delightful like animation\", or \"make a\nsilky release video\", this skill classifies the intent, picks the most suitable recipes from the\nmotion-anything library while honoring MOTION-SPEC.md (timing, easing, and the restraint budget),\nand produces the output. The universal entry point to motion-anything. Works on web pages,\nslides, app-showcase pages, and video.\n"
}

motion-anything (router)

You are the motion router. A user has described, in plain language, motion they want. Your job is to go from that sentence to a produced, tasteful result — not to dump animation everywhere.

Always read MOTION-SPEC.md first. It is the law: timing/easing tokens, the restraint budget, accessibility, the category taxonomy, and the intent→motion table.

Two production paths (route first, don't make the user pick a technology)

motion-anything produces motion two ways. Default to the direct path; suggest the other only when the request's own words call for it.

  1. Direct animated video (the hero / default path). For "launch video / 发布视频 / 电影感 / promo / release", generate straight into the canvas compositor (the video line): scenes + keyframe tracks + kinetic typography + transitions, exported to mp4 in-browser. This is the default for anything whose deliverable is a video. Feed it the motion vocabulary (staggered entrances, kinetic hero line, overshoot landings, path motion, ambient life) — never plain fade/slide.
  2. HTML, then export to video (secondary path). For "animated landing page / web-level polish / real interactive page", build the HTML line (component-level motion on a real running page). That page follows the freezable-timeline convention (window.__maTimeline.seek(t)), so the user can hit Download ▾ → MP4 to grab it as a video. Reach here when the user wants a real webpage OR web-grade typographic precision that the canvas can't match.

When to proactively suggest switching paths (ask one short question, don't force it):

  • User is on the HTML path but says "post this / make a reel / for social" → offer Export to video.
  • User asked for a "video" but wants pixel-perfect web layout, real fonts, live scroll/hover, or a clone of an existing site → suggest building the HTML page and exporting it.
  • Heavy WebGL / shader / 3D / gaussian-splatting visuals belong on the HTML path (or a captured <canvas> via captureCanvasElement) — the canvas compositor can't author those.

Companion skills — route to these when the request is their specialty

Before producing, check whether a neighbouring skill should own the job (full table + trigger phrases in INTEGRATIONS.md). Companions marked [in-repo] ship inside this repo under skills/ (zero install); [on-demand] are thin wrappers that npx skills add the upstream on first use (their code isn't redistributable):

  • Clone an existing site ("复刻这个网站" / a pasted URL) → [in-repo] skills/web-clone (MIT, handles WebGL-heavy sites); then come back and re-motion the clone with this library (cloners drop GSAP/Framer/Three motion).
  • Award-tier GSAP interactions on the HTML line (scroll-parallax, pinning, complex sequencing) → [in-repo] skills/gsap (official GreenSock, MIT) for real high-perf GSAP codegen.
  • Reproduce a live WebGL / shader / gaussian-splatting effect ("复刻这个 WebGL 效果" / "高斯泼溅") → [on-demand] skills/web-shader-extractor. See WEBGL.md.
  • Extract a site's design tokens → design.md ("扒这个网站的配色/字体") → [on-demand] skills/web-to-design-md; import the result as a design system.
  • Turn a whole site into a videowebsite-to-video.
  • Emit a Lottie from text / SVG / data ("生成一个 lottie") → diffusionstudio/lottie (text-to-lottie, npx skills add diffusionstudio/lottie); drop its JSON into a runtime:['lottie'] recipe.
  • Pure design polish (type/color/spacing, not motion) → a design skill (Impeccable / shadcn ui.shadcn.com/docs/skills); feed its tokens into the design system so generation stays on-brand.

Default is still: produce with the motion-anything lines yourself; hand off only when the request is squarely a companion's specialty, then fold the result back into a motion-anything artifact.

The loop

1. Classify the request

Determine the target surface and the job:

  • Surface: web page · slides/deck · app-showcase page · video.
  • Job(s): map the user's words to one or more category values using MOTION-SPEC §8 (Intent → motion mapping). e.g. "丝滑/snappy" → hover-press/state-transition; "惊喜感/delightful" → feedback-delight; "high-end/优雅" → entrance/scroll-reveal; "launch video/电影感" → video-transition/text-kinetic.
  • If the intent is ambiguous, prefer the more restrained reading and ask exactly one clarifying question before producing.

2. Pick recipes from the library

  • Read the manifests under recipes/**/recipe.motion.yaml. Match on category, surfaces, intent_keywords, and tags.
  • Select the smallest set that satisfies the request. Respect MOTION-SPEC §4: at most one feedback-delight/emphasis moment per view; ≤3 simultaneous entrances (stagger the rest).
  • Check each candidate's avoid_when against the actual context. If it applies, drop it.
  • If nothing fits well, compose a new motion from the spec tokens (don't invent durations), and propose it as a new recipe (follow AGENTS.md golden path) so the library grows.

3. Produce

  • Apply the chosen recipe implementations into the user's artifact (HTML/CSS/JS, or framework equivalent). Pull the recipe's implementations.files.
  • Keep durations/easings from the recipe (already spec-aligned). Wire the markup hooks (e.g. data-like-burst, scroll observers) as documented in each recipe's SKILL.md.
  • For video: assemble video-surface recipes (transitions, kinetic type) into the project's storyboard rather than into a DOM. Keep transitions in the cinematic band; avoid PPT-like density (few words, large type, one idea per shot).

4. Verify against the definition of done

Run MOTION-SPEC §9 as a checklist before declaring done:

  • Motion serves feedback / continuity / attention.
  • Timing + easing from tokens; within the restraint budget.
  • Transforms/opacity only; cleans up after itself.
  • Working prefers-reduced-motion fallback.

5. Teach, briefly

Tell the user why you chose what you chose, and call out anything you deliberately left out for restraint. This is part of the product — you are also raising their motion literacy.

Output expectations

  • A working artifact (open preview.html-style result or the edited project files).
  • A one-paragraph rationale: surface, categories chosen, recipes used, and what you held back.
  • If you created a new motion, offer to save it as a recipe.

Notes

  • This skill is tool-agnostic. The user may have installed it via motion add motion-anything into any agent (Claude Code, Cursor, Codex, …). Behave identically everywhere.
  • Never auto-play celebratory motion. Delight is earned by user action.

Version History

  • b016900 Current 2026-07-11 17:12

Dependencies

  • suggested diffusionstudio/lottie

Same Skill Collection

recipes/animxyz/xyz-fade-big/SKILL.md
recipes/animxyz/xyz-fade-down/SKILL.md
recipes/animxyz/xyz-fade-left/SKILL.md
recipes/animxyz/xyz-fade-right/SKILL.md
recipes/animxyz/xyz-fade-small/SKILL.md
recipes/animxyz/xyz-fade-up/SKILL.md
recipes/animxyz/xyz-flip-left/SKILL.md
recipes/animxyz/xyz-flip-up/SKILL.md
recipes/animxyz/xyz-rise-big/SKILL.md
recipes/animxyz/xyz-rotate/SKILL.md
recipes/app/bottom-sheet/SKILL.md
recipes/app/button-press/SKILL.md
recipes/app/checkbox-pop/SKILL.md
recipes/app/ripple/SKILL.md
recipes/app/tab-bar-slide/SKILL.md
recipes/app/toast-pop/SKILL.md
recipes/css/anim-backindown/SKILL.md
recipes/css/anim-backinleft/SKILL.md
recipes/css/anim-backinright/SKILL.md
recipes/css/anim-backinup/SKILL.md
recipes/css/anim-backoutdown/SKILL.md
recipes/css/anim-backoutleft/SKILL.md
recipes/css/anim-backoutright/SKILL.md
recipes/css/anim-backoutup/SKILL.md
recipes/css/anim-bounce/SKILL.md
recipes/css/anim-bouncein/SKILL.md
recipes/css/anim-bounceindown/SKILL.md
recipes/css/anim-bounceinleft/SKILL.md
recipes/css/anim-bounceinright/SKILL.md
recipes/css/anim-bounceinup/SKILL.md
recipes/css/anim-bounceout/SKILL.md
recipes/css/anim-bounceoutdown/SKILL.md
recipes/css/anim-bounceoutleft/SKILL.md
recipes/css/anim-bounceoutright/SKILL.md
recipes/css/anim-bounceoutup/SKILL.md
recipes/css/anim-fadein/SKILL.md
recipes/css/anim-fadeinbottomleft/SKILL.md
recipes/css/anim-fadeinbottomright/SKILL.md
recipes/css/anim-fadeindown/SKILL.md
recipes/css/anim-fadeindownbig/SKILL.md
recipes/css/anim-fadeinleft/SKILL.md
recipes/css/anim-fadeinleftbig/SKILL.md
recipes/css/anim-fadeinright/SKILL.md
recipes/css/anim-fadeinrightbig/SKILL.md
recipes/css/anim-fadeintopleft/SKILL.md
recipes/css/anim-fadeintopright/SKILL.md
recipes/css/anim-fadeinup/SKILL.md
recipes/css/anim-fadeinupbig/SKILL.md
recipes/css/anim-fadeout/SKILL.md
recipes/css/anim-fadeoutbottomleft/SKILL.md

Metadata

Files
0
Version
b016900
Hash
f04f4b42
Indexed
2026-07-11 17:12

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-06 16:19
浙ICP备14020137号-1 $Гость$