video-ingest
Ingests a video's content (YouTube and similar) for agent context, routing by capability, task need, and video length — a natively multimodal engine (Gemini…
Skill by chrono-meta
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/chrono-meta-video-ingest
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, security, writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/video-ingest
What's inside
- Skill name
video-ingest- Description
- Ingests a video's content (YouTube and similar) for agent context, routing by capability, task need, and video length — a natively multimodal engine (Gemini via agy or the Gemini API) for direct-URL and long video, Claude vision over ffmpeg-extracted frames when no such engine is present, yt-dlp captions when the transcript alone suffices, and the logged-in claude-in-chrome session for auth-gated videos. The governor cross-checks any multimodal comprehensive-read. Triggered by "ingest this video", "what does this video show", "get the transcript from this YouTube video", "video-ingest".
- License
- MIT
- Instructions
- 104 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (1)
- SKILL.md
SKILL.md (first lines)
# video-ingest — Video Content Ingestion (capability-routed)
A video carries two separable signals: the **spoken transcript** (text) and the **visual content**
(on-screen demos, slides, UI). Captions give only the first. So the route is chosen by **what the task
needs** × **what engine is available** × **video length** — not a single fixed path. This reuses
frontier-digest's capability-over-engine logic and adds on-demand, need-based routing, a Claude-native
frame path, output normalization, and a governance cross-check.
FH's increment over a raw video executor (sister asset `claude-video`, github bradautomates/claude-video;
cross-audit note in a private companion store): the executors *watch*; FH **governs** — the
governor never trusts a multimodal "comprehensive read" at face value, it cross-checks claims against the
transcript / a second pass. Same compose pattern as the other FH↔executor pairs.
## Triggers
- "ingest this video" · "what does this video show / demonstrate"
- "get the transcript from this YouTube video" · "pull the captions from <URL>"
- "summarize what's on screen in this video"
- "video-ingest"
## Step 0 — What does the task need? (picks the tier)
- **Video understanding** (visual: demos, UI walkthroughs, slides, anything not in the spoken words)
→ a vision path (Tier 1a or 1b below). Captions miss the screen.
- **Transcript only** (spoken words suffice — a talk, an interview) → go straight to **yt-dlp** (Tier 3);
do not spend a vision engine when text is all that's needed (cost guard).
## Step 1 — Capability + length probe, then tier ladder (REUSE the probe — do not re-specify)
Resolve the engine by **capability, not name**, via frontier-digest's **Sidecar Engine Resolution
Protocol** (`plugins/fh-meta/skills/frontier-digest/SKILL_detail.md §Video-Harvest` — single source of
the probe commands). **Length is the 2nd axis** (claude-video is sparse past ~10min). The ladder:
- **Tier 1a — native multimodal, URL-direct (best for LONG video)**: an engine that watches the video and
returns spoken + visual detail, no frame cap. Verified: **Gemini ingests a YouTube URL directly**
(returns verbatim dialogue AND on-screen detail). Probe for a live route — the direct `gemini` CLI is
EOL (2026-06-18), so probe `agy` / the Gemini API. **Caveat (measured)**: a *YouTube URL* works, but an
**arbitrary (non-YouTube) stream is not reachable headless** (needs file upload) — degrade for those.
- **Tier 1b — Claude-native frame extraction (Claude-only; SHORT/MEDIUM ≤~10min)**: when no external
multimodal engine is present, do not give up on visual content — `ffmpeg` extracts frames (auto-scaled,
cap ~2fps/100 frames) → **Claude's own vision via Read** reads them as images (the claude-video
pattern). No separate runtime, **no Gemini-EOL exposure**. Caution: claude-video itself is a 3rd-party
executable (brew installs + optional Whisper egress) — if invoking it directly, review first; the
ffmpeg+Read mechanism can also be run inline without it.
- **Never route video to a coding-agent CLI** (codex, a non-multimodal model) — burns tokens, recovers
only metadata.
- **Tier 3 — yt-dlp transcript** (text only; conditional — probe first, never assume):
```bash
yt-dlp --no-update --skip-download --write-auto-subs --sub-langs en \
--sub-format json3 -o "/tmp/yt_%(id)s.%(ext)s" "<URL>"
python3 -c "import json,sys,re;d=json.load(open(sys.argv[1]));print(re.sub(r'\s+',' ',' '.join(s.get('utf8','') for e in d['events'] for s in e.get('segs',[]) if s.get('utf8','').strip())).strip())" /tmp/yt_<id>.en.json3
```
`--write-subs` (human captions) preferred when present. Keep yt-dlp current (`pip install -U yt-dlp`;
version/impersonation warnings are non-blocking). yt-dlp also supplies the transcript the governor
cross-checks a Tier-1 visual read against.
- **Auth-gated** (members-only / age-gated) → **claude-in-chrome** (operator's logged-in session).
video-ingest **surfaces this route as a handoff** — it does not drive the browser itself (the
`mcp__claude-in-chrome__*` tools are outside this skill's `allowed-tools`). Caveat: needs the Anthropic
"direct" plan — unavailable on a corp Bedrock laptop; surface the limit, do not loop.
- **Unresolvable** (no vision engine, yt-dlp probe fails, not auth-fixable) → operator summary remains the
path; say so plainly.
## Step 1.5 — Governance cross-check (FH's increment; do not skip on a multimodal read)
A Tier-1 engine's "comprehensive read" is a **self-report**, untrusted like any sidecar output. The
governor cross-checks its key claims against the transcript (Tier 3) or a second targeted frame pass
before accepting; a visual claim that contradicts the transcript or cannot be re-grounded is flagged, not
relayed as fact. (This is the governance claude-video has no equivalent for.)
## Step 2 — Normalize + hand off
Write clean text (+ visual notes if Tier 1) and metadata (video id, title, duration, source: multimodal
vs transcript, caption type human/auto) to a predictable path (`/tmp/yt_<id>_ingest.txt` or a
caller-specified path). Downstream grounding ingest is `corpus-grounding-expander`'s job — video-ingest
produces the artifact, it does not ingest into a store.
## Done When
- Output artifact written AND character count > 0 (or a specific failure reason surfaced). *[measured]*
- Tier chosen matches the task need × the live capability probe × length (video-understanding → Tier 1a
for long / Tier 1b for short-medium; transcript-only → yt-dlp). *[judged, pair: the probe is the
mechanical anchor]*
- A Tier-1 multimodal comprehensive-read was cross-checked against the transcript / a second pass before
its claims were relayed as fact. *[judged, pair: transcript diff is the mechanical anchor]*
- On failure, a specific reason is surfaced (no-captions / auth-required / no-vision-engine /
arbitrary-stream-headless-unreachable) — never a silent empty result. *[mandatory-pass]*
## Guards
- **No-reinvention** — the capability probe + tier ladder are frontier-digest's Sidecar Engine Resolution
Protocol (single source); the executors are yt-dlp (Bash), the Gemini path, ffmpeg+Read (claude-video
pattern), and claude-in-chrome (MCP). This skill routes by need × length, cross-checks, normalizes, and
reports — it builds no caption engine, no frame extractor, no browser automation.
- **Governor never trusts a multimodal self-report** — Step 1.5 cross-check is FH's increment over a raw
video executor; a visual claim is grounded before it is relayed.
- **Capability over engine name** — probe what an engine can actually do (EOL/availability drifts);
never assume `gemini`/`agy`/`yt-dlp`/`ffmpeg` is present.
- **Cost guard** — transcript-only need never spends a vision engine.
- **3rd-party executable caution** — claude-video (brew installs + optional Whisper egress) is reviewed
before install; the ffmpeg+Read mechanism can run inline without adopting the whole tool.
- **Corp-host honesty** — when a path is unavailable (Bedrock laptop, EOL CLI, headless-stream limit),
state it; do not loop on a path that cannot run.From chrono-meta/forge-harness, MIT.
More from chrono-meta/forge-harness
- 0.651score
persona-cast
chrono-meta
One-line doorway that lets a field harness review an artifact (a screen, a spec, a PR, a page) through a pre-built cast of review-shaped personas — web-review…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
cross-ecosystem-synergy-detection
chrono-meta
Automatically discovers useful combinations (synergy pairs) across multiple installed plugins and skills, and presents them as a ranked table.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
meta-prompt-builder
chrono-meta
Generates structured prompts to send to each agent in an agent dispatch plan.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
deliberation
chrono-meta
Multi-perspective synthesis structure — Innovator (propose) → Devil-Advocate (challenge) → Mediator (synthesize) 3-layer execution.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
return-path-gate
chrono-meta
Audits SKILL.md files in plugins/ for return-path gate compliance.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
verify-bidirectional
chrono-meta
A skill that immediately updates the baseline and reflects it in the next session when the user raises a counter-argument to an AI recommendation.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
pipeline-conductor
chrono-meta
Chains the four core FH verification pipelines (harvest-loop → steel-quench → phantom-quench → sim-conductor) into a single gated sweep.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
qp-plan
chrono-meta
Prepare stage of QP — builds a surface inventory of a web page or desktop app (routes, menus, forms, dialogs), checks it is MECE (no overlap, nothing missing…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
qp-run
chrono-meta
Automation stage of QP — executes the test cases from qp-plan against the live app through the session's adapter (Playwright MCP for web, computer-use MCP for…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
convergence-loop
chrono-meta
A universal gate-reinforcement meta-skill that replaces the "single-pass = done" pattern with a converging loop of up to N rounds.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
token-budget-gate
chrono-meta
Estimates token cost before a multi-step task and outputs a 4-tier Green/Yellow/Orange/Red gate verdict.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
contention-layer
chrono-meta
When two skills, agents, or independent research tracks produce conflicting verdicts on the same output, reads the conflict as a signal rather than an error…
SkillAFreshness: A★ 30Claude Code +9
Signals
- Stars
- 30
- Forks
- 1
- Open issues
- 2
- Last commit (this folder)
- Jul 12, 2026 (3 months ago)
- Last release
- Oct 24, 2026 (4 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/chrono-meta/forge-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from chrono-meta
- 0.651score
persona-cast
chrono-meta
One-line doorway that lets a field harness review an artifact (a screen, a spec, a PR, a page) through a pre-built cast of review-shaped personas — web-review…
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
cross-ecosystem-synergy-detection
chrono-meta
Automatically discovers useful combinations (synergy pairs) across multiple installed plugins and skills, and presents them as a ranked table.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
meta-prompt-builder
chrono-meta
Generates structured prompts to send to each agent in an agent dispatch plan.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
verify-bidirectional
chrono-meta
A skill that immediately updates the baseline and reflects it in the next session when the user raises a counter-argument to an AI recommendation.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
return-path-gate
chrono-meta
Audits SKILL.md files in plugins/ for return-path gate compliance.
SkillAFreshness: A★ 30Claude Code +9 - 0.647score
qp-plan
chrono-meta
Prepare stage of QP — builds a surface inventory of a web page or desktop app (routes, menus, forms, dialogs), checks it is MECE (no overlap, nothing missing…
SkillAFreshness: A★ 30Claude Code +9
Cite this page
video-ingest skill. Agent Mart. https://agentmart.dev/skills/chrono-meta-video-ingest (last updated 2026-10-24)