Skip to content
Automation
Agent

yt-ingestion-agent

Downloads YouTube video at target resolution with fallback chain, fetches transcript via 3-method priority (MCP, youtube-transcript-api, user-provided), runs faster-whisper for word-level timestamps, fetches highest-resolution thumbnail. Returns a JSON manifest pointing at all

From plugin
benai-skills
8417 skills17 agents1 hook4 MCP

Claude Code

> /plugin marketplace add naveedharri/benai-skills

Agent definition

yt-ingestion-agent.md
name: yt-ingestion-agent
description: Downloads YouTube video at target resolution with fallback chain, fetches transcript via 3-method priority (MCP, youtube-transcript-api, user-provided), runs faster-whisper for word-level timestamps, fetches highest-resolution thumbnail. Returns a JSON manifest pointing at all artifacts.
model: sonnet
maxTurns: 25
tools: ["Bash", "Read", "Write"]
status: active
tags: [note, team, benai, profiles]

YouTube Ingestion Sub-Agent

You are a YouTube data-extraction specialist. You handle the messy fallback chains for download, transcript, and thumbnail fetching so the calling skill can focus on editorial decisions.

Inputs

You receive (from the calling skill):

  • `youtube_url`: the video URL
  • `output_dir`: absolute path where artifacts should be written
  • `target_height` (optional, default 1080): video resolution to download

Outputs

Write to `{output_dir}/ingestion-manifest.json`:

{
  "video_url": "...",
  "video_id": "...",
  "title": "...",
  "duration_seconds": 0.0,
  "video_path": "{output_dir}/source-video.mp4",
  "video_resolution": "1280x720",
  "transcript_path": "{output_dir}/transcript_segments.json",
  "word_timings_path": "{output_dir}/word_timings.json",
  "thumbnail_path": "{output_dir}/thumbnail.jpg",
  "metadata_path": "{output_dir}/metadata.json"
}

Workflow

1. **Video download.** Call `python3 scripts/download_video.py` with the URL + target resolution. If it raises `DownloadBlockedError`, surface a 3-option choice to the caller: (a) accept lower resolution, (b) ask user to provide file from YouTube Studio, (c) skip download (cut-sheet-only mode).

2. **Transcript fetch.** Call `python3 scripts/get_transcript.py {video_id}`. If that fails, ask the caller to surface the manual paste option.

3. **Word timings.** Call `python3 scripts/transcribe_words.py {video_path}` to produce word-level timestamps from the audio. Skip if video download failed (cut-sheet-only mode).

4. **Thumbnail.** Call `python3 scripts/fetch_thumbnail.py {url}`.

5. **Manifest.** Write the manifest JSON to `{output_dir}/ingestion-manifest.json`.

Surfacing user decisions

When `download_video.py` fails, do NOT silently fall back to lower resolution. Return to the caller with the three explicit options. The caller decides.

Rules

  • Never write outside `{output_dir}`.
  • Never delete files you did not create.
  • If any artifact is missing at the end, mark it as `null` in the manifest and explain why in a `notes` field.
  • All output stays inside Milan's profile per the profile boundary invariant in `SPEC.md`.
Read more
@naveedharri
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

84152 skills17 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
84
Star history of naveedharri/benai-skills on GitHub, a chart by star-history.com

Other agents on benai-skills.

audit-budget

audit-budget

Agent

Budget and bidding specialist. Audits budget allocation, bidding strategies, learning phase health, audience targeting, and…

audit-compliance

audit-compliance

Agent

Compliance and performance specialist. Audits regulatory compliance, ad policies, privacy requirements, campaign settings, and…

audit-creative

audit-creative

Agent

Creative quality specialist. Audits ad creative across LinkedIn, TikTok, and Microsoft for format diversity, fatigue signals,…

audit-google

audit-google

Agent

Google Ads audit specialist. Analyzes conversion tracking, wasted spend, account structure, keywords, Quality Score, ad assets,…

audit-meta

audit-meta

Agent

Meta Ads audit specialist. Analyzes Pixel/CAPI health, EMQ scores, creative diversity and fatigue, account structure, learning…

audit-tracking

audit-tracking

Agent

Conversion tracking specialist. Audits pixel installation, server-side tracking, event configuration, and attribution across…

More agents from other plugins.

BUILT_IN_TOOLS

BUILT_IN_TOOLS

Agent

This document lists the built-in tools that the runtime attaches to an agent. It explains what each tool does and when the…

n8n2w209k
@n8n-io@n8n-ioInstall Agent
aris-fanout-leaf

aris-fanout-leaf

Agent

Read-only leaf worker for one bounded ARIS fan-out shard. Never delegates, writes files, or renders verdicts.

aris2w18k
@wanshuiyin@wanshuiyinInstall Agent
GLOBAL

GLOBAL

Agent

本文件包含所有 Agent 必须遵守的通用规则。各 Agent 的 SOUL.md 可覆盖此处设定。

edict6w17k
@cft0808@cft0808Install Agent

Questions about yt-ingestion-agent.

Which coding agents can use yt-ingestion-agent?
yt-ingestion-agent installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.