Skip to content
Development
Skill

/motion-art-direction

Use when a film needs a look before any scene code — ads, launch teasers, brand films, type-led films with no screenshots, or whenever a draft looks flat (white ground, small tiles, centered text, fades, slow camera drift, logo opener). Locks .motion/look.md at Gate 0 (3 text

BOOST
From plugin
fusengine-agents
31200 skills40 agents34 commands
Install
$ npx -y skills add fusengine/agents --skill motion-art-direction --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/motion-art-direction

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when a film needs a look before any scene code — ads, launch teasers, brand films, type-led films with no screenshots, or whenever a draft looks flat (white ground, small tiles, centered text, fades, slow camera drift, logo opener). Locks .motion/look.md at Gate 0 (3 text

SKILL.md

motion-art-direction.SKILL.md
name: motion-art-direction
description: "Use when a film needs a look before any scene code — ads, launch teasers, brand films, type-led films with no screenshots, or whenever a draft looks flat (white ground, small tiles, centered text, fades, slow camera drift, logo opener). Locks .motion/look.md at Gate 0 (3 text sketches → challenger locks the tone blind → reference board → look.md + 3 key frames → owner sees them) and owns the scene step's first templates (cut-rhythm, composition-grid, kinetic-type). Richness from area-weighted value contrast, type as a large object, composition, rhythm and motion density — a purposeful gesture at every moment (letter/word kinetics, one recurring geometric actor, animated objects, 3D where it serves), prompt-motion.com as the density reference — never from effects."
versions:
  fuse-motion: "1.0.0"
user-invocable: false
references: references/dials.md, references/gate-zero.md, references/reference-board.md, references/prompt-patterns.md, references/composition.md, references/type-as-image.md, references/objects.md, references/rhythm.md, references/contrast.md, references/bans.md, references/templates/look.md, references/templates/kinetic-type.md, references/templates/composition-grid.md, references/templates/cut-rhythm.md
related-skills: motion-method, motion-craft, motion-render, motion-review, motion-assets, fuse-design:design-method

<objective> Own the ART DIRECTION of a film: the visual system every state is built inside. It is locked in `.motion/look.md` and its 3 key frames, which the owner sees and approves at **G0** before any scene code. It also owns the first templates of the scene step.

It exists because the first real ad (fusengine.ch) was rejected as "trop simplet, horrible": a white ground, small blue tiles, centered text, fades and a slow camera drift. The fix that followed (depth-by-effect) was rejected as AI slop. The direction is now fixed: a film reads rich through **value contrast** (two large planes far apart in lightness, a full-bleed ink or accent field on one state in three), **type as a large object** (one word ≥ 4× its label, cropped by the frame), **composition** (flush-left, asymmetric, never centered) and **rhythm** (cuts and gestures on a tempo grid). The owner approved that still look and asked for more animation, after prompt-motion.com: so **motion density** — a purposeful gesture in progress at every moment (no span over 0.75 s without one, the final CTA still ≤ 1.2 s, beats every 0.5–1 s), type moving at letter and word level, one recurring geometric actor, animated objects, and 3D where the expert judges it serves. Decorative effects, fades and drift are banned outright.

The method mirrors `fuse-design:design-method` (dials, obligations, screen-holding floor, Gate 0, absolute bans, slop test, blind sketches), transposed to film. This skill points to those files instead of copying them. </objective>

Motion Art Direction

Agent Workflow (MANDATORY)

Contract §8 order. It is the only order, in every fuse-motion file:

| Step | Who | What | |------|-----|------| | Brief + beat map | `motion-expert` via `motion-method` | `.motion/brief.md` (`genre`, register) + `.motion/beats.md` | | 1 Sketches | `motion-expert` | 3 text-only tone candidates ([gate-zero.md](references/gate-zero.md)) | | 2 Tone lock | `fuse-ai-pilot:challenger` | Judges the 3 sketches blind and locks ONE tone | | 3 Board | `motion-expert` + fuse-browser | 6 refs = 3 traits × 2 for the locked tone → `board.png`, `refs.md` ([reference-board.md](references/reference-board.md)) | | 4 Look | `motion-expert` | Every field of [templates/look.md](references/templates/look.md) + 3 key frames in words | | 5 **G0** | owner | Sees the key frames + look.md and approves in their own message | | 6 Scene | `motion-expert` | cut-rhythm → composition-grid → kinetic-type; `motion-render` gives mechanics only | | Review | `motion-critic` via `motion-review` | Frames vs look.md; hard-fail IDs live only in `motion-review` references/hard-fails.md | | Scripts | `fuse-ai-pilot:sniper` | Validation after scene code |

**No `.motion/scene/*` file is written before look.md and the 3 key frames exist and the owner has seen and approved the key frames.** The harness does not enforce G0 yet: the `motion` scope gates G1/G2 only, so this rule holds because the agent stops.

---

Overview

| Area | Core rule | Reference | |------|-----------|-----------| | **Dials** | 7 numbers, argued. VALUE_CONTRAST area-weighted ≥ 60 + full bleed on ⌈N/3⌉ states; TYPE_SCALE ≥ 4; largest type ≥ 180 px; HOLD ≥ 0.25 s/word; MOTION_DENSITY ≥ 1 gesture/s, ≤ 0.75 s gesture-free, CTA still ≤ 1.2 s. Equal to the critic floors | [dials.md](references/dials.md) | | **Gate 0** | §8 order; every look.md field + key frames seen by the owner, or no scene code | [gate-zero.md](references/gate-zero.md) | | **Board** | After the tone lock: 3 traits × 2, open/mid/end stills, one borrow / one don't | [reference-board.md](references/reference-board.md) | | **Composition** | 6-col flush-left grid, never centered, key word ≥ 4×, bleed, camera moves on a cut ≤ 2 beats | [composition.md](references/composition.md) | | **Type** | 2–4 words per beat, letter/word kinetics (stagger, slam, scale jump, split) rotated, frame 0 at full value | [type-as-image.md](references/type-as-image.md) | | **Objects** | One recurring actor (travels, wipes, splits, floods, becomes the CTA); objects that stand for the product; 3D by judgment, justified | [objects.md](references/objects.md) | | **Rhythm** | Cuts and gestures on the tempo grid, a beat every 0.5–1 s, ≤ 0.75 s gesture-free, CTA built then still ≤ 1.2 s | [rhythm.md](references/rhythm.md) | | **Prompt patterns** | 10 prompt-motion.com prompts summarised; 6-block brief, state chains, density | [prompt-patterns.md](references/prompt-patterns.md) | | **Contrast** | ink / paper / accent in OKLCH, planes ≥ 20 %, no mid-tones, accent as a plane | [contrast.md](referenc

Read more
Ships withfusengine-agents

A plugin ecosystem that turns Claude Code into a supervised, multi-agent development environment.

Get the whole plugin

Other skills on fusengine-agents.