Skills

Video Transcripts

Transcribe a supplied local or linked video with Gemini and check the transcript...

Install

npx skills add udecode/dotai --skill video-transcripts -g -a claude-code -y
Repository
udecode/dotai1.2k
Category
Git and review
Updated
3d ago
License
See repository
Context cost
Mediumabout 2,225 tokens
Runs scripts
Yes, review before use

What it does

Transcribe a supplied local or linked video with Gemini and check the transcript against one frame per second, when a recording's contents are needed as evidence, such as a bug recording on an issue, PR or comment, or a question about what a video shows.

Video Transcripts

Quick Start

Run the helper once per relevant video. <skill> is this skill's directory:

bash <skill>/scripts/generate_video_transcript.sh \
  "https://uploads.linear.app/.../screen-recording.mov" \
  --title "PDF preview hyperlinks trigger leave-page modal"

Or for a GitHub attachment:

bash <skill>/scripts/generate_video_transcript.sh \
  "https://github.com/user-attachments/assets/..." \
  --title "Slash menu loses selection after confirm"

Or for a Screencastify watch page:

bash <skill>/scripts/generate_video_transcript.sh \
  "https://app.screencastify.com/watch/..." \
  --title "Bulk send expands filtered recipients"

Or for a local file:

bash <skill>/scripts/generate_video_transcript.sh \
  "/absolute/path/to/video.mov" \
  --title "Preview hyperlink exits workflow"

For auth-gated Linear uploads, the helper automatically retries with cookies from the local Linear desktop app on macOS. For private GitHub asset URLs, it retries with GITHUB_TOKEN, GH_TOKEN, or gh auth token when available.

The helper also cuts the video into one frame per second and prints Frames: <dir> on stderr. <dir>/frames/tSSSS.png is the frame at second SSSS, so [01:12] is t0072.png, and each <dir>/sheet-SSSS-SSSS.png shows the nine seconds its name spans in one image. Pass --frames <dir> to choose the directory. For a local video without Gemini, run bash <skill>/scripts/video_frames.sh <video> --output <dir>.

The transcript is a draft until Workflow step 3 checks it against the frames.

Use This When

  • A GitHub or Linear issue, PR, or comment includes a screen recording.
  • An attachment URL points to uploads.linear.app.
  • An attachment URL points to a GitHub attachment or private GitHub asset host.
  • A tracker links to a public Screencastify watch page.
  • You need timeline-style transcript lines, not a vague summary.
  • You want the result in this exact XML shape:
Read the whole SKILL.md on GitHub

More in Git and review