Claude Code Skills
一键生成视频和渲染场景的自动化工具
/create-video
创建完整的 Manim 数学动画视频。交互式流程,会向用户确认细节后再生成代码。
使用方式
/create-video <主题描述>
执行流程
Step 1: 理解需求,向用户提问
收到主题后,先不要急着写代码。根据主题向用户确认以下细节:
必须确认:
- 场景数量(建议 3-5 个,问用户是否满意)
- 总时长目标(30s / 1min / 2min?)
- 每个场景的核心内容(用自己的话复述,让用户确认)
按需确认(根据主题选择性提问):
- 视觉风格:偏 3b1b 风格(深色背景、少量配色)还是明亮风格?
- 是否需要中文旁白文字?还是纯公式 + 图形?
- 动画节奏:快速紧凑还是舒缓讲解?
- 是否有特别想看的动画效果?(如:粒子效果、3D 旋转、网格变形等)
- 输出质量:预览(480p)还是高清(1080p)?
Step 2: 确认动画细节
针对每个场景,列出将要使用的动画效果,让用户确认。
Step 3: 读取参考文档
docs/agent-reference.md— 组件库和动画类型docs/pitfalls.md— 常见错误避免docs/physics-reference.md— 物理动画模板(如需要)docs/3b1b-sources.md— 3b1b 风格参考(如需要)
Step 4: 生成代码
- 每个场景一个 Python 文件
- 遵循场景模板(见 CLAUDE.md)
- 中文用
Text(),公式用MathTex() - ValueTracker 必须在 lambda 外声明
Step 5: 渲染
source ~/manim-learning/agent-video/.venv/bin/activate export PATH="$HOME/Library/TinyTeX/bin/universal-darwin:$PATH" manim -ql scene_file.py SceneClassName
Step 6: 合并输出
ffmpeg -y -f concat -safe 0 -i file_list.txt -c copy output.mp4
合并视频放到 ~/Downloads/<主题>.mp4。
代码规范
- 品牌色:紫
#8b5cf6,青#06b6d4 - 动画时长:标题 0.5-1s,内容 1-2s,等待 0.5-1s
- 坐标系:
Axes+c2p()转换 - 动态对象:
ValueTracker+always_redraw - 强调:
Indicate,Flash,SurroundingRectangle
提问原则
- 不要假设:用户说"做个傅里叶变换视频",不要自己决定场景数和内容,要问
- 给出建议:提问时提供推荐选项(如"建议 4 个场景"),降低用户决策成本
- 确认再动手:代码生成前必须让用户确认场景规划和动画效果
- 迭代修改:用户说"改一下"时,具体问改什么,不要猜
文件位置:
.claude/skills/create-video.md
/render-scene
渲染单个 Manim 场景文件。
使用方式
/render-scene <scene_file.py> [SceneClassName]
参数
scene_file.py— 场景文件路径SceneClassName— 可选,场景类名(默认自动检测)
执行流程
- 检测环境:激活 venv,设置 TinyTeX PATH
- 验证文件:检查文件是否存在,是否包含有效的 Scene 类
- 渲染:
manim -ql scene_file.py SceneClassName - 报告结果:渲染成功显示视频路径,失败显示错误和修复建议
渲染质量选项
| 选项 | 质量 | 说明 |
|---|---|---|
-ql | 预览 480p | 快速,开发调试用 |
-qm | 中等 720p | 平衡质量与速度 |
-qh | 高清 1080p | 最终输出 |
-qk | 4K | 超高清 |
常见错误
| 错误 | 原因 | 修复 |
|---|---|---|
LaTeX Error: Unicode character | MathTex 里写了中文 | 改用 Text() |
'float' has no 'animate' | ValueTracker 未声明 | 改为 ValueTracker() |
ModuleNotFoundError: manim | venv 未激活 | source .venv/bin/activate |
FileNotFoundError: xelatex | TinyTeX PATH 未设置 | export PATH=... |
示例
# 渲染导数场景 /render-scene examples/derivative/scenes/02_tangent.py S2Tangent # 渲染 QFT 场景 /render-scene examples/qft/scenes/03_feynman.py S3Feynman # 渲染展示 demo /render-scene showcase/demos/render_demos.py DemoWriteText
文件位置:
.claude/skills/render-scene.md
下一步:回到总览