Agent skill

Concept To Video

by Mathews-Tom in Mathews-Tom/armory

Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition.

MITAuto-check passedMedia & Creative

Install Concept To Video

skills CLI
$ npx skills add Mathews-Tom/armory --skill concept-to-video -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Mathews-Tom/armory concept-to-video --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/concept-to-video .claude/skills/concept-to-video && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
concept-to-video
GitHub stars
329
Token cost
~4.9k tokens
SKILL.md length
1,473 words
Files
42 (incl. scripts, references)
Skills in repo
80
Repo updated
First seen
Licence
MIT

At a glance

Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition.

  • Works in 7 steps: Ensure dependencies → Interpret the concept → Design the Manim scene → …
  • : create a video
  • SKILL.md covers Reference Files, Why Manim as the engine, Workflow and Step 0: Ensure dependencies, plus 10 more sections
  • Calls python3, apt-get and pip

What it does

Concept To Video is an agent skill from Mathews-Tom/armory. Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition. Triggers on: "create a video", "animate this", "make an explainer", "manim animation", "motion graphic". NOT for React video, use remotion-video.

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 45 other files, including scripts and reference files (for example `evals/cases.yaml`, `pyrightconfig.json` and `references/code2video/coder.md`).

It sits in Media & Creative, covering Motion graphics and Video production. It works with Manim, Python, React and Remotion. The repository describes itself as: Curated, production-grade skills for AI coding agents. Battle-tested workflows for developers who use AI seriously. The licence is MIT.

When your agent uses it

  • : create a video
  • Make an explainer
  • Manim animation

Example prompts

  • “create a video”
  • “animate this”
  • “make an explainer”
  • “/concept-to-video”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Ensure dependencies
  2. Interpret the concept
  3. Design the Manim scene
  4. Preview render
  5. Iterate
  6. Final export
  7. 5: Optional audio overlay

What it can do on your machine

Read from SKILL.md and the folder at commit 4594fb7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • apt-get
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Concept To Video loads about 4.9k tokens when it runs, and up to ~24k if it reads all its reference files. Until then it costs about 72 tokens; SKILL.md has 1,473 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~24k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from Mathews-Tom/armory at commit 4594fb7, republished under its MIT licence (© Mathews-Tom). 1,473 words, ~4,860 tokens.

Download SKILL.mdSave it as .claude/skills/concept-to-video/SKILL.md (or your agent's skills folder). This skill also uses 41 other files; get the full folder from GitHub.
name
concept-to-video
description
Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition. Triggers on: "create a video", "animate this", "make an explainer", "manim animation", "motion graphic". NOT for React video, use remotion-video.
metadata.version
1.2.0
metadata.category
visualization
metadata.tags
video, manim, animation, explainer
metadata.difficulty
advanced

Concept to Video

Creates animated explainer videos from concepts using Manim (Python) as a programmatic animation engine.

Reference Files

FilePurpose
references/rules/pipeline-flow.mdRAG, ETL, CI/CD — sequential stage animations with arrows
references/rules/architecture-layers.mdSystem stacks, network layers, abstraction hierarchies
references/rules/algorithm-stepthrough.mdSorting, search, graph traversal — stateful step-by-step animations
references/rules/comparison.mdSide-by-side A vs B, before/after, trade-off visualizations
references/rules/agent-interaction.mdMulti-agent message passing, distributed systems, pub/sub
references/rules/math-concept.mdEquations, formulas, geometric proofs — LaTeX-free by default
references/rules/training-loop.mdGradient descent, RL loops, cyclic iterative processes
references/rules/transitions.mdFade and wipe transitions between scene sections
references/rules/text-animation.mdText replacement, progressive bullet reveal, callouts, emphasis
references/rules/layout.mdCanvas coordinates, VGroup arrangement, spacing guidelines
references/rules/audio-overlay.mdffmpeg audio overlay — background music, voiceover, multi-track mixing
references/rules/voiceover-scaffold.mdTiming script generation, TTS handoff, narration best practices
references/rules/images.mdImageMobject usage, logo/screenshot patterns, scaling and positioning
references/rules/subtitles.mdSRT generation from scene timing, ffmpeg subtitle burning
references/rules/multi-scene.mdMultiple Scene classes, ffmpeg concat, chapter-based composition
references/templates/data_flow_template.pyParametric pipeline/data flow animation (config-driven STAGES list)
references/templates/comparison_template.pyParametric side-by-side comparison (config-driven LEFT/RIGHT items)
references/templates/timeline_template.pyParametric timeline animation (config-driven EVENTS list)
scripts/render_video.pyWrapper around Manim CLI — handles quality, format, output path cleanup
scripts/add_audio.pyffmpeg wrapper — audio overlay, volume, fade-in/out, trim-to-video

Why Manim as the engine

Manim is the "SVG of video" — you write Python code that describes animations declaratively, and it renders to MP4/GIF at any resolution. The Python scene file IS the editable intermediate: the user can see the code, request changes ("make the arrows red", "add a third step", "slow down the transition"), and only do a final high-quality render once satisfied. This makes the workflow iterative and controllable, exactly like concept-to-image uses HTML as an intermediate.

Workflow

text
Concept → Manim scene (.py) → Preview (low-quality) → Iterate → Final render (MP4/GIF)
  1. Interpret the user's concept — determine the best animation approach
  2. Design a self-contained Manim scene file — one file, one Scene class
  3. Preview by rendering at low quality (-ql) for fast iteration
  4. Iterate on the scene based on user feedback
  5. Export final video at high quality using scripts/render_video.py

Step 0: Ensure dependencies

Before writing any scene, ensure Manim is installed:

bash
# System deps (usually pre-installed)
apt-get install -y libpango1.0-dev libcairo2-dev ffmpeg 2>/dev/null

# Python package
pip install manim --break-system-packages -q

Verify with: python3 -c "import manim; print(manim.__version__)"

Step 1: Interpret the concept

Determine the best animation pattern, then read the matching rule file before writing any code.

User intentRule file to readKey Manim primitives
Explain a pipeline/flowreferences/rules/pipeline-flow.mdArrow, Rectangle, Text, AnimationGroup
Show architecture layersreferences/rules/architecture-layers.mdVGroup, Arrange, FadeIn with shift
Algorithm step-throughreferences/rules/algorithm-stepthrough.mdTransform, ReplacementTransform, Indicate
Compare approachesreferences/rules/comparison.mdSplit screen VGroups, simultaneous animations
Mathematical conceptreferences/rules/math-concept.mdMathTex, geometric shapes, Rotate, Scale
Agent/multi-system interactionreferences/rules/agent-interaction.mdArrows between entities, Create/FadeOut
Training/optimization loopreferences/rules/training-loop.mdLoop with Transform, ValueTracker, plots
Timeline/historyreferences/templates/timeline_template.pyNumberLine, sequential Indicate
Embed images or screenshotsreferences/rules/images.mdImageMobject, SVGMobject
Add subtitles or captionsreferences/rules/subtitles.mdSRT generation, ffmpeg subtitle burn
Multiple distinct chaptersreferences/rules/multi-scene.mdMultiple Scene classes, ffmpeg concat
Add audio or voiceoverreferences/rules/audio-overlay.mdffmpeg, scripts/add_audio.py
Transition between sectionsreferences/rules/transitions.mdFadeOut all, shift off-screen
Text reveal, callouts, emphasisreferences/rules/text-animation.mdReplacementTransform, LaggedStart, Indicate
Positioning, spacing, layoutreferences/rules/layout.mdnext_to, arrange, to_edge, move_to

Step 2: Design the Manim scene

Template-first vs from-scratch

Check whether a parametric template covers the concept before writing a scene from scratch:

If the concept is...Start with template
A linear pipeline (A→B→C→D)references/templates/data_flow_template.py — edit STAGES
A two-option comparisonreferences/templates/comparison_template.py — edit LEFT_ITEMS, RIGHT_ITEMS
A chronological timelinereferences/templates/timeline_template.py — edit EVENTS
Anything elseWrite from scratch using the relevant rule file

When using a template: copy it to the working directory, edit the config constants at the top, do not restructure the class.

Core rules:

  • Single file, single Scene class: Everything in one .py file with one class XxxScene(Scene).
  • Self-contained: No external assets unless absolutely necessary. Use Manim primitives for everything.
  • Readable code: The scene file IS the user's artifact. Use clear variable names, comments for each animation beat.
  • Color with intention: Use Manim's color constants (BLUE, RED, GREEN, YELLOW, etc.) or hex colors. Max 4-5 colors. Every color should encode meaning.
  • Pacing: Include self.wait() calls between logical sections. 0.5s for breathing room, 1-2s for major transitions.
  • Text legibility: Use font_size=36 minimum for body text, font_size=48+ for titles. Test at target resolution.
  • Scene dimensions: Default Manim canvas is 14.2 × 8 units (16:9). Keep content within ±6 horizontal, ±3.5 vertical.
Animation best practices
python
# DO: Use animation groups for simultaneous effects
self.play(FadeIn(box), Write(label), run_time=1)

# DO: Use .animate syntax for property changes
self.play(box.animate.shift(RIGHT * 2).set_color(GREEN))

# DO: Stagger related elements
self.play(LaggedStart(*[FadeIn(item) for item in items], lag_ratio=0.2))

# DON'T: Add/remove without animation (jarring)
self.add(box)  # Only for setup before first frame

# DON'T: Make animations too fast
self.play(Transform(a, b), run_time=0.3)  # Too fast to read
Structure template
python
from manim import *

class ConceptScene(Scene):
    def construct(self):
        # === Section 1: Title / Setup ===
        title = Text("Concept Name", font_size=56, weight=BOLD)
        self.play(Write(title))
        self.wait(1)
        self.play(FadeOut(title))

        # === Section 2: Core animation ===
        # ... main content here ...

        # === Section 3: Summary / Conclusion ===
        # ... wrap-up animation ...
        self.wait(2)

Step 3: Preview render

Use low quality for fast iteration:

bash
python3 scripts/render_video.py scene.py ConceptScene --quality low --format mp4

This renders at 480p/15fps — fast enough for previewing timing and layout. Present the video to the user.

Step 4: Iterate

Common refinement requests and how to handle them:

RequestAction
"Slower/faster"Adjust run_time= params and self.wait() durations
"Change colors"Update color constants
"Add a step"Insert new animation block between sections
"Reorder"Move code blocks around
"Different layout"Adjust .shift(), .next_to(), .arrange() calls
"Add labels/annotations"Add Text or MathTex objects with .next_to()
"Make it loop"Add matching intro/outro states

Step 5: Final export

Once the user is satisfied:

bash
python3 scripts/render_video.py scene.py ConceptScene --quality high --format mp4
Quality presets
PresetResolutionFPSFlagUse case
low480p15-qlFast preview
medium720p30-qmDraft review
high1080p60-qhFinal delivery
4k2160p60-qkPresentation quality
Format options
FormatFlagUse case
mp4--format mp4Standard video delivery
gif--format gifEmbeddable in docs, social
webm--format webmWeb-optimized
Delivering the output

Present both:

  1. The .py scene file (for future editing)
  2. The rendered video file (final output)

Copy the final video to /mnt/user-data/outputs/ and present it.

Step 5.5: Optional audio overlay

If the user provides audio (music or voiceover), or requests it:

bash
# Background music at 25% volume with fade-in/out
python3 scripts/add_audio.py final.mp4 music.mp3 \
    --output final_with_audio.mp4 \
    --volume 0.25 --fade-in 2 --fade-out 3 --trim-to-video

# Voiceover at full volume, trimmed to video length
python3 scripts/add_audio.py final.mp4 voiceover.mp3 \
    --output final_narrated.mp4 --trim-to-video

For voiceover scripting before recording, read references/rules/voiceover-scaffold.md. For subtitles/captions, read references/rules/subtitles.md. For advanced multi-track mixing, read references/rules/audio-overlay.md.

Show full SKILL.md (577 more words)Show less

Error Handling

ErrorCauseResolution
ModuleNotFoundError: manimManim not installedRun Step 0 setup commands
pangocairo build errorMissing system dev headersapt-get install -y libpango1.0-dev
FileNotFoundError: ffmpegffmpeg not installedapt-get install -y ffmpeg
Scene class not foundClass name mismatchVerify class name matches CLI argument
Overlapping objectsPositions not calculatedUse .next_to(), .arrange(), explicit .shift() calls
Text cut offText too large or positioned near edgeReduce font_size or adjust position within ±6,±3.5
Slow renderToo many objects or complex transformationsReduce object count, simplify paths, use lower quality
LaTeX ErrorLaTeX not installed (for MathTex)Use Text instead, or install texlive-latex-base
LaTeX fallback

If LaTeX is not available, avoid MathTex and Tex. Use Text with Unicode math symbols instead:

python
# Instead of: MathTex(r"\frac{1}{n} \sum_{i=1}^{n} x_i")
# Use:        Text("(1/n) Σ xᵢ", font_size=36)

Agentic Mode (Opt-In)

Single-shot mode (default) is fast and cheap — the coder writes scene.py directly from a concept. Use agentic mode for production-quality renders where layout correctness and asset resolution matter enough to justify additional LLM and VLM calls.

Pipeline
concept
  └─► plan_storyboard.py ──► storyboard.json
            │
            ▼
      fetch_assets.py (optional)
            │
            ▼
      coder writes scene.py
            │
            ▼
      render_video.py --max-fix-attempts N
            │  ▲
            │  └─ LLM fixup loop (on failure, up to N retries)
            ▼
      critic_pass.py --critic
            │  ▲
            │  └─ VLM layout patch (1 call with M image blocks)
            ▼
       final MP4
Flag Reference
ScriptFlagDefaultHard capEffectCost impact
render_video.py--max-fix-attempts03LLM-assisted auto-fix on render failure; 0 = disabled+1 LLM call per retry
critic_pass.py--criticdisabled—Enable the VLM critic pass; noop without this flag+1 VLM call (N image blocks)
critic_pass.py--critic-budget50000—Token budget for critic call; aborts loudly if exceededSets ceiling; use to prevent runaway spend
critic_pass.py--frames510Frames sampled from the rendered video for the criticMore frames → higher token cost per critic run
fetch_assets.py--adapternone—Asset backend: local, iconfinder, noneiconfinder adds external API calls
fetch_assets.py--asset-dir——Root directory for --adapter=local; required with localNone
Cost Tradeoffs

The fixup loop adds one LLM call per failed render attempt — with --max-fix-attempts 3 you may pay up to 3 extra calls before the loop exhausts or succeeds. The critic pass adds one VLM call containing N PNG image blocks (default 5, max 10); each frame adds roughly 1 token per 800 bytes of base64-encoded PNG, so complex scenes at high resolution are materially more expensive. Setting --critic-budget to a conservative token ceiling (e.g. 20000) causes BudgetExceededError before the API call is made, so you never pay for an accidentally oversized request — the error is loud and non-recoverable by design.

Invocation Example
bash
# 1. Plan
python3 scripts/plan_storyboard.py "explain transformer self-attention" \
    --output storyboard.json

# 2. (Optional) Fetch assets
python3 scripts/fetch_assets.py storyboard.json \
    --adapter local --asset-dir ./assets --output resolved.json

# 3. Coder writes scene.py (Claude writes this from storyboard.json)

# 4. Render with auto-fix
python3 scripts/render_video.py scene.py AttentionScene \
    --quality high --format mp4 --max-fix-attempts 3 \
    --output final.mp4

# 5. Critic pass
python3 scripts/critic_pass.py scene.py final.mp4 \
    --critic --critic-budget 40000 --frames 5

Agentic pipeline design (storyboard planner, auto-fix loop, VLM critic) is adapted from Code2Video (arXiv 2510.01174, MIT). Vendored prompt templates live in references/code2video/ alongside the upstream LICENSE. Full vendoring record, pinned commit, and re-sync policy are tracked in root ATTRIBUTIONS.md.

Limitations

  • Manim + ffmpeg required — cannot render without these dependencies.
  • Audio is post-render only — Manim renders silent MP4s. Use scripts/add_audio.py to overlay audio after export.
  • LaTeX optional — MathTex requires a LaTeX installation. Fall back to Text with Unicode for math.
  • Render time scales with complexity — a 30-second 1080p scene with many objects can take 1-2 minutes to render.
  • 3D scenes require OpenGL — ThreeDScene may not work in headless containers. Stick to 2D Scene class.
  • No interactivity — output is a static video file, not an interactive widget.
  • GIF output is silent — audio overlay only works with MP4/WEBM output formats.

Design anti-patterns to avoid

  • Walls of text on screen — keep to 3-5 words per label, max 2 lines
  • Everything appearing at once — use staged animations with LaggedStart
  • Uniform timing — vary run_time to create rhythm (fast for simple, slow for important)
  • No visual hierarchy — use size, color, and position to guide attention
  • Rainbow colors — 3-4 intentional colors max
  • Ignoring the grid — align objects to consistent positions using arrange/align

© Mathews-Tom, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 41 other files (scripts, references) in skills/concept-to-video of Mathews-Tom/armory.

  • SKILL.md
  • config.toml
  • evals/cases.yaml
  • pyrightconfig.json
  • references/code2video/LICENSE
  • references/code2video/coder.md
  • references/code2video/critic.md
  • references/code2video/planner.md
  • references/rules/agent-interaction.md
  • references/rules/algorithm-stepthrough.md
  • references/rules/architecture-layers.md
  • references/rules/audio-overlay.md
  • references/rules/comparison.md
  • references/rules/images.md
  • references/rules/layout.md
  • references/rules/math-concept.md
  • references/rules/multi-scene.md
  • … and 25 more

Open the folder on GitHubat commit 4594fb7

Compare with similar skills

Concept To Video next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Concept To Video compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Concept To Video this skillMathews-Tom/armory329—~4.9kAutomated safety check: PassMIT
Remotionzhuzhaoyun/Molio433—~4kAutomated safety check: PassCustom licence
Remotion to HyperFrames Porterheygen-com/hyperframes60k3 repos~2.8kAutomated safety check: PassApache-2.0
Anything2explainerVincentwei1021/anything2explainer2.4k—~2.7kAutomated safety check: PassCustom licence
Remotion Motion Graphicshaidrrrry/claude-remotion-skill340—~2kAutomated safety check: PassMIT
Create Remotion GeistMarve10s/Better-Fullstack756—~1.4kAutomated safety check: PassMIT

Similar skills

  • Remotion

    zhuzhaoyun/Molio

    Molio's builtin skill for MAKING a video from any source — wiki notes, articles, scripts, product info, or a brief — and rendering it to MP4.

    433 GitHub stars~4k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Remotion to HyperFrames Porter

    heygen-com/hyperframes

    Ports an existing Remotion (React) composition to HyperFrames HTML with GSAP, one way, and grades the result against a tiered set of reference fixtures.

    60k GitHub starsUsed in 3 repos~2.8k tokens
    Media & CreativeAuto-check passed
  • Anything2explainer

    Vincentwei1021/anything2explainer

    给一个主题,产出一条黑底 MG 风格(幕底可选星点或点阵波)、有配音字幕章节进度条的科普讲解视频(中文或英文;Remotion 代码动画;时长由用户定,常用 3–5 分钟)。内含可编译模板、图元库、配音/分镜/渲染工具、风格与动效规范、多 agent 分工协议与 QC 判据,以及一条完整样片(《RAG 与知识库》)作为质量标尺。Turn any topic into a narrated…

    2.4k GitHub stars~2.7k tokensUpdated 22 days ago
    Media & CreativeAuto-check passed
  • Remotion Motion Graphics

    haidrrrry/claude-remotion-skill

    Create and edit professional motion graphics videos with Remotion (React-based video).

    340 GitHub stars~2k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Create Remotion Geist

    Marve10s/Better-Fullstack

    Create Remotion videos using the Geist design system aesthetic.

    756 GitHub stars~1.4k tokensUpdated today
    Media & CreativeAuto-check passed
  • Remotion To Hyperframes

    chmonitor/chmonitor

    Port an existing Remotion (React) composition to HyperFrames HTML.

    301 GitHub starsUsed in 1 repo~2.5k tokens
    Media & CreativeAuto-check passed

More from Mathews-Tom/armory

All 80 skills in this repo
  • Architecture Reviewer

    Mathews-Tom/armory

    Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports.

    329 GitHub stars~4.6k tokensUpdated 5 days ago
    Auto-check passed
  • Concept To Image

    Mathews-Tom/armory

    Turn concepts into static HTML visuals exported as PNG or SVG files via HTML/CSS/SVG.

    329 GitHub stars~2.6k tokensUpdated 5 days ago
    Auto-check passed
  • Watch

    Mathews-Tom/armory

    A skill your agent uses when analyzing an existing video URL or local recording: "watch this video", "analyze youtube video", "summarize this video", "youtube transcript", "find this moment", "what…

    329 GitHub stars~2.8k tokensUpdated 5 days ago
    Auto-check passed
  • Code Refiner

    Mathews-Tom/armory

    Deep code simplification and refactoring preserving behavior across Python, Go, TypeScript, Rust.

    329 GitHub stars~3.1k tokensUpdated 5 days ago
    Auto-check passed
  • Decision Map

    Mathews-Tom/armory

    Maps the unresolved architecture, policy, and scope decisions that must be answered before planning can start: one durable decision ticket per question on the issue tracker, typed and blocker-linked…

    329 GitHub stars~2.7k tokensUpdated 5 days ago
    Auto-check passed
  • Handoff

    Mathews-Tom/armory

    Produces and refreshes .docs/handoff.md, a 200-line session-continuity runbook for coding agents.

    329 GitHub stars~1.7k tokensUpdated 5 days ago
    Auto-check passed

Questions about Concept To Video

What does Concept To Video do?

Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition. Concept To Video is an agent skill from Mathews-Tom/armory. Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition.

When should I use Concept To Video?

Concept To Video fits situations like: : create a video; make an explainer; manim animation.

How do I install Concept To Video in Claude Code?

Run `npx skills add Mathews-Tom/armory --skill concept-to-video -a claude-code`. Or copy the skill folder (skills/concept-to-video in Mathews-Tom/armory) into .claude/skills/concept-to-video in your project. Claude Code loads it when a task matches its description.

How do I install Concept To Video in Codex?

Run `npx skills add Mathews-Tom/armory --skill concept-to-video -a codex`. Or copy the skill folder (skills/concept-to-video in Mathews-Tom/armory) into .agents/skills/concept-to-video in your project. Codex loads it when a task matches its description.

Can I use Concept To Video in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Mathews-Tom/armory --skill concept-to-video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/concept-to-video, .gemini/skills/concept-to-video, .github/skills/concept-to-video and .opencode/skills/concept-to-video in your project.

What does Concept To Video need to run?

Going by SKILL.md and its folder, Concept To Video needs the command-line tools its instructions call (python3, apt-get and pip). Our summary lists: Python 3.

Does Concept To Video access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Concept To Video safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Concept To Video use?

Concept To Video is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Concept To Video use?

About 4.9k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 19k tokens, read only when the agent opens those files.

What are the alternatives to Concept To Video?

Skills that share tags, products or a category with Concept To Video: Remotion (zhuzhaoyun/Molio, 433 stars), Remotion to HyperFrames Porter (heygen-com/hyperframes, 60k stars), Anything2explainer (Vincentwei1021/anything2explainer, 2.4k stars) and Remotion Motion Graphics (haidrrrry/claude-remotion-skill, 340 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Concept To Video?

Mathews-Tom (a GitHub user) maintains it in Mathews-Tom/armory, which has 329 GitHub stars. The repository holds 80 skills in this directory. The repository was last updated on October 6, 2026.

Source: Mathews-Tom/armory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.