Plugin · v1.0.5

Video toolkit

Updated

Turn public social video into a traceable reporting record: collect clips, transcribe the audio, inspect what appears on screen, and read the whole set through one dashboard.

One reporting pipeline

Four stages, one evidence trail

Run the stages in order for a new subject. Re-run one stage later when the collection changes.

  1. 1 Collect

    video-download

    Pull public video from Twitter/X, TikTok, YouTube, Instagram, and Facebook with yt-dlp, with a browser fallback when an extractor breaks.

  2. 2 Transcribe

    video-transcribe

    Create the transcript of record with Whisper on CPU and write a provenance sidecar that connects every transcript to its source media and decode settings.

  3. 3 Inspect

    video-frames

    Extract frames, assemble 3×3 contact sheets, and analyze on-screen text, setting, presentation style, and other visual evidence.

  4. 4 Compare

    video-dashboard

    Aggregate transcript and frame analysis into topic, tone, and cross-platform views in a local single-page dashboard.

Transcripts you can defend

Keep the quote connected to the audio

The CPU whisper.cpp path is the transcript of record. A GPU path is available as an accelerator, but the workflow does not assume another reporter has the same hardware.

Each .transcript.meta.json file records the engine and model build, a source-media hash, and pinned decode parameters. The record also states that GPU runs and different model quantizations are not byte-identical.

Security boundaries

Media stays data

The pipeline handles adversarial pages and files without granting them authority over the agent.

  • Untrusted by defaultSocial pages, metadata, media, transcripts, OCR, and analysis JSON remain untrusted data, never instructions.
  • No silent credentialsPublic unauthenticated access is the default. A clean credentialed browser profile requires explicit user approval.
  • Contained parsingMedia processing runs with private-network access blocked, plus resource and file-size limits.
  • Local dashboard codeThe dashboard uses a committed exact Chart.js asset and DOM-safe rendering instead of runtime CDN code.

Requirements

A local, inspectable toolchain

  • yt-dlp for public platform downloads
  • ffmpeg for audio and frame extraction
  • whisper.cpp with a ggml model
  • Python for analysis and orchestration
  • Node.js 20 or later with npm for the dashboard asset

CUDA and openai-whisper are optional. Nothing in the pipeline requires a GPU.

Responsible collection

The skills are designed for reporting and analysis of public accounts. They do not bypass access controls, automate credential reuse, or scrape at scale.

Platform terms and local law still apply. Confirm that the collection is lawful and proportionate before downloading media.

Installation

Install all four skills together

# Add the marketplace once

/plugin marketplace add jamditis/claude-skills-journalism

# Install the plugin

/plugin install video-toolkit@claude-skills-journalism

Browse the source and setup notes in the GitHub repository.

Start with the public record

Build a collection that another reporter can inspect, rerun, and trace back to the source media.

View video toolkit on GitHub