bassimeledath/manim-video-maker/manimate
Claude Code and agent skill by bassimeledath/manim-video-maker
- community
Checking that the SKILL.md file is still in the repository.
Generate diagram and animation videos from natural language descriptions using Manim. Outputs MP4 (default) or GIF on request.
Install
npx vskill@latest install bassimeledath/manim-video-maker/manimateSKILL.md
/manimate — Manim Animation Video Maker
Generate diagram and animation videos from natural language descriptions using Manim. Outputs MP4 video by default; GIF available on request.
Usage
Pipeline
When the user invokes /manimate, execute these 12 steps in order:
Step 1: Parameter Inference
Parse the user's prompt and infer rendering parameters:
| Parameter | Range | Default | How to infer | |
|---|---|---|---|---|
scenes | 1-6 | 2 | Count distinct concepts/steps/phases in the prompt | |
quality | l/m/h | h | Default high; use medium for quick drafts | |
format | gif/mp4/both | mp4 | Default mp4; use gif or both only if user explicitly requests GIF | |
style | educational/minimal/cinematic | educational | Infer from the tone/subject | |
duration_per_scene | 5-15s | 8 | Longer for complex concepts, shorter for simple transitions |
Write to $WORK_DIR/params.json:
Write $WORK_DIR/manim.cfg:
Why `renderer = cairo`: Cairo is the safe default for headless/CI environments. It requires no GPU, no display server, and no OpenGL context.
Step 2: Preflight Checks
Verify dependencies and set pipeline-wide capability flags:
Create a run-scoped working directory to allow concurrent pipeline executions:
`WORK_DIR` is the pipeline root for this run. All subsequent steps reference$WORK_DIRinstead of a hardcoded.manimatepath. This prevents data loss when multiple/manimateinvocations run concurrently.
Pipeline-wide LATEX_AVAILABLE flag: Whenfalse, scene code must NOT use MathTex or Tex — use Text() for all text, including math expressions. Render equations as Unicode or ASCII.
Step 3: Story Decomposition
Break the prompt into scenes. Each scene specifies visual elements, animations, and narrative arc.
Default to SVG icons for every real-world concept. For each scene, identify concepts that can be icons and add them to asset_manifest. Every video should have at least 2 SVG assets — if the manifest is empty, revisit the decomposition.
Use basic Manim shapes only for: array cells, flowchart boxes, graphs/axes, code blocks, containers, math expressions. Everything else gets an SVG.
Write $WORK_DIR/story.json with a top-level asset_manifest and per-scene svg_assets referencing manifest keys:
`asset_manifest` schema: Each key is an asset ID (snake_case). Fields:
description— what the icon depicts, enough detail for accurate SVG generationviewbox— SVG viewBox (tall:"0 0 80 100", square:"0 0 64 64", wide:"0 0 100 60")primary_color_token— which palette token to use as the main fill (PRIMARY,ACCENT,HIGHLIGHT,SUCCESS,NEGATIVE)used_in— list of scene IDs that use this asset
Per-scene `svg_assets` is a list of asset IDs from the manifest (not freeform hints). If a scene needs no SVG assets, use an empty list [].
Asset density target: Aim for 1-2 SVG assets per scene, 3-6 per video. Scenes with SVG icons are dramatically more engaging than scenes with only basic shapes.
If no scenes need SVG assets (e.g., a pure math derivation), set asset_manifest to {} and all svg_assets to []. Steps 6-7 will no-op.
Continuity rules:
continuity_outof scene N must matchcontinuity_inof scene N+1- Shared visual elements should use identical styling constants
- Color palette must be consistent across all scenes (defined in
shared_style)
Pacing rules:
text_elementslists each text block with its approximate word count — used to calculate reading pausesestimated_reading_pausesis the total seconds ofself.wait()needed for reading time (sum ofmax(2, words / 3)for each text block)durationmust be >= animation time +estimated_reading_pauses— increase duration if needed to fit reading time- Use the formula: `self.wait(max(2, word_count / 3))` after every text appearance
Step 4: Outline Confirmation
Before generating any code, present the story outline to the user for review and approval.
Build a readable summary from `$WORK_DIR/story.json`:
Present this outline to the user and ask:
⛔ HARD STOP — Do NOT proceed past this point until the user explicitly approves.
After presenting the outline, STOP. Do not generate any code, write any files, or start any subsequent steps. Wait for the user to respond. This is a mandatory approval gate.
Revision loop:
- If the user requests changes, update
$WORK_DIR/story.jsonaccordingly (add/remove scenes, edit descriptions, adjust durations, etc.) and re-present the outline. - If the user changes the output format, update
$WORK_DIR/params.json(formatfield) and$WORK_DIR/manim.cfgto match. - Repeat until the user explicitly approves (e.g., "looks good", "approved", "go ahead", "yes").
Once — and ONLY once — the user explicitly approves, proceed to Step 5.
Step 5: Shared Preamble Generation
Generate $WORK_DIR/shared.py — a single module containing palette constants, helpers, and asset loading that all scenes import. This eliminates ~50 lines of duplicated boilerplate from each scene file.
Write `$WORK_DIR/shared.py` by copying the code block below VERBATIM. Do NOT change ANY hex value — not even the background tones (BG, SURFACE, BORDER). The exact hex codes below are the Creative Chaos brand palette and must appear character-for-character in the generated file:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
- semgrepPassed, 100 of 100
- njsscanPassed, 100 of 100
- trufflehogPassed, 100 of 100
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingSKILL.md
Popularity
- 7-day trend score
- 0
Refreshed 11 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bassimeledath/manim-video-maker/manimate)