/SKILL.md
Trigger when: (1) User mentions "paper video", "paper animation", "explainer video", or "Manim", (2) User has a PDF or LaTeX source and wants an animated breakdown of results or key findings, (3) User wants a social media clip or promo video for a paper launch. Full pipeline for turning any research paper into a polished animated explainer video using Manim Community Edition. Six phases: comprehend the paper, design a storyboard, extract data, optionally build a character, generate the Manim script, and render/export. NOT for slide decks (use scientific-slides) or static figures (use scientific-visualization).
npx skillsauth add ayushnangia/paper-to-animation paper-to-animationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Read individual rule files for detailed explanations and code examples:
Complete worked example demonstrating the full pipeline:
Copy and modify these to start new projects:
IMPORTANT: Use TaskCreate to create a task for EACH phase below.
Narrative first, code second. The storyboard drives everything.
Announce at start: "I'm using the paper-to-animation skill to build this video."
from manim import *
class PaperVideo(Scene):
def construct(self):
self.camera.background_color = "#0d1117"
# Scene sequence
self.scene_1_hook()
self.scene_wipe(target_pos=UL * 2.5)
self.scene_2_setup()
self.scene_wipe(target_pos=UR * 2.5)
self.scene_3_results()
self.scene_wipe(target_pos=DR * 2.5)
self.scene_4_insight()
self.scene_wipe_simple(target_pos=LEFT * 3.5)
self.scene_5_closing()
manim -ql script.py ClassName # Test (480p, fast)
manim -qh script.py ClassName # Final (1080p)
ffmpeg -i <mp4> -vf "fps=15,scale=720:-1:flags=lanczos,split[s0][s1]; \
[s0]palettegen=max_colors=196[p];[s1][p]paletteuse=dither=bayer" \
-loop 0 output.gif
LaggedStart lag_ratio: 0.07-0.15self.wait()| Feature | Manim Community (use this) | ManimGL (3b1b) |
|---------|---------------------------|----------------|
| Import | from manim import * | from manimlib import * |
| CLI | manim | manimgl |
| Creation | Create() | ShowCreation() |
| Text | Text(), MathTex() | Text(), Tex() |
| Package | pip install manim | pip install manimgl |
pip install manim
manim checkhealth # verify installation
Requires: Python 3.10+, ffmpeg, LaTeX (for MathTex)
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.