Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yt-digest

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.

What Ships In V1

  • 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.

Quick Start

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.yaml

Initialize 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.yaml

Preview the poll workflow without saving state:

yt-digest poll --config configs/nate-b-jones.example.yaml --dry-run

When reports already exist under the configured output directory, run cross-channel synthesis:

yt-digest synthesize --config configs/multi-channel.example.yaml

Agent-Assisted Setup Prompt

Use 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.

Configuration Shape

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.

Cross-Channel Synthesis

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.yaml

Public Repo Boundary

This 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.

About

A starter kit for building your own YouTube digest bot for any channel. It watches videos, processes transcripts, writes reports, and summarizes patterns across channels.

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages