⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

video-to-skill

@mnvsk97⭐ 18 stars

>

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐⭐ 18 on GitHubGitHub ↗

Growing

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

eyeroll

CI PyPI Python License: MIT

AI eyes that roll through video footage — watch, understand, act.

eyeroll is a Claude Code plugin that analyzes screen recordings, Loom videos, YouTube links, and screenshots, then helps coding agents fix bugs, build features, and create skills.

Install

# Add the plugin to Claude Code
/plugin marketplace add mnvsk97/eyeroll
/plugin install eyeroll@mnvsk97-eyeroll

# Install the CLI
pip install eyeroll[gemini]      # Gemini Flash API (recommended)
pip install eyeroll[twelvelabs]  # TwelveLabs direct video understanding
pip install eyeroll[openai]      # OpenAI GPT-4o + OpenRouter/Groq/Grok/Cerebras
pip install eyeroll              # Ollama only (local, no API key) — requires Pillow
pip install eyeroll[all]         # everything

Setup

/eyeroll:init

Picks your backend, configures API key, and generates codebase context — all in one step.

For TwelveLabs directly:

export TWELVE_LABS_API_KEY=your-key-here
eyeroll watch ./bug.mp4 --backend twelvelabs

Commands

CommandWhat it does
/eyeroll:initSet up eyeroll — pick backend, configure API key, generate .eyeroll/context.md
/eyeroll:watch <url>Analyze a video and present a structured summary
/eyeroll:fix <url>Watch a bug video → diagnose → fix the code → raise a PR
/eyeroll:historyList past video analyses

Usage

In Claude Code

You: /eyeroll:watch https://loom.com/share/abc123
     → Analyzes video, presents: what's shown, the bug, key evidence, suggested fix

You: /eyeroll:fix https://loom.com/share/abc123
     → Watches video, greps codebase, finds the bug, fixes it, raises a PR

You: watch this tutorial and create a skill from it: ./demo.mp4
     → video-to-skill activates, watches video, generates SKILL.md

You: /eyeroll:history
     → Lists past analyses with timestamps and sources

Standalone CLI

eyeroll watch https://loom.com/share/abc123
eyeroll watch ./bug.mp4 --context "checkout broken after PR #432"
eyeroll watch ./bug.mp4 -cc .eyeroll/context.md --parallel 4
eyeroll watch ./bug.mp4 --backend ollama -m qwen3-vl:2b
eyeroll watch ./bug.mp4 --backend twelvelabs
eyeroll watch ./bug.mp4 --backend groq
eyeroll watch ./bug.mp4 --backend openrouter -m anthropic/claude-3.5-sonnet
eyeroll watch ./bug.mp4 --backend openai-compat --base-url https://my-server/v1
eyeroll watch ./bug.mp4 --no-context               # skip auto-discovery of codebase context
eyeroll watch ./bug.mp4 --no-cost                   # suppress cost estimate
eyeroll watch ./bug.mp4 --scene-threshold 50        # tune scene-change sensitivity
eyeroll watch ./bug.mp4 --min-audio-confidence 0.6  # stricter audio filtering
eyeroll history

How it works

/eyeroll:watch https://loom.com/share/abc123
    ↓
1. Preflight check (verify backend is reachable, detect capabilities)
    ↓
2. Download video (yt-dlp)
    ↓
3. Choose strategy:
   - Gemini API key: direct upload via File API (up to 2GB)
   - TwelveLabs: direct video understanding via Pegasus
   - Gemini service account: direct upload (up to 20MB)
   - OpenAI / OpenRouter / Groq: multi-frame batch (all frames in one call)
   - Ollama: frame-by-frame (one frame per call)
    ↓
4. Transcribe audio if present
    ↓
5. Cache intermediates (reuse on next run)
    ↓
6. Synthesize report with codebase context:
   - Metadata: intent, category, confidence, scope, repo guess, handoff recommendation
   - Bug, feature, question, docs, tutorial, review, or notes sections as appropriate
   - Agent handoff only when a code/docs/test/config change is actually useful
   - Search patterns and verification steps for coding agents when relevant
    ↓
7. Present summary to user
    ↓
/eyeroll:fix goes further:
   → grep codebase → read files → implement fix → run tests → PR

Backends

BackendStrategyAudioAPI KeyCostBest for
geminiDirect upload (up to 2GB)YesGEMINI_API_KEY~$0.15Best quality (gemini-2.5-flash)
twelvelabsDirect video reportIncluded in video analysisTWELVE_LABS_API_KEYusage-basedNative video understanding
openaiMulti-frame batchWhisperOPENAI_API_KEY~$0.20Existing OpenAI users
ollamaFrame-by-frameNoNoneFreePrivacy, offline
openrouterMulti-frame batchNoOPENROUTER_API_KEYvariesModel variety
groqMulti-frame batchNoGROQ_API_KEYcheapLow latency
grokMulti-frame batchNoGROK_API_KEYvariesxAI models
cerebrasMulti-frame batchNoCEREBRAS_API_KEYcheapFast inference
openai-compatMulti-frame batchNoany env varvariesCustom/self-hosted endpoints

TwelveLabs uploads the video as an asset and asks Pegasus to generate the final structured report directly. It is intentionally not a frame-by-frame fallback backend; for videos beyond the direct-upload limits, use Gemini or OpenAI.

Ollama runs locally. Install and start Ollama separately, then eyeroll can pull the selected model on first use.

Codebase context

eyeroll automatically discovers codebase context from files like CLAUDE.md, AGENTS.md, CURSOR.md, and .eyeroll/context.md (disable with --no-context). You can also run /eyeroll:init to generate .eyeroll/context.md manually.

Without context, all file paths in the report are labeled as hypotheses.

Caching

eyeroll caches frame analyses and transcripts in ~/.eyeroll/cache/ (global). Same video = no re-analysis. Different --context re-runs only the cheap synthesis step. Legacy local .eyeroll/cache/ is still checked for backward compatibility.

eyeroll watch video.mp4                    # full analysis (~15s)
eyeroll watch video.mp4 -c "new context"   # instant — cached frames
eyeroll watch video.mp4 --no-cache         # force fresh

Cost estimates

eyeroll prints a cost estimate to stderr after each analysis. Disable with --no-cost. Ollama runs are always free.

Plugin structure

eyeroll/
  commands/              ← slash commands
    init.md              ← /eyeroll:init
    watch.md             ← /eyeroll:watch
    fix.md               ← /eyeroll:fix
    history.md           ← /eyeroll:history
  skills/                ← background skills
    video-to-skill/      ← activated by "create a skill from this video"
  eyeroll/               ← Python CLI package
    cli.py, watch.py, analyze.py, extract.py, backend.py, context.py, cost.py, history.py
  tests/                 ← unit, pipeline, server, MCP, and integration tests

Supported inputs

InputFormats
Video.mp4, .webm, .mov, .avi, .mkv, .flv, .ts, .m4v, .wmv, .3gp, .mpg, .mpeg
Image.png, .jpg, .jpeg, .gif, .webp, .bmp, .tiff, .heic, .avif
URLYouTube, Loom, Vimeo, Twitter/X, Reddit, 1000+ sites via yt-dlp

Development

git clone https://github.com/mnvsk97/eyeroll.git
cd eyeroll
pip install -e '.[dev,all,server]'
pytest                                                    # unit tests
pytest tests/test_integration.py -v -m integration        # real API tests

License

MIT

// HOW IT'S BUILT

KEY FILES

plugins/eyeroll/skills/video-to-skill/SKILL.mdREADME.md

// REPO STATS

18 stars