yt-digest is an agent-buildable YouTube intelligence automation starter kit. It watches YouTube channels through public RSS feeds, deduplicates videos, prepares transcript-centered analysis, writes Markdown reports, and can be extended with notifications and cross-channel synthesis.
The public repository is meant to be copied, configured, and expanded by an implementation agent for a specific YouTuber, research beat, founder, analyst, or operator. Private planning artifacts live outside this public repo and should stay there.
- A Typer CLI exposed as
yt-digest. - YAML configuration for projects, watchers, analysis profiles, context packs, and notification targets.
- YouTube RSS discovery by channel ID.
- Persistent state for seen videos and dedupe.
- Transcript ingest and analysis scaffolding.
- Markdown report generation under the configured output directory.
- Notification target plumbing with stdout, file, and OpenClaw examples.
- Cross-channel synthesis over existing Markdown reports.
- Tests covering config loading, discovery, state, ingest, analysis, reports, notifications, CLI behavior, and synthesis.
Create a virtual environment and install the package in editable mode:
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Run the configuration doctor against the example config:
yt-digest doctor --config configs/nate-b-jones.example.yamlInitialize state from the current feed so the first scheduled run does not treat the existing feed as all-new:
yt-digest init-state --config configs/nate-b-jones.example.yamlPreview the poll workflow without saving state:
yt-digest poll --config configs/nate-b-jones.example.yaml --dry-runWhen reports already exist under the configured output directory, run cross-channel synthesis:
yt-digest synthesize --config configs/multi-channel.example.yamlUse this prompt with an implementation agent after cloning the repo:
Build a yt-digest setup for this YouTube channel:
- Channel name:
- Channel URL or channel ID:
- Audience:
- Analysis goal:
- Preferred report tone:
- Context files to include:
- Notification destination:
Follow agent-instructions/build-for-a-youtuber.md. Do not move private planning artifacts into the public repo. Keep changes small and document the final commands I should run.
Start from configs/nate-b-jones.example.yaml for one channel or configs/multi-channel.example.yaml for synthesis across multiple channels.
Important fields:
project.output_dir: where state, reports, and synthesis outputs are written.llm: the provider/model metadata for analysis wiring.context_packs: optional local context files to load with a profile.analysis_profiles: prompts and profile-level context references.notification_targets: named delivery backends.watchers: channel-specific RSS and report settings.
Synthesis reads existing Markdown reports from output/reports and writes a combined report under output/synthesis.
It should not re-ingest transcripts, fetch feeds, or re-run per-video analysis. Treat it as a second-pass summarization layer over reports that already exist.
yt-digest synthesize --config configs/multi-channel.example.yamlThis repository contains public starter-kit code, example configuration, prompts, guides, and agent instructions. Private planning notes, customer-specific automation details, private channel strategy, and operational artifacts should remain outside this repo.