Skip to content

tim-osterhus/yt-digest

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

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages