paint-mv-skills
Four skills turn a song with lyrics into a watercolour animated music video: storyboard, parallel painters and render.
- 61 ★ on the repository
- Last commit
Extended access
Why this level
- The setup script downloads third-party code from GitHub and applies a patch to it.
- Rendering starts Chrome and ffmpeg and writes large files.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/paint-mv-skillsDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The setup script downloads third-party code from GitHub and applies a patch to it.
- Rendering starts Chrome and ffmpeg and writes large files.
This is third-party code. Review the repository files before installing.
What it does
A set of four skills takes song audio and lyrics and produces a hand-painted watercolour animated music video as MP4. Every frame is a function of song time: p5.js and p5.brush paint watercolour and ink in headless Chrome, and ffmpeg joins the frames with the audio. The skills split by role: `paint-mv` runs the project, beat timing and final assembly, `paint-mv-storyboard` writes a storyboard from the lyric lines, `paint-mv-animate` sets rules for painter subagents and `paint-mv-render` checks contact sheets and runs a resumable render with local repainting. The style is fixed, while story, characters and sets are designed anew for each song. You need Node.js 18, ffmpeg, Chrome, `git` and `patch`. Lyrics without timing need `uv`, which runs alignment through faster-whisper.
Who it is for. Musicians and clip authors who want animation for their song and are ready to refine the result with edits.
Good fit when
- You have a track with lyrics and need a clip without an animator.
- You need to split a song into scenes and give each verse its own visual idea.
- A long render crashed and has to resume where it stopped.
- One scene in a finished clip must be repainted without recomputing everything.
Not a fit when
- You want a different visual style: the watercolour look is fixed.
- The machine has no Chrome and ffmpeg.
- You need a clean license for the engine: the original sources are not part of the repository.
Example request
Make a music video from song.mp3 with lyrics.lrc: storyboard by lines first, then a short test render.Limitations
The engine and painting modules of the original PDoomVideo are not in the repository because that project has no license. The `fetch_upstream.mjs` script downloads them from GitHub at a pinned commit during setup and applies `template.patch`. This means you run someone else's code, so read it first. The repository license is not defined in the metadata. The clip is rendered frame by frame, so a long song takes hours of rendering, and the description and examples are written in Chinese. The last commit was on 29 September 2026.
How to disable. Delete the four `paint-mv*` skill folders from the agent skills directory. Downloaded engine files live in the cloned repository directory and are removed with it.
FAQ
What do I need for a clip?
A song file and lyrics, preferably with timing as `.lrc` or `.srt`. Plain lyrics are aligned first with `align_lyrics.py`.
Can I run it by hand without an agent?
Yes: `node skills/paint-mv/scripts/new_project.mjs my-mv --audio=song.mp3 --lyrics=lyrics.srt`, then `node render.mjs --frames=0:<seconds> --workers=4` and `node render.mjs --encode --out=out/mv.mp4`.
Where does the original engine come from?
The `fetch_upstream.mjs` script downloads it from GitHub at a pinned commit and applies a patch: macOS support, CJK fonts and karaoke sweep speed.
Where is an example?
`demo/` holds a full clip project, "Midnight Studio": storyboard, characters, sets and five chapters.
Which agents does it install into?
Into Cursor and Claude Code: put the four folders from `skills/` into `.cursor/skills/` or `.claude/skills/`. The repository has symbolic links.
Discussion
No questions or reviews yet.
Related
SkillsA skill that makes a music video for your song: every frame is drawn by code and six steps with pauses lead from analysis to edit
A Claude Code skill for hand-painted animation and lyric videos: frames drawn in code with p5.js, no image models
A skill that takes Claude Code from a song and lyrics to a finished Vocaloid-style lyric video, rendered in a browser.
Two Claude Code skills for videos made entirely in code: hand-painted watercolour animation and kinetic typography reels
A Claude Code skill for short animated videos drawn in code: seven styles, story and storyboard sign-off, voice-over and an MP4 render
A skill that turns your narration and real assets into a 20–60 second video in the style you pick, rendered locally as MP4.
README in short
The skills lead from song audio and lyrics to an MP4 in a watercolour style. Parallel subagents paint the animation and a render can resume after a failure.