By zhuconv
Generate two-voice podcasts from YouTube URLs or thought leader names using a multi-stage AI agent pipeline. Input a URL for themed chapters with verbatim quotes or a name for chronological biography eras, producing TTS-ready 5-min overviews plus 10-min chapters via local Kokoro TTS. Ensures quote fidelity and structure via automated audits. Invoke with /chorus.
Name-mode gatekeeper for corpus-script-writer output. Verifies verbatim-quote fidelity across multiple source transcripts, transition integrity, no fabricated motivation, TTS-friendliness, and per-chapter length targets. Blocks synthesis until issues resolved.
Name-mode variant of script-writer. Turns evolution.json into TTS-ready chronological scripts — one short overview plus one chapter per era. Each era chapter opens with a transition passage acknowledging how the subject's views moved from the previous era. Never alters verbatim quotes.
Cross-video aggregator for name-mode runs. Takes N verified opinions.raw.json files (one per talk) and videos.json, clusters the subject's views into chronological eras, identifies transitions between them, and flags stable themes. Output is consumed by the corpus script-writer. Never fabricates motivation.
Given a raw YouTube candidate dump and a subject name, decide which entries are formal long-form talks BY that person (keynotes, interviews, podcasts, lectures), not ABOUT them or clipped from them. Output videos.json sorted by upload_date with era hints.
Cluster raw opinion tuples into 3-5 coherent themes and produce the final opinions.json that script-writer consumes. For multi-video runs, deduplicates repeated anecdotes and tracks stance evolution.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Tired of stacking conference lectures, TED talks, and deep 1-on-1 interviews into a Watch Later you'll never actually finish? Chorus is for you — drop in the URL, walk away with a 5-minute two-voice short where a host narrates and the speaker themselves quotes verbatim.
Or hand it a name — "Dale Schuurmans", "Mo Gawdat" — and Chorus searches YouTube, picks 3–5 talks, and stitches a chronological audio biography that tracks how the person's views evolved era by era. Either mode also gives you themed ~10-minute long chapters alongside the short.
Claude Opus 4.6 agents write it; a critic agent grep -Fs every quoted line back into the raw transcript and blocks the pipeline if a single word drifts. Kokoro 82M renders it locally in two voices. Every quote in the script links back to the exact second on YouTube. Runs on your Claude Pro/Max subscription — no ANTHROPIC_API_KEY needed.
A 4.9-minute short the pipeline produced from a 64-minute RLC 2025 keynote by Dale Schuurmans, Language Models and Computation. No human edits inside the run.
🎧 Download the MP3 · 📄 Read the annotated script
The .md is the human-readable script — every quote is a blockquote with a clickable YouTube timestamp. The MP3 is what Kokoro did with the underlying TTS-tagged source.
1. A critic agent audits every quote. Every line tagged [DALE] (or whatever the subject's first name is) must be a byte-for-byte substring of the raw transcript. The transcript-critic agent runs grep -F against transcript.txt and blocks the pipeline if even one word drifts. Same idea cross-source for name mode via corpus-script-critic.
2. The host and the subject sound different. Kokoro renders narration in one voice and quotes in another, paired by subject gender. "What the host says about Dale" and "what Dale actually said" are audibly distinct.
3. Source-linked Markdown is the published artifact. Every script ships as script.md — each verbatim quote becomes a blockquote with a deep-linked YouTube timestamp. Click → land on the exact second. The raw [HOST]/[DALE] script.txt is the TTS source; the .md is what humans read.
> [**12:37**](https://www.youtube.com/watch?v=YnMqbpdHcaY&t=757s) · _ICAPS 2024 Keynote_ · 2024-07-02
>
> there was this sense in which this started to look to me at least like an actual computer where you you were you know providing a problem...
4. No fabricated motivation. When a thinker's view shifts but they never said why, the era-aggregator marks it honestly and the corpus-script-critic blocks any chapter that invents a reason.
5. Runs off your Claude subscription. No API key, no billing dashboard. The Agent SDK shells out to your local claude binary — see Subscription auth below for the one-line trick that guarantees this.
uvx chorus "https://www.youtube.com/watch?v=yGLoWZP1MyA"
A transcript-investigator extracts (theme, thesis, verbatim_quote, timestamp) tuples. The transcript-critic greps each quote. The opinion-aggregator clusters into 3–5 themes. The script-writer drafts a ~5-minute short plus one ~10-minute chapter per theme. The script-critic verifies. chorus-annotate produces script.md sidecars. Kokoro renders.
uvx chorus "Dale Schuurmans" --max-videos 5
This is the more ambitious mode. Chorus:
npx claudepluginhub zhuconv/chorusUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.