Token导航 LogoToken导航

Agent Skill · 研究检索

concept-to-video(概念到视频)

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

concept-to-video 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 40,521。

总安装 1,280周安装 55GitHub Stars 216下载 449核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:concept-to-video(概念到视频)
来源仓库:https://github.com/mathews-tom/armory
仓库路径:skills/concept-to-video
安装命令:
npx skills add https://github.com/mathews-tom/armory --skill concept-to-video
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/mathews-tom/armory --skill concept-to-video

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于辅助视频生成和动画合成,适合组织镜头和生成素材说明。适用于 Remotion 项目开发和视频渲染问题排查场景。使用时需确认分辨率、时长和导出格式等技术参数。涉及商业发布时应先核对版权授权和内容审核要求。concept-to-video 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/concept-to-video

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/mathews-tom/armory --skill concept-to-video;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

concept-to-video 怎么安装?

在终端执行 npx skills add https://github.com/mathews-tom/armory --skill concept-to-video。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

concept-to-video 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

concept-to-video 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

concept-to-video 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

concept-to-video 用的人多吗?

公开数据是累计安装 1,280 次,近一周安装 55 次,下载 449 次,GitHub 216 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

concept-to-video 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
concept-to-video

概念到视频 · 本页

1,280216需要联网未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

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

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:

# 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

# 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

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:

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:

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:

# 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.

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:

# 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

# 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

平台分布

Codex

31.85%
按下载量换算143

Claude

29.79%
按下载量换算134

Cursor

19.3%
按下载量换算87

Gemini CLI

9.64%
按下载量换算43

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills