AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Manim

skill-amitsubhash-3brown1blue-skill · by AmitSubhash

Use when the user wants to create mathematical animations, research paper explainer videos, equation derivations, 3D visualizations, or any programmatic animation with Manim. Also trigger when the user mentions "3Blue1Brown style", "animate this equation", "explain this paper visually", or wants to render LaTeX equations as video.

— No reviews yet
0 installs
37 views
0.0% view→install

Install

$ agentstack add skill-amitsubhash-3brown1blue-skill

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-amitsubhash-3brown1blue-skill)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Manim? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

When to use

Trigger this skill when:

  • User wants to create a mathematical animation or render an equation as video
  • User asks to explain a research paper visually or create an explainer video
  • User mentions Manim, 3Blue1Brown, or mathematical visualization
  • User wants to animate a derivation, diagram, pipeline, or architecture
  • User needs Remotion + Manim integration for a production video

Default to Manim Community Edition (pip install manim) unless the user specifically needs ManimGL's interactive features.

Gotchas (read these first)

These are the most common failures. Load [rules/troubleshooting.md](rules/troubleshooting.md) for the full list.

  1. Create(Text(...)) looks wrong -- use Write() for text. Create() traces outlines.
  2. Arrow with interpolate_color() crashes -- use a plain color constant, adjust opacity separately.
  3. Brace.get_text("label", font_size=24) crashes -- create Tex separately, use brace.put_at_tip().
  4. MathTex(r"$E=mc^2$") crashes -- MathTex is already math mode. Drop the $. Use Tex for mixed text+math.
  5. Transform(A, B) then animating B does nothing -- B was never added. Use ReplacementTransform.
  6. Chained Transform(a,b) then Transform(a,c) -- a is still the scene object. b and c are ghosts. Use ReplacementTransform each step.
  7. LaggedStartMap(Write, group) crashes -- use LaggedStart(*[Write(m) for m in group]).
  8. Updaters freeze during self.wait() -- add frozen_frame=False.
  9. .animate.shift(R).scale(2) != .animate.scale(2).shift(R) -- chain order matters after scaling.
  10. get_part_by_tex("missing") returns None silently -- check before calling .set_color() on the result.
  11. reference = mob is NOT a copy -- use mob.copy() for independent objects.
  12. Transparent background -- mp4 has no alpha. Use --format webm -t.
  13. VGroup.add(mob.animate.move_to(...)) crashes -- .animate returns an _AnimationBuilder, not a VMobject. Only use .animate inside self.play().
  14. Group.save_state() crashes -- Group does not support save_state()/restore(). Convert to VGroup first, or manually store and restore positions.

Scripts and Templates

Claude can copy and adapt these starter files instead of writing from scratch:

  • [scripts/safemanim.py](scripts/safemanim.py) -- drop-in wrappers that prevent the 6 crash gotchas (import instead of raw Manim calls)
  • [scripts/renderscene.sh](scripts/renderscene.sh) -- render a single scene with quality selection
  • [templates/style.py](templates/style.py) -- shared color palette and helper functions for any project
  • [templates/equationexplainer.py](templates/equationexplainer.py) -- dim-and-reveal equation scene template
  • [templates/paperexplainer.py](templates/paperexplainer.py) -- 5-section paper explainer scaffold

Quick Start

from manim import *

class MyScene(Scene):
    def construct(self):
        eq = MathTex(r"e^{i\pi} + 1 = 0")
        self.play(Write(eq))
        self.wait()
manim -pql scene.py MyScene    # preview, low quality (fast)
manim -pqh scene.py MyScene    # preview, high quality (1080p)

Rule Files

Load the relevant rule file for the task at hand. Claude should read only what it needs, not all files at once.

