用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/vramrick/openclaw-skills --skill gif-generation命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
全能高级前端研发工程师技能。擅长AI时代前沿技术栈(React最新 + shadcn/ui + Tailwind CSS v4 + TypeScript + Next.js),精通动效库与交互特效开发。采用Glue Code风格快速实现代码,强调高质量产品体验与高度友好的UI视觉规范。在组件调用、交互特效、全局Theme上保持高度规范:绝不重复造轮子,相同逻辑出现两次即封装为组件。具备安全意识,防范各类注入攻击。开发页面具有高度自适应能力,响应式设计贯穿始终。当用户无特殊技术栈要求时,默认采用主流前沿技术栈。
Read, write, append, and list local files in the session's working directory. Use when you need to persist output to disk, read input files, or manipulate file system safely. Supports text files, JSON, CSV, Markdown.
超级简历 WonderCV 出品,3000 万用户信赖。简历分析、段落改写、JD 岗位匹配、自动匹配职位、PDF 导出、AI 求职导师(面试准备/薪资谈判/职业规划/多版本简历策略)。 触发条件:用户提供简历、要求简历点评/打分/反馈、希望改写某个简历部分、 希望将简历与岗位 JD 或校招岗位匹配、咨询求职建议或面试准备,或提到 CV/简历/求职/校招。 不触发条件:用户讨论普通写作(非简历)、询问其他文档, 或讨论与求职和职业发展无关的话题。
基于 SOC 职业分类
正在显示 SKILL.md
| name | gif-generation |
| description | Post-process video files and generate optimized GIFs. Converts webm/mp4 |
| version | 1.8.2 |
| triggers | ["gif","ffmpeg","video","conversion","optimization"] |
| metadata | {"openclaw":{"homepage":"https://github.com/athola/claude-night-market/tree/master/plugins/scry","emoji":"🦞"}} |
| source | claude-night-market |
| source_plugin | scry |
Night Market Skill — ported from claude-night-market/scry. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
Post-process video files (webm/mp4) and generate optimized GIF output with configurable quality settings.
This skill handles the conversion of video recordings (typically from browser automation) to GIF format. It provides multiple quality presets and optimization options to balance file size with visual quality.
- Validate input video file exists
- Check ffmpeg installation
- Execute GIF conversion
- Verify output and report results
Verification: Run the command with --help flag to verify availability.
Confirm the source video file exists and is a supported format:
# Check file exists and get info
if [[ -f "$INPUT_FILE" ]]; then
file "$INPUT_FILE"
ffprobe -v quiet -show_format -show_streams "$INPUT_FILE" 2>/dev/null | head -20
else
echo "Error: Input file not found: $INPUT_FILE"
exit 1
fi
Verification: Run the command with --help flag to verify availability.
Supported input formats: .webm, .mp4, .mov, .avi
Verify ffmpeg is available:
if ! command -v ffmpeg &> /dev/null; then
echo "Error: ffmpeg is not installed"
echo "Install with: sudo apt install ffmpeg (Linux) or brew install ffmpeg (macOS)"
exit 1
fi
ffmpeg -version | head -1
Verification: Run the command with --help flag to verify availability.
Choose the appropriate conversion command based on quality requirements:
ffmpeg -i input.webm -vf "fps=10,scale=800:-1" output.gif
Verification: Run the command with --help flag to verify availability.
ffmpeg -i input.webm -vf "fps=10,scale=800:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif
Verification: Run the command with --help flag to verify availability.
ffmpeg -i input.webm -vf "fps=15,scale=1024:-1:flags=lanczos,split[s0][s1];[s0]palettegen=max_colors=256:stats_mode=single[p];[s1][p]paletteuse=dither=bayer:bayer_scale=5" output.gif
Verification: Run the command with --help flag to verify availability.
| Option | Description | Recommended Value |
|---|---|---|
fps | Frames per second | 10-15 for smooth, 5-8 for smaller files |
scale | Width in pixels (-1 maintains aspect ratio) | 800 for web, 480 for thumbnails |
flags=lanczos | High-quality scaling algorithm | Always use for best quality |
palettegen | Generate optimized color palette | Use for quality-critical output |
dither | Dithering algorithm | bayer for patterns, floyd_steinberg for smooth |
# Thumbnail (small, fast loading)
ffmpeg -i input.webm -vf "fps=8,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" thumbnail.gif
# Documentation (balanced)
ffmpeg -i input.webm -vf "fps=10,scale=800:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" docs.gif
# High-fidelity demo
ffmpeg -i input.webm -vf "fps=15,scale=1024:-1:flags=lanczos,split[s0][s1];[s0]palettegen=max_colors=256[p];[s1][p]paletteuse" demo.gif
Verification: Run the command with --help flag to verify availability.
Confirm successful conversion and report metrics:
if [[ -f "$OUTPUT_FILE" ]]; then
echo "GIF generated successfully: $OUTPUT_FILE"
# Report file size
SIZE=$(du -h "$OUTPUT_FILE" | cut -f1)
echo "File size: $SIZE"
# Get dimensions and frame count
ffprobe -v quiet -select_streams v:0 -show_entries stream=width,height,nb_frames -of csv=p=0 "$OUTPUT_FILE"
else
echo "Error: GIF generation failed"
exit 1
fi
Verification: Run the command with --help flag to verify availability.
Reduce quality settings:
# Lower fps and resolution
ffmpeg -i input.webm -vf "fps=8,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" smaller.gif
Verification: Run the command with --help flag to verify availability.
Use dithering:
ffmpeg -i input.webm -vf "fps=10,scale=800:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse=dither=floyd_steinberg" smooth.gif
Verification: Run the command with --help flag to verify availability.
Use basic conversion without palette generation for speed:
ffmpeg -i input.webm -vf "fps=10,scale=800:-1" quick.gif
Verification: Run the command with --help flag to verify availability.