Skip to content
gigikennethPublic

About

Turn one recorded podcast episode into a full publish-ready content pack (YouTube, Spotify, blog, socials) with parallel AI agents. A Claude Code skill that works for any show.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎙️ pod-pack

Turn one recorded podcast episode into a full, publish-ready content pack — with a fleet of AI agents working in parallel.

pod-pack is a Claude Code skill. Point it at a finished episode and it produces the YouTube title, description and tags; the Spotify description; a blog post; and social posts for LinkedIn, Instagram, TikTok, and a YouTube community post — plus cleaned-up captions — all in your show's voice, filed neatly into a repo. The content pieces are generated by spawning one background agent per deliverable, so eleven pieces of copy get written at once instead of one after another.

License: MIT Claude Code Skill PRs Welcome

Nothing about the skill is tied to any one podcast. All the show-specific facts — name, host, links, voice, where files get filed — live in a single show-profile.yaml you fill in once. Then it works for your show.


Contents

What it does

Give it a recorded episode and it walks four phases (do all four, or just the one you need):

Phase What happens Who drives
1. Edit (browser editors only) Tighten the episode in Riverside's web transcript editor — driven through Chrome — cutting tangents, credibility-denting asides, production artifacts. You + the skill
2. Captions Clean the exported .srt: strip hesitation markers, fix mis-heard names/brands/jargon, keep every timestamp. The skill
3. Content pack Spawn a parallel agent per deliverable to write all the copy at once, in your voice, SEO/AEO/GEO-optimized. The skill
4. File Commit the whole pack into your content repo, one folder per episode, so past episodes are easy to diff. The skill

The content pack (phase 3) is the core. From one clean transcript it produces:

  • YouTube title options (≤100 chars, with character counts)
  • YouTube description (templated, with timestamps + link blocks)
  • YouTube tags (≤500 chars, highest-value first)
  • Spotify description (Spotify-safe HTML)
  • Blog post (Markdown + frontmatter, ~700–900 words, with an FAQ for answer engines)
  • LinkedIn, Instagram, TikTok posts
  • YouTube community post
  • Newsletter blurb
  • Pull-quotes for quote-card graphics
  • Timestamps / chapters

Turn any of these off in your show profile.

Why use it

  • Parallel, not serial. One background agent per deliverable, spawned in the same turn. Eleven pieces of copy are drafted concurrently.
  • Your voice, not generic AI slop. Tone, copy rules ("no em dashes"), and guest-framing rules are read from your profile and enforced on every agent.
  • Optimized on purpose. Every text piece is written for SEO, answer engines (featured snippets, FAQ schema), and generative engines (citable, entity-rich phrasing) — see seo-aeo-geo.md.
  • Honest by default. It flags uncertain guest/brand spellings and legal-risk claims instead of guessing, and never fabricates a quote.
  • Filed and diffable. Every episode's pack lands in your repo in a consistent layout.

Requirements

  • Claude Code (the skill runs inside it).
  • python3 for the caption fixer (standard library only, no dependencies).
  • For phase-1 editing only: a browser-based transcript editor open in Chrome, plus the Claude in Chrome browser tools. Phase 1 drives the editor through your browser (clicking words in the on-screen transcript), so it only works with web editors like Riverside — not desktop apps (Premiere, Descript desktop, DaVinci). Skip this phase and phases 2–4 work with any editor.

Install

Copy the skill into your Claude Code skills directory:

git clone https://github.com/gigikenneth/pod-pack.git
cp -r pod-pack/skill ~/.claude/skills/pod-pack

