
Gif Generation
Turn screen recordings or demo videos into optimized, shareable GIFs for docs, social posts, and launch assets using ffmpeg presets.
Install
npx skills add https://github.com/athola/claude-night-market --skill gif-generationWhat is this skill?
- Four-step workflow: validate input, check ffmpeg, convert, verify output
- Three conversion modes: basic fast, palette-based recommended, maximum quality with dithering
- Common presets and optimization flags for file size vs quality
- Troubleshooting for large files, color banding, and slow conversion
- Inputs: webm and mp4; shell-driven ffmpeg execution
Adoption & trust: 1 installs on skills.sh; 304 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Video Editagentspace-so/runcomfy-agent-skills
Image To Videoagentspace-so/runcomfy-agent-skills
Image Editagentspace-so/runcomfy-agent-skills
Flux Kontextagentspace-so/runcomfy-agent-skills
Nano Banana 2agentspace-so/runcomfy-agent-skills
Nano Banana Editagentspace-so/runcomfy-agent-skills
Journey fit
Primary fit
Launch → distribution fits because the skill targets post-processed shareable GIFs from recordings, not core app logic. Distribution covers lightweight visual assets for READMEs, changelog posts, and social proof without a full video pipeline.
Common Questions / FAQ
Is Gif Generation safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Gif Generation
## Table of Contents - [Overview](#overview) - [Required TodoWrite Items](#required-todowrite-items) - [Process](#process) - [Step 1: Validate Input File](#step-1:-validate-input-file) - [Step 2: Check ffmpeg Installation](#step-2:-check-ffmpeg-installation) - [Step 3: Execute Conversion](#step-3:-execute-conversion) - [Basic Conversion (Fast, Larger File)](#basic-conversion-(fast,-larger-file)) - [High Quality with Palette Generation (Recommended)](#high-quality-with-palette-generation-(recommended)) - [Maximum Quality with Dithering](#maximum-quality-with-dithering) - [Optimization Options](#optimization-options) - [Common Presets](#common-presets) - [Step 4: Verify Output](#step-4:-verify-output) - [Exit Criteria](#exit-criteria) - [Troubleshooting](#troubleshooting) - [Large Output File](#large-output-file) - [Color Banding](#color-banding) - [Slow Conversion](#slow-conversion) # GIF Generation Skill Post-process video files (webm/mp4) and generate optimized GIF output with configurable quality settings. ## When To Use - Converting recordings to animated GIF format - Creating lightweight demo animations ## When NOT To Use - High-quality video output - use full recording tools - Static image generation without animation needs ## Overview 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. ## Required TodoWrite Items ``` - 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. ## Process ### Step 1: Validate Input File Confirm the source video file exists and is a supported format: ```bash # 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` ### Step 2: Check ffmpeg Installation Verify ffmpeg is available: ```bash 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. ### Step 3: Execute Conversion Choose the appropriate conversion command based on quality requirements: #### Basic Conversion (Fast, Larger File) ```bash ffmpeg -i input.webm -vf "fps=10,scale=800:-1" output.gif ``` **Verification:** Run the command with `--help` flag to verify availability. #### High Quality with Palette Generation (Recommended) ```bash 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. #### Maximum Quality with Dithering ```bash 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. ### Optimization Options | Option | Description | Recommended Value | |--------|-------------|-------------------| | `fps` | Frames per second