Media Processing
nicepkg/ai-workflow
Video/audio/image processing with FFmpeg and ImageMagick. An agent skill from nicepkg/ai-workflow.
Converts webm/mp4 video files to optimized GIFs via ffmpeg with configurable quality settings.
$ npx skills add athola/claude-night-market --skill gif-generation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install athola/claude-night-market gif-generation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "gif-generation" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/scry/skills/gif-generation into .claude/skills/gif-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gif-generation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/athola/claude-night-market/tree/master/plugins/scry/skills/gif-generationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add athola/claude-night-market --skill gif-generation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install athola/claude-night-market gif-generation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/scry/skills/gif-generation .agents/skills/gif-generation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gif-generation" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/scry/skills/gif-generation into .agents/skills/gif-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gif-generation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add athola/claude-night-market --skill gif-generation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install athola/claude-night-market gif-generation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/scry/skills/gif-generation .cursor/skills/gif-generation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "gif-generation" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/scry/skills/gif-generation into .cursor/skills/gif-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gif-generation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/athola/claude-night-market.git --path plugins/scry/skills/gif-generation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add athola/claude-night-market --skill gif-generation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install athola/claude-night-market gif-generation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/scry/skills/gif-generation .gemini/skills/gif-generation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "gif-generation" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/scry/skills/gif-generation into .gemini/skills/gif-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gif-generation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install athola/claude-night-market gif-generationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add athola/claude-night-market --skill gif-generation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/scry/skills/gif-generation .github/skills/gif-generation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "gif-generation" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/scry/skills/gif-generation into .github/skills/gif-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gif-generation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add athola/claude-night-market --skill gif-generation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install athola/claude-night-market gif-generation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/athola/claude-night-market.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/scry/skills/gif-generation .opencode/skills/gif-generation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "gif-generation" agent skill from https://github.com/athola/claude-night-market/tree/master/plugins/scry/skills/gif-generation into .opencode/skills/gif-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gif-generation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
gif-generationConverts 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. 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.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9f3eb00. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
ffmpegffprobeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
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.
The full file from athola/claude-night-market at commit 9f3eb00, republished under its MIT licence (© athola). 372 words, ~1,416 tokens.
.claude/skills/gif-generation/SKILL.md (or your agent's skills folder).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 resultsVerification: 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
fiVerification: 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 -1Verification: 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.gifVerification: 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.gifVerification: 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.gifVerification: 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.gifVerification: 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
fiVerification: 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.gifVerification: 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.gifVerification: 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.gifVerification: 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
Just SKILL.md in plugins/scry/skills/gif-generation of athola/claude-night-market.
Open the folder on GitHubat commit 9f3eb00
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Gif Generation this skillathola/claude-night-market | 341 | — | ~1.4k | Automated safety check: Notes | MIT | |
| Media Processingnicepkg/ai-workflow | 285 | — | ~2.4k | Automated safety check: Notes | MIT | |
| Painted Animationtuzhechen2005/opus-video-skills | 146 | 1 repos | ~1.9k | Automated safety check: Pass | Custom licence | |
| Video Clip Extractorlinzzzzzz/openclip | 569 | — | ~2.8k | Automated safety check: Warn | MIT | |
| Render Brand Identity Revealgooseworks-ai/goose-skills | 1.2k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Render Value Propgooseworks-ai/goose-skills | 1.2k | — | ~1.1k | Automated safety check: Pass | MIT |
nicepkg/ai-workflow
Video/audio/image processing with FFmpeg and ImageMagick. An agent skill from nicepkg/ai-workflow.
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.
linzzzzzz/openclip
Processes videos to identify engaging moments, generate transcripts, and create highlight clips with artistic titles and custom cover images.
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…
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…
calesthio/OpenMontage
Understand video content locally using ffmpeg frame extraction and Whisper transcription.
athola/claude-night-market
Run and interpret repo diagnostic scripts (ratchets, validators, token stats).
athola/claude-night-market
Evaluate Claude skill quality through auditing. An agent skill from athola/claude-night-market.
athola/claude-night-market
Coordinates Claude agent teams via filesystem protocol. An agent skill from athola/claude-night-market.
athola/claude-night-market
Delegates execution to eight CLIs (Gemini, Qwen, MiniMax, GLM, Muse, Codex, OpenCode, Glimmer).
athola/claude-night-market
Guide minimal code via a decision ladder with full safety, edge, and negative-case coverage.
athola/claude-night-market
Build a project skill library in .claude/skills/ via discovery, parallel authoring, and review.
Works with
Categories
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.
Gif Generation fits situations like: post-processing recordings into shareable GIFs; tasks that involve Video production; tasks that involve Social media graphics.
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.
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.
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.
Going by SKILL.md and its folder, Gif Generation needs the command-line tools its instructions call (ffmpeg and ffprobe).
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.
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.
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.
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.
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.
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.