1---2name: claude-typer3description: Render a Claude-style prompt typing animation video by calling Remotion CLI against the remote site https://www.laosunwendao.com. Use when the user asks for "做一个 claude 的提示词打字机动画", "做 Claude 打字动画", "创建提示词动画", or similar requests that convert a text prompt into a typing-animation video.4---5
6# Claude Typer
7
8## Workflow
9
101. Extract the text that should be typed in the animation as `prompt`.
112. Run:
12 - ```bash
13 skill_dir=""
14 for base in "${AGENTS_HOME:-$HOME/.agents}" "${CLAUDE_HOME:-$HOME/.claude}" "${CODEX_HOME:-$HOME/.codex}"; do
15 if [ -d "$base/skills/claude-typer" ]; then
16 skill_dir="$base/skills/claude-typer"
17 break
18 fi
19 done
20 [ -n "$skill_dir" ] || { echo "claude-typer skill not found under ~/.agents, ~/.claude, or ~/.codex"; exit 1; }
21 /usr/local/bin/python3 "$skill_dir/scripts/render_claude_typer.py" "<prompt>"
22 ```
23 - Example with explicit size and scale:
24 ```bash
25 /usr/local/bin/python3 "$skill_dir/scripts/render_claude_typer.py" \
26 "claude-typer skill可以让智能体做出提示词打字机动效视频,快来试试吧" \
27 --video-width 1080 \
28 --video-height 600 \
29 --claude-width 600 \
30 --scale 2
31 ```
32 - Example matching custom runner + remotion params passthrough:
33 ```bash
34 /usr/local/bin/python3 "$skill_dir/scripts/render_claude_typer.py" \
35 "vibe-motion/skills:一个面向智能体的MG动画/视频技能仓库." \
36 --runner-prefix "npx -y -p @remotion/cli@4.0.440 -p @remotion/tailwind-v4@4.0.440 remotion" \
37 --composition Typer30fps \
38 --output-file Typer30fps.mov \
39 --codec prores \
40 --prores-profile 4444 \
41 --pixel-format yuva444p10le \
42 --image-format png \
43 --audio-codec aac \
44 --video-width 1080 \
45 --video-height 1080 \
46 --claude-width 880
47 ```
483. Return the generated video path in the current working directory.
49
50## Rendering Behavior
51
52- Render remote composition `Typer30fps` from `https://www.laosunwendao.com`.
53- Use `@remotion/cli` (not `remotion` package name).
54- Prefer `bunx @remotion/cli` first.
55- Fall back to `npx -y -p @remotion/cli@4.0.440 -p @remotion/tailwind-v4@4.0.440 remotion` if `bunx` is unavailable.
56- Keep transparent MOV defaults:
57 - `--fps=30`
58 - `--codec=prores`
59 - `--prores-profile=4444`
60 - `--pixel-format=yuva444p10le`
61 - `--image-format=png`
62 - `--scale=2`
63- Keep defaults for stability:
64 - `--timeout=300000`
65 - `--concurrency=1`
66 - Auto-detect local Chrome/Chromium and pass `--browser-executable` when found.
67- Keep default props from the project; replace `prompt`, and allow overriding `videoWidth` / `videoHeight` / `claudeWidth` through script args.
68- Unknown CLI args are passed through to `remotion render` directly (for advanced flags).
69- `--runner-prefix` lets you fully control the runner command (for pinned versions, global resolution behavior, etc.).
70- Exposed Remotion props for this skill are scalar fields only: `prompt`, `typingSpeedMs`, `model`, `videoWidth`, `videoHeight`, `claudeWidth`, `tiltStartX`, `tiltStartY`, `tiltEndX`, `tiltEndY`, `tiltDurationRatio`.
71
72## Output File Naming
73
74- Save into the current directory as `xxx.mov`.
75- Build `xxx` by condensing the prompt:
76 - Remove common request wrappers like `帮我`, `请`, `做一个`, `生成一个`, `制作`, `创建` at the start.
77 - Remove illegal filename characters.
78 - Keep Chinese/English letters and digits.
79 - If result is empty, use `claude-typer`.
80- Example:
81 - Prompt: `帮我做一个web画板`
82 - Output: `web画板.mov`
83
84## Notes
85
86- On a clean machine, `Node.js + npx` is enough for this fallback path, as long as network access to npm and `https://www.laosunwendao.com` is available.
87- If both `bunx` and `npx` are unavailable, install one of them and retry.
88- If the output name already exists, Remotion overwrite behavior applies.
89- If you hit `delayRender()` timeout, keep `--concurrency=1` and raise `--timeout-ms` as needed.