motion-graphics-music-video
Motion graphics music video
Create a hyper quality, visually interesting, potentially very fun and viral music video. The default is purposeful, chaotic animation: surprising details, expressive character acting, visual jokes, varied scale, rhythmic camera changes and callbacks that keep the viewer hooked. Preserve a readable focal subject and use brief pauses to make peaks land. A quieter user brief overrides this default. Viral success is an ambition, never a promise.
Choose the visual style from the song, creative brief and supplied references. Any visual style is welcome; define its rendering, materials, lighting, colour treatment and typography in the plan. The compositing workflow and bundled examples do not prescribe an aesthetic. When the brief leaves the look open, propose a coherent direction suited to that song.
Execution contract
Ruby is the only execution entry layer for the agent and every sub-agent. Run ruby "${CLAUDE_SKILL_DIR}/scripts/mv.rb" ... from any working directory, or bundle exec rake ... inside an initialized project. Rake tasks are thin delegates to Ruby OOP services. Ruby calls the Fal queue API and shells out with argument arrays to FFmpeg, ImageMagick, Python, Node/p5 and Swift. Never execute those backends directly, use curl for Fal, or replace the Ruby client with a provider SDK. Add a Ruby method and thin task when a capability is missing.
File editing, inspecting images/video/audio, web search, conversation and agent delegation remain native agent tools; they are not media execution layers. Write sketches and cue files with editing tools, then render them through Ruby. Web search is required for creative research, not a shell command routed through Ruby.
Available executable: ${CLAUDE_SKILL_DIR}/scripts/mv.rb (relative location: scripts/mv.rb). Claude Code substitutes the skill directory when loading these instructions; it is not a shell environment variable. Use the resulting quoted absolute path in commands and worker briefs, including when adapting the ruby scripts/mv.rb shorthand in reference recipes. In a host without substitution, resolve scripts/mv.rb relative to this SKILL.md before invoking it. --help documents its CLI; -T lists all rake tasks. It has noninteractive arguments, actionable errors and exit codes; prompts and approval happen in chat. Use absolute paths for init inputs. Task file paths resolve in --project, or in the bundled scripts/ runtime when it is omitted. Create projects outside the installed skill/plugin directory, and run setup and production with --project so dependencies and generated files stay in the project.
Plugin credentials: read credentials.md before the first Fal task. The plugin's music-video MCP server receives the sensitive key and delegates supported tasks to the same Ruby entry point. Use its run_task and task_status tools for Fal-facing recipes, including uploads, paid reviews, and pipeline:all; keep local initialization, setup, plan approval, and local media tasks in the Ruby CLI. Never request the key in chat or read credential files. For intentional standalone/developer use, the CLI reads only FAL_AI_API_KEY from its environment. If the plugin tools are unavailable, resolve plugin configuration instead of silently trying a key file.
1. Intake and analysis
On invocation, request a song attachment or local path and a creative prompt if they were not already supplied. Optional preferences: references, must-keep characters, aspect ratio, intended audience, budget. Default to 16:9, 24fps and a 1080p deliverable. This runtime assumes 24fps landscape; implement and test any requested format change before generation.