Assemble a song-driven music-video ad from a config — a generated sung track carries the whole narration across N tableaux (one keyframe -> one i2v clip per lyric beat) with NO separate voiceover, captions synced to the song's OWN word timings (script-window, never Whisper) and the hook word landing on the chorus drop, closed on a PIL brand end card. This is the FREE deterministic assembly stage (clip cut-to-timeline + captions + end card + FFmpeg composite); the song, keyframes, and clips come from create-music-elevenlabs / create-image-fal / create-video-fal. Use for the song-driven-music-video format.
npx skills add https://github.com/gooseworks-ai/goose-skills --skill render-song-mv
Assemble a song-driven music-video ad from a config: a purpose-written, sung song is
the entire narration (no separate voiceover), and every visual beat is timed to the lyrics.
The delivered song sets the timeline; N tableaux (one keyframe → one image-to-video clip per
lyric beat, all in a single look pack) are cut to their lyric windows and hard-concatenated
on the beat, captions are built from the song's OWN word timings with the hook line landing
on the chorus drop, and the spot closes on a PIL brand end card. It reads like a tiny animated
music video, not a demo. scripts/config.example.json is the worked example (Loóna "Fall In
Love With Sleep Again", 28s paper-craft 9:16); scripts/PIPELINE.md maps every config block
to its step and scripts/README.md documents the free assembly.
This is the FREE, deterministic assembly stage — it spends nothing. The three paid
inputs are separate capabilities: the sung song (create-music-elevenlabs, music_v1,
force_instrumental FALSE — the lyrics ARE the script, returns mp3 + words.json), one
keyframe per tableau (create-image-fal), and one Kling 3.0 i2v clip per tableau
(create-video-fal). Given the delivered song + words.json + one clip per beat,
render-song-mv cuts each clip to its lyric window, hard-concats on the beat, builds the
lyric-synced captions, composites the PIL end card, and muxes → the master. Re-cuts reuse
the existing song / keyframes / clips and cost $0.
IS the bed and the script (force_instrumental false); do not add a spoken voiceover or a
second music bed.
overshoots length; snap every tableau boundary to the lyric-phrase edges in the returned
word timings (timeline.json) — never trim the song to a pre-planned grid.
audio/words.json (~3 words at lyric boundaries); accent words get the warm-glow color.
Whisper on sung audio returns "🎵 Music Playing 🎵", so it can't caption lyrics.
is_hook) is timed so thepayoff word (song.hook_word) sits on the chorus drop; accent that word in the captions.
style_opener + negative_tail + palette drivesevery keyframe so N beats read as one film; no morph within a clip.
(one optional match-cut into the hero reveal).
composited deterministically (brand gradient + circular app icon + wordmark + tagline + CTA)
from the brand's real asset; a diffusion model garbles a wordmark.
the final window, mux the song, boost the climax beat, loudnorm to −14 LUFS → 1080×1920
h264+aac. No paid calls, no keys.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.
Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.
This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.
Take gooseworks-ai/render-song-mv from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.