npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

youtube-content-workflow

v2.0.0

Published

Claude Code skill: end-to-end YouTube production pipeline run by a persistent per-channel agent team (researcher + uploader long-lived, topic-runner ad-hoc, cap 3 concurrent), with intra-topic fan-out, per-step checkpoint resume, and fire-and-forget backg

Readme

YouTube Content Workflow Skill

Claude Code npm version npm downloads Node >=18 License: MIT Platforms Privacy: never public PRs Welcome GitHub stars

YouTube Content Workflow is a Claude Code skill that turns a Notion content calendar into scheduled YouTube videos end-to-end: pick a channel, generate SUCCESS-framework titles, run NotebookLM deep research, generate an Explainer video in the channel's language, transcribe it, draft the description, build the thumbnail (preferring Nano Banana Pro), generate tags, and schedule upload — never public.

This repository is the source for the skill. After install it lives at ~/.claude/skills/youtube-content-workflow/ and is invoked via the /youtube-content-workflow slash command.

Getting started

The fastest path from zero to a scheduled upload:

  1. Install Claude Code and sign in.
  2. Wire up the MCPs listed under Prerequisites — Notion, NotebookLM, YouTube, an image-gen MCP (Nano Banana Pro preferred), and a transcription source. Phase 0 of the skill probes each one and halts with the missing-tool name if any are absent.
  3. Set up the Notion databases described in schemas/notion-databases.md (YouTube Channels + Content Calendar) and add at least one upcoming topic with a Publish Date.
  4. Install the skill:
    npx youtube-content-workflow install
    Re-run after pulling updates — it's idempotent.
  5. Run it from Claude Code:
    /youtube-content-workflow
    Pick the channel, approve titles, review the generated assets, choose private or unlisted, and the skill schedules the uploads.

See the Phase Reference for what happens at each step and the Example for a full annotated run.

Skill

  • Trigger: /youtube-content-workflow
  • Install path: ~/.claude/skills/youtube-content-workflow/
  • State: local JSON cache (per-channel + per-run) + Notion (canonical)
  • Full docs: see SKILL.md for the complete phase-by-phase contract

Prerequisites

The skill orchestrates external MCPs at runtime. Install these in your Claude environment before first use — Phase 0 of the skill probes each one and halts with the exact missing-tool name if any are absent.

Don't have these MCPs yet? The links above point to ready-to-install servers. Phase 0.1 prints them in the halt message if anything is missing.

Never publish public. The skill enforces privacy != public with a pre-flight assertion before every upload call. There is no opt-out.

Quick Install

npx (recommended — no clone)

npx youtube-content-workflow install

If the package isn't on npm yet, install straight from GitHub:

npx github:vamsi-kodimela/maagpi-youtube-workflow-skill install

Subcommands:

npx youtube-content-workflow install              # idempotent; safe to re-run
npx youtube-content-workflow uninstall            # KEEPS state/
npx youtube-content-workflow uninstall --purge    # also delete state/ (irreversible)
npx youtube-content-workflow uninstall --yes      # skip confirmation
npx youtube-content-workflow --help

Requires Node ≥ 18. The CLI is cross-platform (macOS, Linux, Windows) and does the same work as the shell installers below.

macOS / Linux (clone + shell)

git clone https://github.com/vamsi-kodimela/maagpi-youtube-workflow-skill.git
cd maagpi-youtube-workflow-skill
chmod +x install.sh
./install.sh

Windows (PowerShell, clone)

git clone https://github.com/vamsi-kodimela/maagpi-youtube-workflow-skill.git
cd maagpi-youtube-workflow-skill
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
./install.ps1

Windows (Git Bash / WSL, clone)

cd maagpi-youtube-workflow-skill
./install.sh

Manual

