Agent skill

Gif Generation

by athola in athola/claude-night-market

Converts webm/mp4 video files to optimized GIFs via ffmpeg with configurable quality settings.

MITAuto-check: notesMedia & Creative

Install Gif Generation

skills CLI
$ npx skills add athola/claude-night-market --skill gif-generation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install athola/claude-night-market gif-generation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/scry/skills/gif-generation .claude/skills/gif-generation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gif-generation
GitHub stars
341
Token cost
~1.4k tokens
SKILL.md length
372 words
Files
1
Skills in repo
152
Repo updated
First seen
Licence
MIT

At a glance

Converts webm/mp4 video files to optimized GIFs via ffmpeg with configurable quality settings.

  • Works in 4 steps: Validate Input File → Check ffmpeg Installation → Execute Conversion → …
  • Post-processing recordings into shareable GIFs
  • SKILL.md covers When To Use, When NOT To Use, Overview and Required TodoWrite Items, plus 3 more sections
  • Calls ffmpeg and ffprobe

What it does

Gif Generation is an agent skill from athola/claude-night-market. Converts webm/mp4 video files to optimized GIFs via ffmpeg with configurable quality settings. Use when post-processing recordings into shareable GIFs.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Video production and Social media graphics. It works with FFmpeg. The repository describes itself as: 23 Claude Code plugins: TDD enforcement hooks, git/PR workflows, spec-driven development, code review, project lifecycle, fix-from-error, maintenance automation, context… The licence is MIT.

When your agent uses it

  • Post-processing recordings into shareable GIFs
  • Tasks that involve Video production
  • Tasks that involve Social media graphics

Example prompts

  • “Use the gif-generation skill to convert webm/mp4 video files to optimized GIFs via ffmpeg with configurable quality settings”
  • “/gif-generation”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Validate Input File
  2. Check ffmpeg Installation
  3. Execute Conversion
  4. Verify Output

What it can do on your machine

Read from SKILL.md and the folder at commit 9f3eb00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • ffmpeg
    • ffprobe

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gif Generation loads about 1.4k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 372 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:75
    echo "Install with: sudo apt install ffmpeg (Linux) or brew install ffmpeg (macOS)"

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 372 words, ~1,416 tokens.