Core (read first if unfamiliar with Manim)

  • [rules/first-scene-tutorial.md](rules/first-scene-tutorial.md) -- install, hello world, render commands
  • [rules/mobjects.md](rules/mobjects.md) -- Mobject hierarchy, positioning, styling, VGroup
  • [rules/animations.md](rules/animations.md) -- animation lifecycle, Transform, rate functions, composition
  • [rules/scene-lifecycle.md](rules/scene-lifecycle.md) -- Scene types, construct(), play/wait/add/remove

Equations and Math

  • [rules/equations.md](rules/equations.md) -- MathTex, submobjects, {{ }} notation, TransformMatchingTex
  • [rules/equation-derivations.md](rules/equation-derivations.md) -- dim-and-reveal, step-by-step, worked examples
  • [rules/graphs-plots.md](rules/graphs-plots.md) -- Axes, plots, parametric curves, BarChart
  • [rules/matrices-linalg.md](rules/matrices-linalg.md) -- Matrix, linear transformations
  • [rules/decorations.md](rules/decorations.md) -- SurroundingRectangle, Brace, Arrow annotations

Dynamic and 3D

  • [rules/updaters-trackers.md](rules/updaters-trackers.md) -- ValueTracker, addupdater, alwaysredraw
  • [rules/three-d.md](rules/three-d.md) -- ThreeDScene, camera angles, surfaces, 3D shapes
  • [rules/moving-camera.md](rules/moving-camera.md) -- MovingCameraScene, zoom, pan, follow

Visual Design (read for any explainer video)

  • [rules/explanation-design.md](rules/explanation-design.md) -- READ FIRST when deciding scene CONTENT. Three principles for designing the explanation itself, from Grant Sanderson's "Designing Math" talk: ask "what does it look like?", give every symbol a motivation, motivate with the most surprising application. One object, several representations, one question each.
  • [rules/pedagogy-checklist.md](rules/pedagogy-checklist.md) -- A checklist for judging when an explanation is pedagogically done, not just rigorous, from Grant Sanderson's JMM 2023 award lecture and the SoME rubric: motivating example before each definition, rediscoverable proofs, concrete before abstract, a problem before instruction, raise the ceiling while lowering the floor.
  • [rules/visual-design-principles.md](rules/visual-design-principles.md) -- 17 core principles from Tufte, Bret Victor, 3Blue1Brown: opacity layering, persistent context, geometry before algebra, question frames, concrete values, density ramp, monospace text
  • [rules/visual-design-catalog.md](rules/visual-design-catalog.md) -- 35 implementable patterns from 3b1b frame analysis + production learnings: probability sidebars, skip arcs, grid fills, interactive sliders, heatmaps, live pipeline data flow, linked dual panels, camera zoom detail, and more

Video Production

  • [rules/scene-planning.md](rules/scene-planning.md) -- START HERE for multi-scene videos. Layout templates, scene plans, agent prompt structure, style.py contract
  • [rules/paper-explainer.md](rules/paper-explainer.md) -- explainer video structure, domain patterns
  • [rules/production-quality.md](rules/production-quality.md) -- spatial layout, alignment, container bounds, data viz minimums, pre/post-render quality checks
  • [rules/voiceover.md](rules/voiceover.md) -- voiceover backends, teaching text, beat-aware narration, CLI workflow
  • [rules/animation-design-thinking.md](rules/animation-design-thinking.md) -- pacing, narration sync, animate vs static
  • [rules/project-organization.md](rules/project-organization.md) -- multi-scene projects, style.py, render scripts
  • [rules/remotion-integration.md](rules/remotion-integration.md) -- Manim + Remotion pipeline

Reference

  • [rules/config-rendering.md](rules/config-rendering.md) -- quality presets, CLI flags, output formats
  • [rules/color-palettes.md](rules/color-palettes.md) -- accessible palettes, color operations
  • [rules/troubleshooting.md](rules/troubleshooting.md) -- common errors and fixes
  • [rules/manimgl-differences.md](rules/manimgl-differences.md) -- CE vs ManimGL comparison

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.