Skip to content
Agentmart
Submit a tool

manim-video

Plan, script, render, and stitch Manim Community Edition videos in Python.

Skill by HybridAIOne

IndexedMIT★ 159
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/hybridaione-manim-video

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Plan, script, render, and stitch Manim Community Edition videos in Python. Use when the user asks for animated math explanations, algorithm walkthroughs, equation derivations, technical concept videos, 3Blue1Brown-style explainers, or programmatic educational motion graphics.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/manim-video

What's inside

Skill name
manim-video
Description
Plan, script, render, and stitch Manim Community Edition videos in Python. Use when the user asks for animated math explanations, algorithm walkthroughs, equation derivations, technical concept videos, 3Blue1Brown-style explainers, or programmatic educational motion graphics.
License
MIT
Instructions
282 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (14)

  • README.md
  • SKILL.md
  • openai.yaml · agents/
  • camera-and-3d.md · references/
  • equations.md · references/
  • graphs-and-data.md · references/
  • production-quality.md · references/
  • python-patterns.md · references/
  • rendering.md · references/
  • scene-planning.md · references/
  • troubleshooting.md · references/
  • updaters-and-trackers.md · references/
  • visual-design.md · references/
  • check_setup.py · scripts/

SKILL.md (first lines)

# Manim Video

Use this skill for Python-based Manim projects that need a clean planning phase, strong visual direction, reusable scene structure, and a deterministic render pipeline.

The output contract is usually a workspace project directory containing `plan.md`, `script.py`, `concat.txt`, draft renders, and optionally a stitched `final.mp4`.

## Creative Standard

This is educational cinema, not animated slides.

- Make it beautiful and professional. The draft should feel intentional, polished, and presentation-ready, not like a rough internal diagram dump.
- Before writing code, define the narrative arc: confusion -> visual hook -> mechanism -> payoff -> recap.
- Geometry before algebra. Show the shape, motion, system flow, or data change before the formal equation.
- Every scene teaches one dominant idea. If a scene has two unrelated claims, split it.
- Direct attention with opacity layering: primary elements at 1.0, contextual elements around 0.35-0.45, and structural elements like axes or grids around 0.12-0.2.
- Give reveals breathing room. Add `self.wait()` after every important animation and make the main aha moment the longest pause.
- Keep one cohesive visual language across the whole project: shared palette, shared timing constants, shared font rules, and stable concept-color meaning.
- Avoid repetitive scenes. Vary dominant color, layout, and entry animation across scenes while keeping the overall palette consistent.
- First-render quality matters. If the layout is cluttered, the typography is inconsistent, or the pacing feels rushed, the scene is not done.

## Modes

| Mode | Input | Output | Primary references |
|------|-------|--------|--------------------|
| Concept explainer | topic or feature | intuitive multi-scene explainer | `scene-planning.md`, `visual-design.md` |
| Equation derivation | symbolic expression or proof goal | stepwise animated derivation | `equations.md`, `python-patterns.md` |
| Algorithm visualization | algorithm or invariant | stepwise state evolution | `graphs-and-data.md`, `python-patterns.md` |
| Data story | metrics, counters, or comparisons | animated charts and deltas | `graphs-and-data.md`, `visual-design.md` |
| Architecture diagram | system or service flow | progressive build with data flow | `scene-planning.md`, `python-patterns.md` |
| Paper explainer | paper, abstract, or finding | hook -> method -> evidence explainer | `scene-planning.md`, `visual-design.md` |
| Camera or 3D explainer | spatial or geometric topic | moving-camera or 3D scene set | `camera-and-3d.md`, `visual-design.md` |

## Stack

Single Python script per project. No browser, no Node.js, no GPU requirement.

| Layer | Tool | Purpose |
|-------|------|---------|
| Core | Manim Community Edition | scene rendering and animation engine |
| Math | LaTeX via `MathTex` / `Tex` | equation rendering |
| Video I/O | ffmpeg | stitching, muxing, and format conversion |
| Narration | subtitles by default, voiceover optional | accessibility and pacing |
| Setup check | `check_setup.py` | host capability validation and install hints |

## Pipeline

`PLAN --> CODE --> RENDER --> STITCH --> AUDIO --> REVIEW`

