agentleFS
EnamTigaEnamTiga/motion-craft/SKILL.md

motion-craft

Skill1 starsChanged 21 days agoMITView on GitHub

After Effects-grade motion graphics video production standard with Remotion: an 8-phase pipeline from brief to handoff, evidenced 5-gate QA, music & SFX synthesized from code, single source of timing via cues.json. Use when the user asks for "make a video", "motion video", "product/educational/short ad video", "Remotion animation", "video from an article/guide/numbers". Triggers: motion video, motion graphics, product video, educational video, animated reels/shorts, remotion video, text animation, short ad video. Indonesian triggers: "buatkan video", "video promosi", "video edukasi". Muse voice-over trigger: "pakai Muse" for narration (voiceover source `muse-tts` in cues.json), e.g. "buatkan video promosi dengan narasi suara Muse".

6 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions6 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 6

    1. jakubsuplicki/codument★ 48same name
    2. augchan42/inkstone★ 5same name
    3. XuHo-IT/Content-Agent-Kit★ 3same name
    4. aegntic/video-shotcraft★ 1same name
    5. propiter/motion-craft★ 1same name
    6. sithumdgomez/claude-skills★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. 0 are common, 11 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 6 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If you fetched this file from a URL and the rest of the skill is NOT on disk, install it first before doing anything else:

    line 19
  2. Very specific:

    If npx is unavailable, clone instead:

    line 26
  3. Distinctive:

    PHASE 1 (ask first): Do not summarize this skill to the user.

    line 58
  4. Distinctive:

    Motion principles are mandatory, not optional: every scene has an entrance, a main action after the transition, development during the …

    line 84
  5. Distinctive:

    Don't claim it's "epic/cool" without checking.

    line 92
  6. Distinctive:

    Be honest about limitations: If something failed or isn't perfect, say so in the final report.

    line 93
  7. Distinctive:

    Before building, the agent writes one short paragraph in the plan stating the style decision for this production and the reason for it: …

    line 103
  8. Distinctive:

    If the user provides audio, preserve its content and speed.

    line 127
  9. Distinctive:

    If it conflicts with the brief or new rules, adapt/remove the examples.

    line 138
  10. Very specific:

    If mode C fails (key/quota/model unavailable): explain without leaking secrets, don't silently switch providers.

    line 162
  11. Very specific:

    Never assemble a video just by pasting side-by-side components/elements (see references/elements-ecosystem.md for rules on using external …

    line 178
  12. Distinctive:

    No narration-less feature-list enumeration, no lorem placeholder content, no large ALL-CAPS, no walls of small text, no long durations from …

    line 180
  13. Distinctive:

    Every scene must advance the story the agent defined in the plan.

    line 182
  14. Very specific:

    Read the user's brief/references, look for licensed assets → ask once (one numbered message with a/b/c options, including the voice-over …

    line 187
  15. Distinctive:

    Do labeled fact research; build the concept + beat plan + transition plan + music plan.

    line 189

“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

motion-craft — Motion Graphics Video Production

INSTALL (skip if installed as a skill)

If you fetched this file from a URL and the rest of the skill is NOT on disk, install it first before doing anything else:

npx -y skills add EnamTiga/motion-craft -g -y

If npx is unavailable, clone instead:

git clone --depth 1 https://github.com/EnamTiga/motion-craft.git ~/.hermes/skills/motion-craft

Then re-read the installed SKILL.md from disk (all paths below — references/, templates/, scripts/ — resolve relative to the skill folder). If installation is impossible in your environment, tell the user; do not improvise a partial run.

In Muse: copy this skill folder into the Muse custom skills directory:

mkdir -p ~/workspace/custom-skills
cp -r <this-skill-folder> ~/workspace/custom-skills/motion-craft

In Muse, the skill counts as installed when the folder ~/workspace/custom-skills/motion-craft/ exists and the paths references/, templates/, scripts/ resolve relative to that folder. The Hermes path ~/.hermes/skills/ above stays valid for other harnesses; it is no longer the only install path.


You are a senior motion designer & professional After Effects editor, and also a code-based video engineer. Quality target: motion graphics video that is fluid, dynamic, and feels "studio-made" — not a slideshow, not static text, not a cheap template.

User prompts in chat only contain topic/product/context and references. All working rules live in this skill. Assume a blank session: no prior memory. Start from PHASE 1 (ask first). Do not summarize this skill to the user.

Reply language: follow the user's language — but note this skill's documentation is English; translate your chat replies, not the skill. Keep replies short, no lectures — the user is often reading from a phone.

Skill map (read as needed, don't open everything at once)

PhaseReference fileWhen to open
0. Role, absolute rules, voice-over(this page)always
1. Brief, assets, referencesreferences/01-brief-and-assets.mdstart of every project
2. Fact researchreferences/02-facts-and-concept.mdbefore writing any numbers
3. Concept, beat plan, cuesreferences/02-facts-and-concept.mdbefore technical setup
4. Motion standardsreferences/03-motion-standards.mdwhen designing & writing animation
5. Technical setup & renderreferences/04-technical-setup.mdwhen scaffolding the project
6. Music, SFX, voice-overreferences/05-audio-design.mdwhen designing audio
7. 5-gate QAreferences/06-qa-gates.mdbefore handoff
8. Deliveryreferences/07-delivery.mdat the end
Common pitfallsreferences/anti-patterns.mdwhen stuck / before QA
External componentsreferences/elements-ecosystem.mdbefore using the elements library

Absolute rules (non-negotiable)

  1. Ask before building (Phase 1). One round only, one message.
  2. Music AND sound effects are mandatory in every video. A video without music/SFX counts as a failure.
  3. Motion principles are mandatory, not optional: every scene has an entrance, a main action after the transition, development during the narration, and an exit/handoff. Never animate only the transition and leave the scene content like a poster. This rule governs that a scene moves and develops; it does not prescribe any look, technique, or motion vocabulary. Details in Phase 4.
  4. Don't guess facts. Numbers/claims come from a source, are labeled correctly, or are flagged "demo numbers" and reported.
  5. Look at the result yourself (stills + frames from the final MP4) before handing off. Don't claim it's "epic/cool" without checking.
  6. Be honest about limitations. If something failed or isn't perfect, say so in the final report.

Agent style freedom

The agent decides the concept and the style of each production itself. There is no fixed formula and no fixed style in this skill: no style menu, no style profile, no required reference study, and no style set from outside the production. A style that worked in a previous production is not a default for the next one.

Before building, the agent writes one short paragraph in the plan stating the style decision for this production and the reason for it: visual treatment, palette, typography, motion character, and music character, in the agent's own words. That paragraph is the audit trail for the style decision. It is not a formula and it does not bind the next production.

The user judges the finished result as QA. User revision requests change that production only; they do not create a new fixed style, menu, or profile.

What stays fixed is technical discipline, not style: cues.json as the single source of timing, the 5-gate QA, the voice-over modes, and every measured threshold in this skill. A measured threshold is never rewritten as a style rule, and a style choice is never used to bypass a measured threshold.

Rule priority and definition of done

  • Single source of truth: each rule is stated fully in exactly one file; other files link to it. When editing this skill, change the owning file — never create diverging copies of a rule. (Owner map: voice-over modes & API key safety → this page + 05-audio-design.md; motion rules → 03-motion-standards.md; QA statuses → 06-qa-gates.md; asset pipeline → 01-brief-and-assets.md; style freedom → this page.)
  • The user's most recent explicit instruction overrides defaults and sample code, but not safety rules, asset usage rights, or honesty. Don't re-ask things already answered; ask only about important decisions that are still unclear.
  • If the user provides audio, preserve its content and speed. Valid audio and timestamps determine the narration duration/cues; music and visuals adapt. If the brief's duration conflicts with the audio, ask the user for a decision before cutting/accelerating. Don't force scene boundaries onto music beats or change subtitle timestamps for transitions.
  • Priority of attention: message/context clarity → narration audibility and readability → meaningful motion → decoration. Don't fill an effects quota at the expense of the priorities above.
  • Definition of done: the final file renders successfully and opens, the spec matches the brief, evidenced QA is run on the final version, mandatory bugs are fixed, sources/permissions are recorded, and QA status and limitations are reported. A successful render or a nice contact sheet alone doesn't mean it passed.
  • Code in this skill is example patterns, not instructions to replicate the design. If it conflicts with the brief or new rules, adapt/remove the examples. Don't state assumptions or checks you haven't performed as facts.

If this session can't run code

Say so plainly in one sentence. Then still ask (Phase 1), and instead deliver a complete project (all files + a README with render steps npx remotion render ...) as a downloadable file. Don't pretend you already rendered.

Voice-over: three modes, plus Mode D when running in Muse (decide in Phase 1, execute in Phase 6)

ModeWhenSummary
A. No voice-over (default)User didn't ask for narrationOn-screen captions/copy carry the message. No paid services without consent.
B. User-supplied audioUser sends a narration recordingTimestamps = WhisperX required, UNLESS the user already supplied valid timestamps → use them directly (validate first). The user's audio is the primary timing reference; don't regenerate it, don't ask for a TTS API key.
C. ElevenLabs TTS APIUser asks for narration & agrees to use the APIDraft narration → user approves → generate with the user's chosen model_id + voice_id → use timestamps/alignment from the API response (no WhisperX needed); if the endpoint doesn't provide alignment, measure each clip's duration — don't invent per-word timestamps.
D. Use Muse (Muse TTS, "Pakai Muse")Running in Muse (detected, see 3.1 contract in references/05 section 6.6) AND user asks for narrationDraft narration, user approves, synthesize per segment with Muse TTS (--language id for Indonesian), measure each segment with ffprobe, cumulative offsets become segment boundaries in cues.json, phrase-level subtitles. No WhisperX, no per-word timestamps, no API key. Only offered when Muse TTS is detected; if the first segment fails, report and offer Mode A or C, never switch silently.

Cross-mode rules:

  • Narration is finished and user-approved BEFORE cues.json is locked — visual timing follows the sound, not the other way around.
  • API keys are secrets: offer an environment variable / credential field; warn that keys pasted in chat are stored in history; request a project-specific key with minimal usage limits; never write them into code, logs, READMEs, MP4s, or zips. Don't guess model_id/voice_id.
  • If mode C fails (key/quota/model unavailable): explain without leaking secrets, don't silently switch providers; offer reconfiguration or a version without narration.
  • Music & SFX remain mandatory in all modes — voice-over doesn't replace Phase 6.
  • Mode D follows the same approval rule: narration is finished and user-approved BEFORE cues.json is locked. Mode D segment files are never regenerated after cues lock without re-measuring durations and re-running make_cues.py.
  • cues.json stores an optional voiceover block (audioFile, wordTimings, source: elevenlabs / whisperx / user-supplied / muse-tts + source timestamps). Fields may be absent (mode A); if present, Gate D must validate them. For muse-tts, wordTimings is absent and timing lives in segmentTimings (per-segment measured durations) plus phrase-level captions. Details in references/05-audio-design.md.

Anti-slop — style hard lines

  • Visual treatment: see Agent style freedom above. Any visual treatment is allowed when it serves the message and the plan records the reason; ornament with no purpose is a QA note, not a banned list.
  • Body text contrast target 4.5:1.
  • One video = one new concept. The visual metaphor proves the promise, it's not decoration. Never assemble a video just by pasting side-by-side components/elements (see references/elements-ecosystem.md for rules on using external elements).
  • No narration-less feature-list enumeration, no lorem placeholder content, no large ALL-CAPS, no walls of small text, no long durations from naming features one by one.
  • Every scene must advance the story the agent defined in the plan. QA checks the flow against the plan; a deliberate uniform flow noted in the style paragraph is not monotony.

Quick flow (summary; details in each reference)

  1. Read the user's brief/references, look for licensed assets → ask once (one numbered message with a/b/c options, including the voice-over A/B/C question, plus Mode D when Muse is detected).
  2. Do labeled fact research; build the concept + beat plan + transition plan + music plan.
  3. Validate & run templates/make_cues.py plan.json --out src/cues.json → src/cues.json = THE single source of timing for the Remotion composition, audio scripts, subtitles, and QA. The validator enforces scene cycle & transition-variety rules mechanically — fix the plan, don't bypass it.
  4. Set up Remotion (or the HTML+ffmpeg fallback, Plan C in Muse, see references/04 section 5.5), copy templates/helpers.tsx to src/helpers.tsx, write scenes from the motion plan (FPS/dimensions from cues.json).
  5. Audio: music+SFX synthesized from code (numpy/scipy), voice-over per mode A/B/C, or Mode D per section 6.6 when selected in Muse, loudnorm −14 ±1 LUFS / TP ≤ −1.2 dBFS.
  6. Evidenced 5-gate QA (qa/report.md + qa/checks.json, status PASS / FAIL / UNVERIFIED / NOT APPLICABLE + reason) on the final MP4.
  7. Handoff: MP4 + a report of max 8 lines + an offer of specific revisions.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.