manimce-best-practices
Trigger when: (1) User mentions "manim" or "Manim Community" or "ManimCE", (2) Code contains `from manim import *`, (3) User runs `manim` CLI commands, (4) Working with Scene, MathTex, Create(), or ManimCE-specific classes. Best practices for Manim Community Edition - the community-maintained Python animation engine. Covers Scene structure, animations, LaTeX/MathTex, 3D with ThreeDScene, camera control, styling, and CLI usage. NOT for ManimGL/3b1b version (which uses `manimlib` imports and `manimgl` CLI).
How do I install this agent skill?
npx skills add https://github.com/adithya-s-k/manim_skill --skill manimce-best-practicesIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill is a comprehensive set of rules, templates, and examples for using the Manim Community Edition (ManimCE) library. It provides high-quality guidance for mathematical animations without any security risks.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
37 files scanned · No issues
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
How to use
Read individual rule files for detailed explanations and code examples:
Core Concepts
- rules/scenes.md - Scene structure, construct method, and scene types
- rules/mobjects.md - Mobject types, VMobject, Groups, and positioning
- rules/animations.md - Animation classes, playing animations, and timing
Creation & Transformation
- rules/creation-animations.md - Create, Write, FadeIn, DrawBorderThenFill
- rules/transform-animations.md - Transform, ReplacementTransform, morphing
- rules/animation-groups.md - AnimationGroup, LaggedStart, Succession
Text & Math
- rules/text.md - Text mobjects, fonts, and styling
- rules/latex.md - MathTex, Tex, LaTeX rendering, and coloring formulas
- rules/text-animations.md - Write, AddTextLetterByLetter, TypeWithCursor
Styling & Appearance
- rules/colors.md - Color constants, gradients, and color manipulation
- rules/styling.md - Fill, stroke, opacity, and visual properties
Positioning & Layout
- rules/positioning.md - move_to, next_to, align_to, shift methods
- rules/grouping.md - VGroup, Group, arrange, and layout patterns
Coordinate Systems & Graphing
- rules/axes.md - Axes, NumberPlane, coordinate systems
- rules/graphing.md - Plotting functions, parametric curves
- rules/3d.md - ThreeDScene, 3D axes, surfaces, camera orientation
Animation Control
- rules/timing.md - Rate functions, easing, run_time, lag_ratio
- rules/updaters.md - Updaters, ValueTracker, dynamic animations
- rules/camera.md - MovingCameraScene, zoom, pan, frame manipulation
Configuration & CLI
- rules/cli.md - Command-line interface, rendering options, quality flags
- rules/config.md - Configuration system, manim.cfg, settings
Shapes & Geometry
- rules/shapes.md - Circle, Square, Rectangle, Polygon, and geometric primitives
- rules/lines.md - Line, Arrow, Vector, DashedLine, and connectors
Working Examples
Complete, tested example files demonstrating common patterns:
- examples/basic_animations.py - Shape creation, text, lagged animations, path movement
- examples/math_visualization.py - LaTeX equations, color-coded math, derivations
- examples/updater_patterns.py - ValueTracker, dynamic animations, physics simulations
- examples/graph_plotting.py - Axes, functions, areas, Riemann sums, polar plots
- examples/3d_visualization.py - ThreeDScene, surfaces, 3D camera, parametric curves
Scene Templates
Copy and modify these templates to start new projects:
- templates/basic_scene.py - Standard 2D scene template
- templates/camera_scene.py - MovingCameraScene with zoom/pan
- templates/threed_scene.py - 3D scene with surfaces and camera rotation
Quick Reference
Basic Scene Structure
from manim import *
class MyScene(Scene):
def construct(self):
# Create mobjects
circle = Circle()
# Add to scene (static)
self.add(circle)
# Or animate
self.play(Create(circle))
# Wait
self.wait(1)
Render Command
# Basic render with preview
manim -pql scene.py MyScene
# Quality flags: -ql (low), -qm (medium), -qh (high), -qk (4k)
manim -pqh scene.py MyScene
Key Differences from 3b1b/ManimGL
| Feature | Manim Community | 3b1b/ManimGL |
|---|---|---|
| Import | from manim import * | from manimlib import * |
| CLI | manim | manimgl |
| Math text | MathTex(r"\pi") | Tex(R"\pi") |
| Scene | Scene | InteractiveScene |
| Package | manim (PyPI) | manimgl (PyPI) |
Jupyter Notebook Support
Use the %%manim cell magic:
%%manim -qm MyScene
class MyScene(Scene):
def construct(self):
self.play(Create(Circle()))
Common Pitfalls to Avoid
- Version confusion - Ensure you're using
manim(Community), notmanimgl(3b1b version) - Check imports -
from manim import *is ManimCE;from manimlib import *is ManimGL - Outdated tutorials - Video tutorials may be outdated; prefer official documentation
- manimpango issues - If text rendering fails, check manimpango installation requirements
- PATH issues (Windows) - If
manimcommand not found, usepython -m manimor check PATH
Installation
# Install Manim Community
pip install manim
# Check installation
manim checkhealth
Useful Commands
manim -pql scene.py Scene # Preview low quality (development)
manim -pqh scene.py Scene # Preview high quality
manim --format gif scene.py # Output as GIF
manim checkhealth # Verify installation
manim plugins -l # List plugins
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/adithya-s-k/manim_skill/manimce-best-practices">View manimce-best-practices on skillZs</a>