- `PLAN`: write `plan.md` with the narrative arc, misconception, aha moment, palette, typography, and scene beats.
- `CODE`: write `script.py` with one independently renderable `Scene` subclass per clip.
- `RENDER`: draft render all scenes at `-ql` unless a real render blocker prevents it.
- `STITCH`: update `concat.txt` and stitch a draft video when `ffmpeg` is available.
- `AUDIO`: add narration or music only when the user asks for it or the project explicitly includes it.
- `REVIEW`: verify timing, readability, clean exits, and overall visual coherence before claiming the output is done.

## Creative Direction

### Color Palettes

| Palette | Background | Primary | Secondary | Accent | Use case |
|---------|------------|---------|-----------|--------|----------|
| HybridClaw Dark | `#0B1220` | `#7DA2FF` | `#9AB6FF` | `#7EE3A5` | default for systems, tools, and architecture |
| HybridClaw Light | `#F8FAFC` | `#4A6CF7` | `#3657E9` | `#15803D` | brighter docs-style explainer look |
| HybridClaw Neutral | `#111827` | `#E5EDF7` | `#93A4B8` | `#7DA2FF` | minimal or formal topics |

Start with a HybridClaw palette unless the user explicitly asks for a different visual language.

### Animation Speed

| Context | Typical `run_time` | Typical `self.wait()` after |
|---------|--------------------|-----------------------------|
| Title or intro hook | `1.2-1.8s` | `0.8-1.2s` |
| Key equation or mechanism reveal | `1.8-2.2s` | `1.5-2.5s` |
| Transform or morph | `1.2-1.8s` | `1.0-1.5s` |
| Supporting annotation | `0.6-1.0s` | `0.3-0.6s` |
| Fade-out cleanup | `0.4-0.7s` | `0.2-0.4s` |
| Aha moment | `2.0-2.8s` | `2.0-3.0s` |

### Typography Scale

| Role | Font size | Usage |
|------|-----------|-------|
| Title | `34-38` | scene titles and opening claims |
| Heading | `28-32` | section headers within a scene |
| Body | `20-24` | explanatory text |
| Label | `18-20` | annotations, axis labels, component names |
| Caption | `18` | subtitles and supporting notes |

### Font Rules

| Text type | Default choice | Notes |
|-----------|----------------|-------|
| Titles and sentence copy | `Text(..., font=SANS)` | prefer a clean sans like `SANS = "Avenir Next"` or another installed equivalent |
| Styled inline emphasis | `MarkupText(..., font=SANS)` | best for colored spans or bold fragments |
| Code-like labels | `Text(..., font=MONO)` | use `MONO = "Menlo"` only for identifiers, commands, chips, or short technical tags |
| Math | `MathTex(...)` / `Tex(...)` | requires LaTeX |

Minimum readable text size is `font_size=18`.

Text density rules:

- If more than 4 text elements are strongly visible, reduce body text toward `20-24` instead of `26-30`.
- Keep title/subtitle stacks to 2 text blocks. If a third block is needed, move it to a side label, caption, or a new scene.
- Clamp all titles before `.to_edge(...)`, for example `fit_text(title, max_width=11.0)`.
- Clamp any potentially long text block to the usable frame width instead of trusting the raw `font_size`.
- If a width-clamped title still feels oversized, lower it toward `34-36` or split it into 2 lines. Do not keep a full-sentence title at `48`.
- Do not write new text on top of old text in the same area. Use `ReplacementTransform`, `FadeOut`, or a layout shift first.
- Use `buff >= 0.5` for edge-positioned text so draft renders do not clip.

### Performance Targets

| Quality | Resolution | FPS | Use case |
|---------|------------|-----|----------|
| `-ql` | 854x480 | 15 | draft iteration and timing checks |
| `-qm` | 1280x720 | 30 | text-heavy preview and layout review |
| `-qh` | 1920x1080 | 60 | production export only |

## Default Workflow

From HybridAIOne/hybridclaw, MIT.

More from HybridAIOne/hybridclaw

Signals

Stars
159
Forks
17
Open issues
323
Last commit (this folder)
Apr 21, 2026 (6 months ago)
Last release
Oct 24, 2026 (3 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from HybridAIOne

Cite this page

manim-video skill. Agent Mart. https://agentmart.dev/skills/hybridaione-manim-video (last updated 2026-10-24)