manim-narrationlisted
Install: claude install-skill furkankoykiran/.claude
# Manim Narration
A 30–120s narrated MP4 with synchronized voice, cinematic transitions, and
optional live-website screenshots — playable in any modern player including
VSCode's preview pane.
Narration comes from Microsoft edge-tts (free, no API key); ffmpeg re-encodes the
audio so the MP4 plays reliably in VSCode, Chromium and Electron previews. The
`NarratedScene` base class exposes a `narrate(text)` context manager paced to the
real audio duration. Screenshots declared with `# ASSET:` manifest comments are
pre-fetched through gstack `/browse`, so a video can show live websites, GitHub
PRs, dashboards or IDE views without manual capture.
Composes with `manimce-best-practices` for animation idioms. **Not for ManimGL** —
use `manimgl-best-practices` there; it has no narration support.
Dependencies are installed by `~/.claude/install.sh`: `manim` and `edge-tts` from
pip, `ffmpeg`/`ffprobe` from the system, and gstack (optional, for screenshots).
## When to invoke
- "make a narrated manim video about X"
- "explain Y in a 60s manim animation with voice"
- "PR walkthrough video for <github URL>"
- "anlatımlı manim videosu yap"
## Quick usage
1. Subclass `manim_narration.lib.voiceover_scene.NarratedScene`.
2. Wrap each beat: `with self.narrate("Sentence here.") as t: ...`
3. (Optional) Add `# ASSET: <slug> | <url> | viewport=WxH | clip=<css>`
manifest comments. Run the visuals pre-fetch before rendering.
4. Render with `manim -qh`, then re-encode audio with ffmpeg per REN