add-gif-gen
Add the gif-gen container skill (crop, convert, slideshow, sprite sheet). Free — uses ffmpeg locally inside the container. No API keys.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Add the gif-gen container skill (crop, convert, slideshow, sprite sheet). Free — uses ffmpeg locally inside the container. No API keys.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | add-gif-gen |
| description | Add the gif-gen container skill (crop, convert, slideshow, sprite sheet). Free — uses ffmpeg locally inside the container. No API keys. |
Installs the gif-gen container skill (one Bash script, four modes — all ffmpeg/ffprobe local). No OneCLI secret. No cost.
This is the free subset of the v1 gif-gen pack. The --animate mode (fal.ai Kling, $0.42 per call) is intentionally not ported.
test -f container/skills/gif-gen/generate-gif && echo INSTALLED || echo NOT_INSTALLED
If INSTALLED, skip to Phase 4 (Verify).
rsync -a .claude/skills/add-gif-gen/container-skills/ container/skills/
chmod +x container/skills/gif-gen/generate-gif
head -5 container/skills/gif-gen/SKILL.md
The script needs ffmpeg and ffprobe (same package). Two paths:
install_packages (recommended)If the agent group already has ffmpeg (e.g. you installed /add-voice first, which also needs it), skip. Otherwise, ask the agent to install it:
Send the agent: "add ffmpeg to your container packages". The agent calls
mcp__nanoclaw__install_packages({apt: ["ffmpeg"]}). Approve in the host UI. The container rebuilds automatically.
If you want ffmpeg baked into the base image for every group:
grep -q 'ffmpeg' container/Dockerfile && echo "PRESENT in Dockerfile" || \
echo "Edit container/Dockerfile apt-get install line to add 'ffmpeg', then run ./container/build.sh"
After rebuilding, all groups get ffmpeg without per-group install.
for session_dir in data/v2-sessions/ag-*; do
if [ -d "$session_dir/.claude-shared/skills" ]; then
rsync -a container/skills/ "$session_dir/.claude-shared/skills/"
echo "Synced skills to: $session_dir"
fi
done
docker ps --format "{{.ID}} {{.Names}}" | grep nanoclaw-v2 | awk '{print $1}' | xargs -r docker stop
Send to any agent (with ffmpeg available):
"toma esta imagen y conviértela a gif" (with an image attached) → expect
Bash(generate-gif --convert ...).
Or for a slideshow with multiple images:
"haz un gif con estas tres imágenes" → expect
Bash(generate-gif img1 img2 img3).
generate-gif: command not found: skill not synced to the agent group. Re-run Phase 4.
ffmpeg: command not found: ffmpeg is not in the agent's container. Run /add-voice (which installs it) or follow Phase 3 above.
Output GIF is too small: edit scale=480:-1 in the script to a larger value (e.g. scale=720:-1). Bigger GIFs = bigger files = slower delivery.
Sprite-sheet output is mis-aligned: image_width / cols or image_height / rows produces a fractional frame size. Re-check the grid by looking at the source image with vision.
Add the EasyBits MCP server (@easybits.cloud/mcp) so the container agent can manage cloud files, images, video/voice generation, designs, websites, forms, brand kits, characters, and a built-in DB. 65+ tools (server-side).
Reference & priority guide for the EasyBits MCP server (`mcp__easybits__*`). When to use EasyBits vs native skills, and which EasyBits tools exist.
Semantic search over your workspace text files using local multilingual embeddings (fastembed + e5-small). Free, local.
Extract text from images locally with PaddleOCR weights via onnxruntime. Free, multi-language, batch.
Remove backgrounds and segment images locally with the u2net family (rembg). Free, no API keys, works in batch.
Generate vector logos (SVG) and convert raster images to SVG via Recraft on fal.ai. Use for logo / brand mark / icon requests, or when the user sends a PNG/JPG and wants the editable SVG version.