Download SKILL.mdSave it as .claude/skills/gif-generation/SKILL.md (or your agent's skills folder).
name
gif-generation
description
Converts webm/mp4 video files to optimized GIFs via ffmpeg with configurable quality settings. Use when post-processing recordings into shareable GIFs.
alwaysApply
false
category
media-generation
tags
gif, ffmpeg, video, conversion, optimization
complexity
low
model_hint
fast
estimated_tokens
400
progressive_loading
false

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.

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.

Show full SKILL.md (171 more words)Show less
Optimization Options
OptionDescriptionRecommended Value
fpsFrames per second10-15 for smooth, 5-8 for smaller files
scaleWidth in pixels (-1 maintains aspect ratio)800 for web, 480 for thumbnails
flags=lanczosHigh-quality scaling algorithmAlways use for best quality
palettegenGenerate optimized color paletteUse for quality-critical output
ditherDithering algorithmbayer for patterns, floyd_steinberg for smooth
Common Presets
bash
# 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.

Step 4: Verify Output

Confirm successful conversion and report metrics:

bash
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.

Exit Criteria

  • Input file validated as existing video format
  • ffmpeg confirmed available
  • GIF file created at specified output path
  • Output file size reported to user
  • No ffmpeg errors during conversion

Troubleshooting

Large Output File

Reduce quality settings:

bash
# 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.

Color Banding

Use dithering:

bash
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.

Slow Conversion

Use basic conversion without palette generation for speed:

bash
ffmpeg -i input.webm -vf "fps=10,scale=800:-1" quick.gif

Verification: Run the command with --help flag to verify availability.

© athola, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/scry/skills/gif-generation of athola/claude-night-market.

Open the folder on GitHubat commit 9f3eb00

Compare with similar skills

Gif Generation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gif Generation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gif Generation this skillathola/claude-night-market341—~1.4kAutomated safety check: NotesMIT
Media Processingnicepkg/ai-workflow285—~2.4kAutomated safety check: NotesMIT
Painted Animationtuzhechen2005/opus-video-skills1461 repos~1.9kAutomated safety check: PassCustom licence
Video Clip Extractorlinzzzzzz/openclip569—~2.8kAutomated safety check: WarnMIT
Render Brand Identity Revealgooseworks-ai/goose-skills1.2k—~1.4kAutomated safety check: PassMIT
Render Value Propgooseworks-ai/goose-skills1.2k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Media Processing

    nicepkg/ai-workflow

    Video/audio/image processing with FFmpeg and ImageMagick. An agent skill from nicepkg/ai-workflow.

    285 GitHub stars~2.4k tokensUpdated 8 mo ago
    Media & CreativeAuto-check: notes
  • Painted Animation

    tuzhechen2005/opus-video-skills

    Make hand-painted watercolour-and-ink cartoon videos (MP4) with code — p5.js + p5.brush rendered frame by frame in headless Chrome, encoded with ffmpeg — starring Clawd or any character.

    146 GitHub starsUsed in 1 repo~1.9k tokens
    Media & CreativeAuto-check passed
  • Video Clip Extractor

    linzzzzzz/openclip

    Processes videos to identify engaging moments, generate transcripts, and create highlight clips with artistic titles and custom cover images.

    569 GitHub stars~2.8k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: warnings
  • Render Brand Identity Reveal

    gooseworks-ai/goose-skills

    Render a 'brand identity reveal' video from a config — a single poster frame in a real, softly-lit space (real wall, soft-focus plant in the corner, dappled leaf shadow, illuminated poster) whose…

    1.2k GitHub stars~1.4k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Render Value Prop

    gooseworks-ai/goose-skills

    Render a designed 'value prop' video from a config — 3-5 noun-phrase benefit claims (<=4 words each) revealed sequentially over per-SKU product visuals, one crisp editorial frame per claim (hook…

    1.2k GitHub stars~1.1k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Video Understand

    calesthio/OpenMontage

    Understand video content locally using ffmpeg frame extraction and Whisper transcription.

    66k GitHub stars~841 tokensUpdated 7 days ago
    Media & CreativeAuto-check passed

More from athola/claude-night-market

All 152 skills in this repo
  • Night Market Diagnostics Toolkit

    athola/claude-night-market

    Run and interpret repo diagnostic scripts (ratchets, validators, token stats).

    341 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Skills Eval

    athola/claude-night-market

    Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.

    341 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Agent Teams

    athola/claude-night-market

    Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.

    341 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Delegation Core

    athola/claude-night-market

    Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).

    341 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Elegant Code

    athola/claude-night-market

    Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.

    341 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Skill Library Mission

    athola/claude-night-market

    Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.

    341 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Gif Generation

What does Gif Generation do?

Converts webm/mp4 video files to optimized GIFs via ffmpeg with configurable quality settings. Gif Generation is an agent skill from athola/claude-night-market. Converts webm/mp4 video files to optimized GIFs via ffmpeg with configurable quality settings.

When should I use Gif Generation?

Gif Generation fits situations like: post-processing recordings into shareable GIFs; tasks that involve Video production; tasks that involve Social media graphics.

How do I install Gif Generation in Claude Code?

Run `npx skills add athola/claude-night-market --skill gif-generation -a claude-code`. Or copy the skill folder (plugins/scry/skills/gif-generation in athola/claude-night-market) into .claude/skills/gif-generation in your project. Claude Code loads it when a task matches its description.

How do I install Gif Generation in Codex?

Run `npx skills add athola/claude-night-market --skill gif-generation -a codex`. Or copy the skill folder (plugins/scry/skills/gif-generation in athola/claude-night-market) into .agents/skills/gif-generation in your project. Codex loads it when a task matches its description.

Can I use Gif Generation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add athola/claude-night-market --skill gif-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gif-generation, .gemini/skills/gif-generation, .github/skills/gif-generation and .opencode/skills/gif-generation in your project.

What does Gif Generation need to run?

Going by SKILL.md and its folder, Gif Generation needs the command-line tools its instructions call (ffmpeg and ffprobe).

Does Gif Generation access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Gif Generation safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Gif Generation use?

Gif Generation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gif Generation use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Gif Generation?

Skills that share tags, products or a category with Gif Generation: Media Processing (nicepkg/ai-workflow, 285 stars), Painted Animation (tuzhechen2005/opus-video-skills, 146 stars), Video Clip Extractor (linzzzzzz/openclip, 569 stars) and Render Brand Identity Reveal (gooseworks-ai/goose-skills, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gif Generation?

athola (a GitHub user) maintains it in athola/claude-night-market, which has 341 GitHub stars. The repository holds 152 skills in this directory. The repository was last updated on October 9, 2026.

Source: athola/claude-night-market on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.