media-processing

media-processing is a skill for Claude Code, Codex from vellum-ai/vellum-assistant. It costs 16 tokens per session (3,555 once invoked), scanned A, original, MIT.

A media-processing pipeline for registering, preparing, analyzing, searching, and clipping video, audio, and image files.

In plain words
What is it for?
Extracting video keyframes, identifying moments or subjects, querying video with natural language, tracking processing costs, and creating clips.
Why use it?
It organizes lengthy media work into stages and supports retrying, resuming, and asking questions about processed video content.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Extracting video keyframes, identifying moments or subjects, querying video with natural language, tracking processing costs, and creating clips.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/vellum-ai/vellum-assistant/media-processing
About the project

Vellum Assistant is a personal AI assistant that remembers information about users, learns their preferences, and takes actions across connected apps. It is intended for people who want an assistant that can manage conversations, unfinished work, and proactive notifications over time. The catalogue skills, hooks, instruction, and setting configure or extend how the assistant works.

vellum-ai/vellum-assistant · 1,448 stars · on GitHub · vellum.ai

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add vellum-ai/vellum-assistant --skill media-processing
Clone the repo
git clone --depth 1 https://github.com/vellum-ai/vellum-assistant

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for media-processing

README.md
[![agentmods](https://agentmods.dev/badge/skills/vellum-ai/vellum-assistant/media-processing/github.svg)](https://agentmods.dev/skills/vellum-ai/vellum-assistant/media-processing)
Your own site
<a href="https://agentmods.dev/skills/vellum-ai/vellum-assistant/media-processing"><img src="https://agentmods.dev/badge/skills/vellum-ai/vellum-assistant/media-processing/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for media-processing

Your own site · 80×15
<a href="https://agentmods.dev/skills/vellum-ai/vellum-assistant/media-processing"><img src="https://agentmods.dev/badge/skills/vellum-ai/vellum-assistant/media-processing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 16 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,555 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00016 $0.03555
Opus 5.5 $0.00006 $0.01422
Sonnet 5.5 $0.00003 $0.00711
Haiku 4.5 $0.00002 $0.00356

Measured 1mo ago against content hash aa38b7020be5, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

media-processing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

The scan reads SKILL.md. This mod also ships 22 executable files (__tests__/audio-transcribe.test.ts, __tests__/concurrency-pool.test.ts, __tests__/cost-tracker.test.ts, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

assistant/src/config/bundled-skills/media-processing/SKILL.md · 282 lines

How it starts

The opening of the file, as written. The whole thing — 282 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Ingest and track processing of media files (video, audio, images) through a configurable 3-phase pipeline.

End-to-End Workflow

The processing pipeline follows a sequential 3-phase flow:

  1. Ingest (ingest_media) - Register a media file, detect MIME type, extract duration, deduplicate by content hash.
  2. Preprocess (extract_keyframes) - Detect dead time, segment the video into windows, extract downscaled keyframes, build a subject registry, and write a pipeline manifest.
  3. Map (analyze_keyframes) - Send each segment's frames to the configured Gemini vision model with assistant-provided extraction instructions and a JSON Schema for guaranteed structured output. Supports concurrency pooling, cost tracking, resumability, and automatic retries.
  4. Reduce / Query (query_media) - Send all map output to Claude for intelligent analysis and Q&A. Supports arbitrary natural language queries about video content.
  5. Clip (generate_clip) - Extract video clips around specific moments.

The processing pipeline service (services/processing-pipeline.ts) orchestrates phases 2-4 automatically with retries, resumability, and cancellation support.

Tools

ingest_media

Register a media file for processing. Accepts an absolute file path, validates the file exists, detects MIME type, extracts duration (for video/audio via ffprobe), and registers the asset with content-hash deduplication.

media_status

Query the processing status of a media asset. Returns the asset metadata along with per-stage progress details. Use this to monitor pipeline progress.

extract_keyframes

Preprocess a video asset: detect dead time via mpdecimate, segment the video into windows, extract downscaled keyframes at regular intervals, build a subject registry, and write a pipeline manifest.

Parameters:

  • asset_id (required) - ID of the media asset.
  • interval_seconds - Interval between keyframes (default: 1s). Use 0.5s for sports/action content where frame density matters.
  • segment_duration - Duration of each segment window (default: 15s).
  • dead_time_threshold - Sensitivity for dead-time detection (default: 0.02).
  • section_config - Path to a JSON file with manual section boundaries.
  • detect_dead_time - Whether to detect and skip dead time (default: false). Dead-time detection can be too aggressive for continuous action video like sports - it may incorrectly skip live play. Enable only for content with clear idle periods (e.g., lectures, surveillance footage).
  • short_edge - Short edge resolution for downscaled frames in pixels (default: 480).
  • include_audio - Whether to extract and transcribe audio for each segment (default: false). When enabled, each segment's audio is transcribed using the configured STT service and stored alongside visual frames.

Read the full file on GitHub · 282 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed aa38b7020be5
  2. 1mo ago First seen · 282 lines · 16 tokens per session scan A 2355e860b9ae

Subscribe to this mod's changes

media-processing is a skill published in the GitHub repository vellum-ai/vellum-assistant (1,448 stars, last pushed 2d ago), licensed MIT. It adds 16 tokens to every session and 3,555 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

lictor-security-check

Pre-release security audit for ANY project — AI-built or hand-written, web or mobile. Scans the codebase for the full range of real-world risks that get apps breached: leaked API & AI-provider keys, exposed configs/secrets, broken auth & access control (IDOR), injection (SQL/XSS/command), SSRF, open databases & cloud…

Raffa-jarrl/Lictor-AI · 135 tokens

lictor-rotate

Walks the user through rotating a leaked API key — step by step, provider-specific. Knows the exact URL to visit, the exact button to click, and how to verify the rotation worked. Supports Stripe, OpenAI, Anthropic, Google Cloud / AI Studio, GitHub, AWS, Slack, Supabase, Firebase, Postmark, and generic OAuth providers.

Raffa-jarrl/Lictor-AI · 80 tokens

lictor-explain

Takes any security finding, error message, or jargon-heavy security advice and explains it in plain English. Use this when someone is confused by what /lictor-security-check found, or when they got a security warning from another tool and don't understand it.

Raffa-jarrl/Lictor-AI · 56 tokens

lictor-fix-it

Applies the fixes recommended by /lictor-security-check, with the user's explicit permission for each change. Walks through findings one at a time, shows the proposed change, gets approval, applies, runs tests if available, and moves on. Some fixes (rotating leaked credentials) require the user to act outside Claude …

Raffa-jarrl/Lictor-AI · 75 tokens

ha-logs

A read-only troubleshooting skill for querying Hope Agent’s local SQLite databases, which store logs, conversations, and background-job status.

shiwenwen/hope-agent · 183 tokens

resume-builder

Build resume and LinkedIn profile through guided interview.

davekilleen/Dex · 12 tokens