GitHub - adithya-s-k/manim_skill: Agent skills for Manim to create 3Blue1Brown style animations.
Service

GitHub - adithya-s-k/manim_skill: Agent skills for Manim to create 3Blue1Brown style animations.

adithya-s-k
2026.01.26
·GitHub·by 네루
#Manim#Animation#AI Agent#Python#3D

Key Points

  • 1This repository provides agent skills and battle-tested best practices for creating mathematical animations using both Manim Community Edition and ManimGL.
  • 2It offers comprehensive guidelines, code examples, and installation instructions, highlighting key differences and common patterns for each distinct Manim framework.
  • 3Integrated with skills.sh, this resource equips AI coding agents with domain-specific knowledge, anti-patterns, and troubleshooting tips to streamline Manim animation development.

The adithya-s-k/manim_skill repository provides a comprehensive suite of "Agent Skills" designed to enhance AI coding agents' capabilities in generating 3Blue1Brown-style mathematical animations using the Manim animation engine. This resource centralizes battle-tested code examples, best practices, common patterns, and framework-specific knowledge for two distinct Manim versions: Manim Community Edition and ManimGL.

The core methodology involves integrating these curated knowledge bases as "Skills" consumable by AI agents via the skills.sh open standard. Users can install specific skills for Manim Community (manimce-best-practices) or ManimGL (manimgl-best-practices), or both, using the npx skills add command (e.g., npx skills add adithya-s-k/manim_skill/skills/manimce-best-practices). Once installed, these skills automatically activate within AI assistant environments (such as Claude, GitHub Copilot, or Cursor) based on contextual cues. For instance, the manimce-best-practices skill activates upon detecting from manim import *, usage of the manim CLI, or engagement with Scene classes, mathematical animations, or LaTeX rendering. Similarly, manimgl-best-practices activates with from manimlib import *, manimgl CLI usage, or work involving InteractiveScene, 3D rendering, or camera frame control.

The repository's structure is modular, with separate directories for Manim Community (skills/manimce-best-practices/) and ManimGL (skills/manimgl-best-practices/). Within each, an SKILL.md file defines skill metadata, and a rules/ directory contains individual best practice guides organized by topic (e.g., animations.md, scenes.md, mobjects.md for Manim Community; 3d.md, camera.md, interactive.md for ManimGL). Each .md file within these rule directories is a self-contained unit, offering:

  • Specific best practices for Manim features.
  • Working code examples that are rigorously tested.
  • Common usage patterns and design considerations.
  • Identified pitfalls and anti-patterns to avoid.
  • Details on API differences between the two Manim versions where relevant.

Prerequisites for Manim installation include Python 3.7+, FFmpeg for video encoding, and a LaTeX distribution (e.g., TeX Live, MiKTeX, MacTeX). Both Manim versions can be installed via pip (e.g., pip install manim for Community Edition or pip install manimgl for ManimGL) or the uv package manager.

Key technical differences between Manim Community and ManimGL are explicitly outlined:

  • Import Statements: Manim Community uses from manim import *, while ManimGL uses from manimlib import *.
  • CLI Commands: manim for Community, manimgl for GL.
  • Scene Base Classes: Scene, MovingCameraScene in Community; Scene, InteractiveScene in GL.
  • Animation Creation: Create() in Community; ShowCreation() in GL.
  • Text Classes: Text(), MathTex() in Community; Text(), Tex() in GL.
  • 3D Rendering: Limited in Community, full OpenGL support in GL.
  • Interactive Mode: Not directly supported in Community, but available in GL via -se flag or .embed() method.
  • Camera Control: MovingCameraScene in Community; self.camera.frame in GL.
  • Configuration: Python config in Community; YAML files in GL.

The repository includes a testing framework to validate all code examples, executable via uv run python tests/<version>/test_all_skills.py (e.g., tests/manimce/test_all_skills.py). Contributions are welcomed, requiring adherence to the existing structure, working code examples, and passing tests. The entire repository is licensed under the MIT License, while acknowledging the separate licenses of the underlying Manim frameworks. Troubleshooting guidance is provided for common issues like "Command not found," LaTeX errors, video playback problems, and out-of-memory errors during parallel testing.