Skip to main content

AI eyes that roll through video footage — watch, understand, turn into code actions.

Project description

eyeroll

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

eyeroll is a collection of AI coding agent skills that analyze screen recordings, Loom videos, YouTube links, and screenshots, then turn them into code actions.

Skills

Skill What it does
watch-video Watch a video and produce structured notes
video-to-pr Watch a bug video → diagnose → fix → raise PR
video-to-skill Watch a tutorial/demo → generate a Claude Code skill

Install

# Install all skills
npx skills add mnvsk97/eyeroll

# Install a specific skill
npx skills add mnvsk97/eyeroll@video-to-pr
npx skills add mnvsk97/eyeroll@video-to-skill
npx skills add mnvsk97/eyeroll@watch-video

Setup

pip install eyeroll    # or: pip install git+https://github.com/mnvsk97/eyeroll.git
eyeroll init           # set up Gemini API key
brew install yt-dlp    # for URL downloads (Loom, YouTube)

Or just set the key: export GEMINI_API_KEY=your-key (get one free)

Usage

In Claude Code (via skills)

User: fix this bug: https://loom.com/share/abc123
      → video-to-pr skill activates, watches video, finds code, fixes, raises PR

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

User: look at this recording, what's going on?
      → watch-video skill activates, produces structured notes

Standalone CLI

eyeroll watch https://loom.com/share/abc123
eyeroll watch ./bug.mp4 --context "checkout broken after PR #432"
eyeroll watch screenshot.png --verbose

How it works

Video (Loom / YouTube / local file / screenshot)
    ↓
eyeroll extracts: frames, audio, on-screen text
    ↓
Gemini Flash analyzes: what's shown, what's said, what happened
    ↓
Structured notes → skill decides what to do next
    ↓
video-to-pr:    search codebase → fix → PR
video-to-skill: extract workflow → generate SKILL.md
watch-video:    return notes to the agent

Supported inputs

Input Notes
Loom URLs Requires yt-dlp
YouTube URLs Requires yt-dlp
Local video files (.mp4, .webm, .mov) Direct analysis
Screenshots (.png, .jpg, .gif) Single-frame analysis
Any yt-dlp supported URL 1000+ sites

Requirements

  • Python 3.11+
  • ffmpeg (brew install ffmpeg)
  • yt-dlp (brew install yt-dlp) — for URL downloads
  • Gemini API key (free)

Cost

Typically under $0.15 per video analysis using Gemini 2.0 Flash.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eyeroll-0.1.0.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eyeroll-0.1.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file eyeroll-0.1.0.tar.gz.

File metadata

  • Download URL: eyeroll-0.1.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eyeroll-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ef1a66a3db304172eafcadc8aa55fa849d5e54b3d836d72b0190b5ecfc046181
MD5 833a0d5a0cad6510fb0de93f97482f70
BLAKE2b-256 a85b946afa4920d049506afb14ff4204bd4c2c92a7bd41269f430abfa1bd679d

See more details on using hashes here.

Provenance

The following attestation bundles were made for eyeroll-0.1.0.tar.gz:

Publisher: ci.yml on mnvsk97/eyeroll

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eyeroll-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eyeroll-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for eyeroll-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cf3a881bd3ef256a0e908fc90bfe477f734ba9db9762f826121b8213a32f1be
MD5 a0f69868abbbc5ccd6cfe02250f50b0a
BLAKE2b-256 409c0284d1ff6a85ebccc37b94c61eb79d686bf324a63825dee4968fb3517de3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eyeroll-0.1.0-py3-none-any.whl:

Publisher: ci.yml on mnvsk97/eyeroll

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page