mkdir -p ~/.claude/skills/youtube-content-workflow/{schemas,state/channels,state/runs}
cp SKILL.md ~/.claude/skills/youtube-content-workflow/
cp schemas/* ~/.claude/skills/youtube-content-workflow/schemas/

Then append the registration block to ~/.claude/CLAUDE.md so the slash command dispatches:

# youtube-content-workflow
- **youtube-content-workflow** (`~/.claude/skills/youtube-content-workflow/SKILL.md`) - End-to-end YouTube production pipeline. Trigger: `/youtube-content-workflow`
When the user types `/youtube-content-workflow`, invoke the Skill tool with `skill: "youtube-content-workflow"` before doing anything else.

All installers are idempotent — re-run after editing SKILL.md to push the new copy.

Phase Reference

The skill runs five phases. Phases 2 and 3 fan out as parallel Agent subagents (one per topic). User gates batch sequentially.

| Phase | What it does | MCPs called | |---|---|---| | 0. Channel + context | Probe MCPs. Pick channel. Load (cache → Notion) or capture (first-time) tone, audience, language, calendar DB. | YouTube, Notion | | 1. Calendar read | Query Notion content calendar for topics whose Publish Date falls in your chosen range. | Notion | | 2. Title gen | Per topic: 5 SEO + SUCCESS-framework titles (Heath, Made to Stick). User picks one. | (LLM only) | | 3. Heavy pipeline | Per topic: notebook → deep research → Explainer video → download → transcribe → description → thumbnail spec → image gen → tags → save. | NotebookLM, image gen, transcription | | 4. Review | Show every topic's assets + thumbnail. Approve / regen / skip. Pick privacy: private (default) or unlisted. | (UI gate) | | 5. Upload | Pre-flight assert (privacy != public, files exist, date in future). Schedule upload. Update Notion. | YouTube, Notion |

Example

A typical run for three topics in the next 7 days:

> /youtube-content-workflow

[Phase 0]   channel = Main Channel (UCxxxxxxxx) — cache hit
[Phase 1]   3 topics found in date range 2026-04-30..2026-05-07
[Phase 2]   spawned 3 parallel title gens
            topic 1: 5 candidates → user picked #2
            topic 2: 5 candidates → user picked #4
            topic 3: 5 candidates → user picked #1
[Phase 3]   spawned 3 parallel pipelines
            topic 1: notebook ✓ deep research (8m 12s) ✓ video (3m 4s) ✓
                     transcript ✓ description ✓ thumbnail ✓ tags ✓
            topic 2: ...
            topic 3: ...
[Phase 4]   review topic 1: approved
            review topic 2: regen thumbnail → approved
            review topic 3: approved
            privacy: private
[Phase 5]   pre-flight pass · uploaded 3 · all scheduled as private

✅ run complete: ~/.claude/skills/youtube-content-workflow/state/runs/run-2026-04-30-a1b2c3/

State Layout

~/.claude/skills/youtube-content-workflow/
├── SKILL.md
├── schemas/
└── state/
    ├── channels/
    │   └── UCxxxxxxxx.json      # cached channel metadata (mirrors Notion)
    └── runs/
        └── run-2026-04-30-a1b2c3/
            └── <topic_slug>/
                ├── metadata.json
                ├── video.mp4
                ├── thumbnail.png
                ├── transcript.txt
                ├── description.txt
                ├── tags.json
                └── titles.json

Channel state is canonical in Notion and locally cached for speed. See schemas/notion-databases.md for the required Notion schema (YouTube Channels + Content Calendar).

Update / Re-deploy

Edit SKILL.md in this repo, then re-run any installer (npx youtube-content-workflow install, ./install.sh, or ./install.ps1). The installers overwrite the deployed copy and skip the CLAUDE.md append if the registration block is already present.

Uninstall

npx

npx youtube-content-workflow uninstall            # KEEPS state/
npx youtube-content-workflow uninstall --purge    # also delete state/ (irreversible)
npx youtube-content-workflow uninstall --yes      # skip confirmation

macOS / Linux / Git Bash / WSL (clone)

./uninstall.sh             # remove SKILL.md + schemas + CLAUDE.md block; KEEP state/
./uninstall.sh --purge     # also delete state/ (irreversible)
./uninstall.sh --yes       # skip confirmation

Windows (PowerShell, clone)

./uninstall.ps1             # preserves state/
./uninstall.ps1 -Purge      # also delete state/
./uninstall.ps1 -Yes        # skip confirmation

Why this skill 🎯

  • Anti-hallucination by construction. Tool-sourced facts only, per-step output verification, language preservation. Never invents topics, calendar entries, or transcripts.
  • Parallel by default. Title gen and the heavy per-topic pipeline both fan out as subagent teams; user gates (title pick, review, privacy) batch sequentially.
  • Never public. Default privacy is private. unlisted requires explicit opt-in. A pre-flight assertion enforces this before every upload call.

Links

Relationship to existing skills

The legacy youtube-content-creator and youtube-notebooklm skills at ~/.claude/skills/ are left intact. This skill is a unified, MCP-first replacement. To retire the old ones, delete their directories and remove their CLAUDE.md entries manually — neither installer touches them.