gif-analyzer

Analyze animated GIF files by extracting and viewing frames as sequential video. Use when: - User mentions a GIF file path (e.g., "./demo.gif", "~/Downloads/animation.gif") - User wants to analyze or understand a GIF animation - User asks about motion, changes, or content in a GIF - User attaches or references a .gif file for analysis - User wants to examine a screen recording in GIF format - User invokes /gif slash command Keywords: "GIF", ".gif", "animation", "animated", "frames", "screen recording", "analyze gif", "gif analysis", "view gif", "gif content", "gif motion" Trigger patterns: - Natural language: "Analyze this GIF: ./demo.gif" - Slash command: `/gif <path>` or `/gif <path> <message>` When triggered, extract frames using the Python script, view frames in order, and interpret as continuous video sequence.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gif-analyzer" with this command: npx skills add laststance/skills/laststance-skills-gif-analyzer

GIF Analyzer

Analyze animated GIFs by extracting frames and interpreting them as sequential video.

Quick Start

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

Workflow

Step 1: Parse User Input

Extract from the user's message:

  1. GIF path: The file path immediately after /gif
  2. User request (optional): Any text after the GIF path

Example parsing:

  • Input: /gif ./demo.gif explain the animation
  • GIF path: ./demo.gif
  • User request: explain the animation

Step 2: Extract Frames

python3 ~/.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

Step 3: Read Metadata

Check gif_metadata.json for:

  • Total frames and duration
  • Individual frame timestamps
  • Resolution and loop information

Step 4: View and Analyze Frames

View frames in order: frame_001.png, frame_002.png, etc.

CRITICAL: Treat frames as a continuous video sequence:

  1. Frame 001 = START of the animation
  2. Frame numbers increase in TIME ORDER
  3. Consecutive frames show MOTION/CHANGE over time

Step 5: Respond to User

If user provided a specific request, focus on answering that. Otherwise, provide a general analysis of the GIF content.

Script Options

OptionDescriptionDefault
--output-dir, -oOutput directory./gif_frames_<timestamp>
--max-frames, -mMax frames to extract50
--skip, -sExtract every Nth frame1 (all frames)

Frame Analysis Guidelines

  1. Temporal Awareness: Frame 001 is the beginning
  2. Motion Detection: Compare adjacent frames to identify movement
  3. Key Frames: Identify significant moments (start, middle, end)
  4. Loop Points: Note if the animation appears to loop
  5. Duration Context: Use timestamp info to understand pacing

Output Format

📹 **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]**

Troubleshooting

  • Pillow not found: pip install Pillow
  • Too many frames: Use --skip 2 or higher
  • Large output: Use --max-frames 20

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

coderabbit-resolver

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-trace

No summary provided by upstream source.

Repository SourceNeeds Review
General

product-inspiration

No summary provided by upstream source.

Repository SourceNeeds Review
General

electron-release

No summary provided by upstream source.

Repository SourceNeeds Review