skills/gif-analyzer/SKILL.md
GIF analyzer
npx skillsauth add laststance/skills gif-analyzerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When running this skill in Codex, translate Claude Code-only primitives before acting: AskUserQuestion -> chat/request_user_input, TodoWrite -> update_plan, Task/TaskCreate/TeamCreate/SendMessage -> spawn_agent/send_input/wait_agent when available and allowed, and EnterPlanMode/ExitPlanMode -> a concise chat plan plus explicit approval.
Resolve Read/Write/Edit/Bash/WebSearch/WebFetch to Codex file/shell/web tools, and map ~/.claude/... paths to ~/.agents/... or ~/.codex/... unless the task explicitly targets Claude Code.
When running this skill in Cursor Agent, translate Claude Code-only primitives before acting: AskUserQuestion -> AskQuestion; TodoWrite -> Cursor TodoWrite or an equivalent checklist; Task/TaskCreate/TeamCreate/SendMessage/multi-agent flows -> Cursor Task (subagents), parallel Tasks, or run_in_background when allowed (TeamCreate/SendMessage may have no exact match); EnterPlanMode/ExitPlanMode -> Plan mode (SwitchMode / CreatePlan) plus explicit user approval.
Resolve Read/Write/Edit/StrReplace/Bash/web/search/MCP via Cursor Composer or Agent equivalents. MCP names written as mcp__server__tool typically map to call_mcp_tool with configured server identifiers. Map ~/.claude/... to ~/.cursor/skills/, .cursor/skills/, and .cursor/rules/ unless the task explicitly targets Claude Code.
Analyze animated GIFs by extracting frames and interpreting them as sequential video.
When the user uses /gif:
Pattern 1: Basic analysis
/gif ./animation.gif
Pattern 2: With specific request
/gif ./animation.gif describe what happens step by step
/gif ./demo.gif what is the character doing?
/gif ./screen.gif summarize this screen recording
Extract from the user's message:
/gifExample parsing:
/gif ./demo.gif explain the animation./demo.gifexplain the animationpython3 ~/.claude/skills/gif-analyzer/extract_gif_frames.py <gif_path> --output-dir /tmp/gif_frames_analysis
Options for long GIFs:
python3 ~/.claude/skills/gif-analyzer/extract_gif_frames.py <gif_path> --max-frames 30 --skip 2
Check gif_metadata.json for:
View frames in order: frame_001.png, frame_002.png, etc.
CRITICAL: Treat frames as a continuous video sequence:
If user provided a specific request, focus on answering that. Otherwise, provide a general analysis of the GIF content.
| Option | Description | Default |
|--------|-------------|---------|
| --output-dir, -o | Output directory | ./gif_frames_<timestamp> |
| --max-frames, -m | Max frames to extract | 50 |
| --skip, -s | Extract every Nth frame | 1 (all frames) |
📹 **GIF Analysis: [filename]**
**Overview:**
[1-2 sentence summary]
**Timeline:**
- [0.0s - 0.5s] Frame 1-5: [Description]
- [0.5s - 1.0s] Frame 6-10: [Description]
...
**[Answer to user's specific question if provided]**
pip install Pillow--skip 2 or higher--max-frames 20testing
Cited research briefs
development
Daily coding habit prompts JP
development
React core deep-dive JP
data-ai
Copy last agent reply