(Or drop it in a project's .claude/skills/pod-pack to scope it to one project.) Claude Code discovers it automatically. See the skills docs for details.

Set up your show

Copy the example profile and fill it in — once:

cp ~/.claude/skills/pod-pack/show-profile.example.yaml ~/.claude/skills/pod-pack/show-profile.yaml

Open show-profile.yaml and set your show name, host, voice rules, standard links, and the repo where packs get filed. Anything you leave blank is skipped. That's the whole configuration — no code to touch.

Usage

In Claude Code, just describe what you're doing. The skill triggers on natural phrasing:

"Help me produce this week's episode with <guest>."
"Fix the SRT I just downloaded."
"Write the descriptions and social posts for episode 12."
"Just the YouTube title and tags."

You don't have to run all four phases or do them in one sitting — ask for one deliverable or the whole pack. The skill reads your show profile, gathers the episode facts once, and fans out.

The four phases

Each phase has a focused reference the skill reads as it gets there:

  1. Edit → references/riverside-editing.md — the mechanics of Riverside's canvas editor that actually work (word-boundary selection, zoom-verify before cutting, the black-preview red herring). Optional phase.
  2. Captions → references/srt-fixes.md — building a correction map and running the fixer.
  3. Content pack → references/content-formats.md (exact format per deliverable) + references/seo-aeo-geo.md (optimization applied to each).
  4. File → the skill commits the pack to repo.path from your profile, one folder per episode.

Full pipeline logic lives in skill/SKILL.md.

What's in the box

pod-pack/
├── README.md                         ← you are here
├── LICENSE                           ← MIT
├── CONTRIBUTING.md
└── skill/                            ← copy this to ~/.claude/skills/pod-pack
    ├── SKILL.md                      ← the pipeline: four phases + guardrails
    ├── show-profile.example.yaml     ← your show's facts, voice, links, repo (fill once)
    ├── references/
    │   ├── riverside-editing.md      ← editing mechanics for Riverside
    │   ├── srt-fixes.md              ← caption-cleanup workflow
    │   ├── content-formats.md        ← exact format for every deliverable
    │   └── seo-aeo-geo.md            ← SEO / answer-engine / generative-engine optimization
    └── scripts/
        └── fix_srt.py                ← strip ~ markers + apply a correction map (stdlib only)

Using the SRT fixer on its own

fix_srt.py is a standalone, dependency-free script — useful even outside Claude Code. It strips ~ hesitation markers and applies a JSON correction map, preserving every cue number and timestamp (corrections work even when a phrase spans two caption lines inside one cue):

python3 skill/scripts/fix_srt.py episode.srt --map corrections.json
# → writes episode-corrected.srt

corrections.json is just {"exact phrase heard wrong": "correct phrase"}. Short tokens that must not match inside other words go under "__word_boundary__":

{
  "Jan Gunther": "Jen Gunter",
  "C V G therapy": "CBT therapy",
  "__word_boundary__": { "LV": "Elvie" }
}

Run with no --map to only strip the ~ markers.

Customizing

  • Voice & rules: edit the voice: block in your profile. Every agent honors copy_rules and framing_rules.
  • Which deliverables: toggle them in the deliverables: block.
  • Formats: the templates in content-formats.md are derived from real published episodes. Adjust them to your platforms.
  • Blog schema: if your site has its own content schema, the skill reads an existing post and matches it; otherwise it uses the default frontmatter in the reference.

Limitations

  • Editing help is browser-based and Riverside-specific. Phase 1 works by driving a web transcript editor through Chrome — clicking words in the rendered transcript — so it only applies to browser editors like Riverside, not desktop apps. It knows Riverside's editor in detail; other web editors aren't covered yet. Phases 2–4 (captions, content pack, filing) are editor-agnostic and work with any .srt and transcript, browser or desktop.
  • You still make the calls. It confirms non-obvious cuts, the final title, and anything with legal or reputation weight, and never does the billed/irreversible steps (Riverside export, publishing, PRs) without asking.
  • Best with a guest interview format, though solo episodes work too — just skip the guest fields.

Contributing

Issues and PRs welcome — new platform formats, other transcript editors, better templates. See CONTRIBUTING.md.

License

MIT © 2026 Gigi Kenneth. Use it, fork it, adapt it to your show.


Keywords: podcast automation · podcast production · Claude Code skill · AI agents · content repurposing · show notes generator · SRT / caption cleanup · YouTube description generator · Spotify description · podcast SEO · Riverside

About

Turn one recorded podcast episode into a full publish-ready content pack (YouTube, Spotify, blog, socials) with parallel AI agents. A Claude Code skill that works for any show.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages