Agent skill

Manim Voice Animation

by madhvantyagi in madhvantyagi/Gnos

Make Manim teaching animations with narration and subtitles when motion helps a concept.

MITAuto-check passedMedia & Creative

Install Manim Voice Animation

skills CLI
$ npx skills add madhvantyagi/Gnos --skill manim-voice-animation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install madhvantyagi/Gnos manim-voice-animation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/madhvantyagi/Gnos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/manim-voice-animation .claude/skills/manim-voice-animation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
manim-voice-animation
GitHub stars
339
Token cost
~1.8k tokens
SKILL.md length
846 words
Files
25 (incl. scripts, references)
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Make Manim teaching animations with narration and subtitles when motion helps a concept.

  • Works in 4 steps: Identify the learner's target action… → Load the selected subject reference and… → State the concept ID, prerequisite… → …
  • Tasks that involve Text to speech and voice
  • SKILL.md covers Start with GNOS context, Narration and timing, Render and review the artifact and Register the artifact, plus 1 more section
  • Runs Python scripts from its folder; calls python3

What it does

Manim Voice Animation is an agent skill from madhvantyagi/Gnos. Make Manim teaching animations with narration and subtitles when motion helps a concept.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 27 other files, including scripts and reference files (for example `components/__init__.py`, `components/illustrations.py` and `references/01_pedagogical_storyboard.md`).

It sits in Media & Creative, covering Text to speech and voice and Transcription. It works with Manim. The repository describes itself as: Teaching harness , help you to learn anything , It teaches like real teacher , design curriculum , generate videos , simulations , images , pdfs , tracks your learning style etc. The licence is MIT.

When your agent uses it

  • Tasks that involve Text to speech and voice
  • Tasks that involve Transcription

Example prompts

  • “/manim-voice-animation”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Identify the learner's target action (derive, predict, implement, or explain)
  2. Load the selected subject reference and one lead teacher. Read the active
  3. State the concept ID, prerequisite assumption, and one observable success
  4. Choose one change the learner needs to see: for example, a secant tending to

What it can do on your machine

Read from SKILL.md and the folder at commit 2c384f4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 5 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Manim Voice Animation loads about 1.8k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 28 tokens; SKILL.md has 846 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~28
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from madhvantyagi/Gnos at commit 2c384f4, republished under its MIT licence (© madhvantyagi). 846 words, ~1,766 tokens.

Download SKILL.mdSave it as .claude/skills/manim-voice-animation/SKILL.md (or your agent's skills folder). This skill also uses 24 other files; get the full folder from GitHub.
name
manim-voice-animation
description
Make Manim teaching animations with narration and subtitles when motion helps a concept.

Manim teaching animations

Use Manim when motion exposes a relationship the learner needs to inspect. A still diagram, runnable example, or source excerpt is the better representation when nothing meaningful changes.

Choose Manim during lesson design when motion teaches a change the learner needs to follow. Give it an animation or voice-animation lesson block with a clear purpose and production brief. Before building it, read skills/lesson-design/references/representation-choices.md for when motion helps and when a still or explanation is clearer.

Start with GNOS context

Treat the animation as a teaching artifact, not a generic explainer. Before writing scene code:

  1. Identify the learner's target action (derive, predict, implement, or explain) and the last step supported by evidence. Do not invent a learner record.
  2. Load the selected subject reference and one lead teacher. Read the active course only when it sets notation, sequence, or assessment; read the learner snapshot only when an identity and relevant evidence are established. A supporting subject supplies a named bridge, not a second narrator.
  3. State the concept ID, prerequisite assumption, and one observable success check in the storyboard notes or adjacent design file. Keep course notation and the teacher's voice consistent with the lesson.
  4. Choose one change the learner needs to see: for example, a secant tending to a tangent, a basis transforming, a force changing motion, or an algorithm changing state. Predict → show → explain → vary is useful when it serves the target, but is not a universal script.

Write the storyboard before scene code. Each scene needs a concept target, exact narration, visible objects, and the change each cue reveals. Use templates/storyboard_schema.json; validate IDs and cues before spending time on narration. Its duration is authored timing for a silent preview. Spoken durations come from measured clips or local recordings.

Narration and timing

Read references/02_voiceover_synchronization.md. scripts/cue_player.py is the timeline boundary: construct it with the scene, manifest path, and scene ID; call play(cue_id, *animations, run_time=...) once per cue; call finish(output_prefix) after all cues. It attaches each local clip at the current scene time, fills unused cue duration with a wait, applies pause_after, and exports actual cue starts to SRT and timing JSON. Do not reuse a cue or leave one unplayed. An animation must fit inside its cue.

Use the project's .venv/bin/python for the commands below when that environment is present. Check it before assuming packages missing from the system Python are unavailable. For a fresh environment, install this skill's requirements.txt there. Check dependencies without network calls:

bash
python3 skills/manim-voice-animation/scripts/setup_env.py

Narration generation uses an external provider only when explicitly requested:

bash
python3 skills/manim-voice-animation/scripts/voice_synthesizer.py \
  --storyboard path/to/storyboard.json --out output/topic/audio

--silent creates an honest preview manifest with authored durations and no speech. --audio-dir <folder> uses measured local files named SceneID_cue-id.mp3. Never call silence generated speech, send learner records to a voice provider, or hide a provider failure. Do not mux again after cue-timed audio is already in the scene.

Show full SKILL.md (376 more words)Show less

Render and review the artifact

bash
python3 skills/manim-voice-animation/scripts/linter.py scene.py
python3 skills/manim-voice-animation/scripts/render_pipeline.py \
  render scene.py MyScene -q l -o output/preview.mp4

Review the first frame, every conceptual transition, and the ending at actual playback size. Check that each spoken term points to the corresponding object, numbers agree with displayed equations and simulation state, labels stay in frame, and no updater remains attached after its section. For the final render, listen from beginning to end and check that every narration cue is present, audible, and aligned with its visual action. A silent render verifies choreography only; keep it draft, even if the video itself renders correctly. Use a higher quality only after the low-quality preview is correct.

Register the artifact

The viewer page shows the topic's manim chip as ready only after the video is registered. First render with real recorded or synthesized narration attached to the scene timeline, or mux a whole track made for the exact visual sequence. Review the resulting MP4 with sound. Copy that voiced render into the course workspace, then register it. In the example, output/voiced.mp4 means your actual final render; the preview command above does not create that filename automatically:

bash
cp output/voiced.mp4 learners/<learner>/courses/<course-id>/artifacts/videos/<slug>.mp4
python3 skills/course-design/scripts/manage_artifact.py --learners-root learners \
  register <learner-id> <course-id> --file artifact.json

The artifact file uses type: voice-animation, mime_type: video/mp4, the topic's lesson_id, and status: ready. Registration checks that a ready voice-animation or animation is a local MP4 with a video stream and a decodable audio stream; a silent preview or invalid file is rejected. This mechanical check cannot establish that the audio is narration, so the listening review above is still required. Keep silent previews and unfinished renders as draft or failed with an honest note. Then re-render the page:

bash
python3 skills/course-viewer/scripts/render_viewer.py learners/<learner>/courses/<course-id>

Visual judgment

Keep the compared quantity visible and use a stable camera unless movement reveals structure. Prefer ValueTracker, DecimalNumber, and lightweight updaters over rebuilding MathTex or other expensive objects every frame. Tie displayed values to the same state as the geometry. Grids, halos, particles, and camera motion are optional signals; remove them when they compete with the concept. Check bounds against the chosen aspect ratio and clear updaters when objects leave the scene.

Read only the reference for the chosen scene:

The five subject templates are starting points, not verified lessons for every input. Start from the subject templates in templates/.

© madhvantyagi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 24 other files (scripts, references) in skills/manim-voice-animation of madhvantyagi/Gnos.

  • SKILL.md
  • components/__init__.py
  • components/illustrations.py
  • references/01_pedagogical_storyboard.md
  • references/02_voiceover_synchronization.md
  • references/03_math_proofs_calculus.md
  • references/04_linear_algebra_matrices.md
  • references/05_physics_mechanics_fields.md
  • references/06_cs_algorithms_graphs.md
  • references/07_3d_surfaces_camera.md
  • references/08_anti_patterns_curated_fixes.md
  • references/09_cinematic_depth_and_illustrations.md
  • requirements.txt
  • scripts/cue_player.py
  • scripts/linter.py
  • scripts/render_pipeline.py
  • scripts/setup_env.py
  • scripts/voice_synthesizer.py
  • … and 7 more

Open the folder on GitHubat commit 2c384f4

Compare with similar skills

Manim Voice Animation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Manim Voice Animation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Manim Voice Animation this skillmadhvantyagi/Gnos339—~1.8kAutomated safety check: PassMIT
Qiaomu Cutjoeseesun/qiaomu-cut-skill372—~6.8kAutomated safety check: NotesMIT
ShowtimeFavioVazquez/showtime220—~3kAutomated safety check: PassMIT
Media ProductionWrongStack/WrongStack371—~1kAutomated safety check: PassMIT
Edu Math Videowy51ai/edulab1.4k—~2.5kAutomated safety check: NotesApache-2.0
Elevenlabs Transcribeqdhenry/Claude-Command-Suite1.3k—~1.5kAutomated safety check: NotesNone

Similar skills

  • Qiaomu Cut

    joeseesun/qiaomu-cut-skill

    把一句话需求转成可复现、可验收视频工程的乔木智能剪辑导演。Use when the user asks to create, plan, edit, remix, explain, narrate, subtitle, animate, composite, or render a video—including one-line requests such as “制作一个科普视频:介绍…

    372 GitHub stars~6.8k tokensUpdated 13 days ago
    Media & CreativeAuto-check: notes
  • Showtime

    FavioVazquez/showtime

    A skill your agent uses when the user wants a video made, edited or finished: a launch or promo, product demo, explainer, trailer or teaser, tutorial or walkthrough, a screen recording turned into a…

    220 GitHub stars~3k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Media Production

    WrongStack/WrongStack

    Create and process finished videos with Remotion, Motion Canvas, Manim, FFmpeg or an available AI video provider.

    371 GitHub stars~1k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Edu Math Video

    wy51ai/edulab

    A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a math problem (数学题, geometry, algebra, functions, motion/行程 problems), from a problem screenshot…

    1.4k GitHub stars~2.5k tokensUpdated yesterday
    Media & CreativeAuto-check: notes
  • Elevenlabs Transcribe

    qdhenry/Claude-Command-Suite

    Transcribes audio/video files using ElevenLabs Scribe v2 API.

    1.3k GitHub stars~1.5k tokensUpdated 7 mo ago
    Media & CreativeAuto-check: notes
  • Video Assemble

    zenstory-ai/video-recap-skills

    合成视频解说最终成片:把旁白音频铺到源视频上,按旁白窗口压低原声,生成 SRT / ASS 字幕并可烧录, 最后做响度标准化。作为最终合成阶段使用。输入源视频、ttsmeta.json 与旁白位置; 输出 recap 成片和字幕。触发词:视频合成、混音、字幕、压字幕、assemble video、mux、ducking、subtitles、成片。

    561 GitHub stars~1.7k tokensUpdated 7 days ago
    Media & CreativeAuto-check passed

More from madhvantyagi/Gnos

All 12 skills in this repo
  • Course Design

    madhvantyagi/Gnos

    Design and revise a course's goal, progression, prerequisites, and sources.

    339 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Course Viewer

    madhvantyagi/Gnos

    Show an enrolled course and its lessons. An agent skill from madhvantyagi/Gnos.

    339 GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Khan Academy

    madhvantyagi/Gnos

    Find a Khan Academy video fast and add it only on a strong match.

    339 GitHub stars~814 tokensUpdated today
    Auto-check passed
  • Learner Tracking

    madhvantyagi/Gnos

    Record what the learner does and adapt the course to it in real time.

    339 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Lesson Design

    madhvantyagi/Gnos

    Develop the current topic into a connected lesson. An agent skill from madhvantyagi/Gnos.

    339 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • PDF

    madhvantyagi/Gnos

    Turn lesson content into a PDF handout; render and check it before delivery.

    339 GitHub stars~881 tokensUpdated today
    Auto-check passed

Works with

Questions about Manim Voice Animation

What does Manim Voice Animation do?

Make Manim teaching animations with narration and subtitles when motion helps a concept. Manim Voice Animation is an agent skill from madhvantyagi/Gnos. Make Manim teaching animations with narration and subtitles when motion helps a concept.

When should I use Manim Voice Animation?

Manim Voice Animation fits situations like: tasks that involve Text to speech and voice; tasks that involve Transcription.

How do I install Manim Voice Animation in Claude Code?

Run `npx skills add madhvantyagi/Gnos --skill manim-voice-animation -a claude-code`. Or copy the skill folder (skills/manim-voice-animation in madhvantyagi/Gnos) into .claude/skills/manim-voice-animation in your project. Claude Code loads it when a task matches its description.

How do I install Manim Voice Animation in Codex?

Run `npx skills add madhvantyagi/Gnos --skill manim-voice-animation -a codex`. Or copy the skill folder (skills/manim-voice-animation in madhvantyagi/Gnos) into .agents/skills/manim-voice-animation in your project. Codex loads it when a task matches its description.

Can I use Manim Voice Animation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add madhvantyagi/Gnos --skill manim-voice-animation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/manim-voice-animation, .gemini/skills/manim-voice-animation, .github/skills/manim-voice-animation and .opencode/skills/manim-voice-animation in your project.

What does Manim Voice Animation need to run?

Going by SKILL.md and its folder, Manim Voice Animation needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Manim Voice Animation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Manim Voice Animation safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Manim Voice Animation use?

Manim Voice Animation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Manim Voice Animation use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to Manim Voice Animation?

Skills that share tags, products or a category with Manim Voice Animation: Qiaomu Cut (joeseesun/qiaomu-cut-skill, 372 stars), Showtime (FavioVazquez/showtime, 220 stars), Media Production (WrongStack/WrongStack, 371 stars) and Edu Math Video (wy51ai/edulab, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Manim Voice Animation?

madhvantyagi (a GitHub user) maintains it in madhvantyagi/Gnos, which has 339 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 11, 2026.

Source: madhvantyagi/Gnos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.