Pp Youtube
A self-maintained competitor-monitoring machine for YouTube: the read surfaces that matter for market and competitor research plus a local databank of channel histories, snapshots, comments, and packaging assets - market data hours old, not weeks. Trigger phrases: `monitor my youtube competitors`, `which competitor videos are gaining views right now`, `find fresh breakout videos in a niche`, `youtube packaging and thumbnail analysis data`, `mine youtube comments for audience signal`, `new niche research workspace`, `switch youtube api key`, `backfill youtube channel history`, `get the transcript of this youtube video`, `use youtube`, `run youtube`.
- Skill ID
- mvanhorn/printing-press-library/pp-youtube
- Publisher
- mvanhorn
- Repository
- printing-press-library
- Installs
- 0
- Files
- 1
- License
- Apache-2.0
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
mvanhorn/printing-press-library/pp-youtubeInstalls these files- SKILL.md
What this skill tells the agent
<!-- GENERATED FILE — DO NOT EDIT. This file is a verbatim mirror of library/media-and-entertainment/youtube/SKILL.md, regenerated post-merge by tools/generate-skills/. Hand-edits here are silently overwritten on the next regen. Edit the library/ source instead. See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->
YouTube — Printing Press CLI
Prerequisites: Install the CLI
This skill drives the youtube-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:
- Install via the Printing Press installer. It defaults binaries to
$HOME/.local/binon macOS/Linux and%LOCALAPPDATA%\Programs\PrintingPress\binon Windows: ``bash npx -y @mvanhorn/printing-press-library install youtube --cli-only`` - Verify:
youtube-pp-cli --version - Ensure the reported install directory is on
$PATHfor the agent/runtime that will invoke this skill.
If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead:
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/youtube/cmd/youtube-pp-cli@latestIf --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.
The YouTube Data API v3 read surfaces that matter for market and competitor research with complete parameter wiring, feeding a local SQLite databank designed for competitor monitoring: watch your ~15 competitors, monitor refreshes them for ~20-40 quota units per run, and velocity, growth, breakouts, comments-mine, and packaging turn the accumulated snapshots into current market intelligence that lagging analytics platforms deliver one to two weeks late.
When to Use This CLI
Reach for this CLI whenever the task is YouTube market or competitor research: tracking a fixed set of competitor channels over time, measuring what is gaining views right now, discovering fresh breakout videos in a niche, mining comments for audience signal, or collecting titles, thumbnails, and hooks for packaging analysis. It is the right tool when the answer should come from a locally owned, regularly refreshed databank instead of a lagging external analytics platform.
Anti-triggers
Do not use this CLI for:
- Do not use this CLI for your own channel's private analytics (revenue, retention, demographics, traffic sources) - that is the OAuth-only YouTube Analytics API, which this CLI deliberately excludes
- Do not use it to upload, edit, rate, or delete videos or manage a channel - all write operations are out of scope
- Do not use it to download video or audio media - use yt-dlp for media files
- Do not use it for wide-market computed judgments like cross-niche outlier scores or monetization estimates - curated analytics databases own that; this CLI owns fresh data on the channels you track
Unique Capabilities
These capabilities aren't available in any other tool for this API.
Competitor monitoring machine
- `watch` — Register the competitor channels your monitoring machine tracks, in a typed watchlist table you own.
_Defines the tracked market once; every later monitoring command runs against it without re-specifying channels._
youtube-pp-cli watch add @mkbhd --json- `monitor` — Refresh every watched channel in one run: stats snapshot, new uploads, re-snapshot of recent video statistics.
_One command keeps the databank current, so market answers are hours old instead of weeks old._
youtube-pp-cli monitor --json- `velocity` — See which tracked videos are gaining views fastest right now, computed from real between-snapshot deltas.
_Current market movement - what is taking off today, not what took off two weeks ago._
youtube-pp-cli velocity --json- `growth` — Channel-level subscriber, view, and upload-count deltas between dated local snapshots.
_Tells an agent whether a competitor is accelerating without any external history service._
youtube-pp-cli growth @mkbhd --json- `backfill` — Pull a channel's complete upload history with statistics into the local databank in one command.
_Run once per competitor; every later question about that channel is answered offline for free._
youtube-pp-cli backfill @mkbhd --json- `workspace` — Named databanks: keep the competitor machine in one database and explore a new niche in another, switching instantly.
_Lets an agent spin up a clean research sandbox per niche without risking the production watchlist databank._
youtube-pp-cli workspace list --json- `auth keys` — Store multiple named YouTube API keys, switch between them instantly, and optionally fail over automatically via --rotate when one runs out of quota.
_An agent can finish large collection jobs without human intervention when the first key's daily quota is spent._
youtube-pp-cli auth keys list --jsonFresh market discovery
- `breakouts` — Chain search filters into a matrix (terms x upload window x duration x region), join results to channel size, and rank fresh high-momentum videos.
_Finds niche breakouts days after upload, weeks before they reach lagging analytics platforms._
youtube-pp-cli breakouts "berlin history" --days 14 --json- `comments-mine` — Sync comments into a typed full-text-searchable table and report top-liked comments, keyword frequencies, and audience questions.
_Fast audience signal from data you own - what viewers praise, ask, and complain about across a channel._
youtube-pp-cli comments-mine @mkbhd --json- `packaging` — Collect titles, thumbnails (downloaded as local image files), and hook text from transcript openings into a packaging table.
_Hands a multimodal agent everything it needs for thumbnail and hook analysis without any scraping or manual collection._
youtube-pp-cli packaging @mkbhd --jsonCommand Reference
youtube — YouTube Data API v3 (read-only, api-key) for market and competitor analysis
youtube-pp-cli youtube activities-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube captions-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube channel-sections-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube channels-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube comment-threads-list— Retrieves a list of top-level comment threads, filterable by video, channel, or thread id.youtube-pp-cli youtube i18n-languages-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube i18n-regions-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube playlist-items-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube playlists-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube search-list— Retrieves a list of search resourcesyoutube-pp-cli youtube video-categories-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube videos-list— Retrieves a list of resources, possibly filtered.youtube-pp-cli youtube channel-uploads— List a channel's most recent uploads (resolves @handle or channelId, then walks the uploads playlist).youtube-pp-cli youtube playlist-enrich— Resolve a playlist to per-video metadata + transcript + description in one concurrent call.
More from mvanhorn
Use this skill in a project
Open any RiverX project, search the Skills panel for mvanhorn/printing-press-library/pp-youtube, and install it in one click.
