podcast-episode-producer
End-to-end production of a published podcast episode from raw recording.
Skill by explicit09
Chalk Labs
Need help deploying podcast-episode-producer?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/explicit09-podcast-episode-producer
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/podcast-episode-producer
What's inside
- Skill name
podcast-episode-producer- Description
- End-to-end production of a published podcast episode from raw recording. Identifies hooks, removes filler, applies a clean cold-open structure, and renders a final mp4.
- License
- Apache-2.0
- Instructions
- 529 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- body: 529 lines (spec recommends under 500)
Files (3)
- SKILL.md
- metadata_plan.py · scripts/
- render_verify.py · scripts/
SKILL.md (first lines)
# Podcast episode producer You are producing a finished podcast episode from a raw recording. The goal is **a single ~30-90 minute mp4 the user can publish today**. You own the whole flow end-to-end; ask the user for input only on genuinely-ambiguous editorial calls (e.g. "do you want to keep this tangent at 22:14?"), not on mechanics. Completion means the whole producer pipeline, not a few cleanup edits. If the user says "edit this", "prepare this episode", "finish this", or similar, continue through structure, cleanup, visual/brand polish, audio/package metadata, confirmation, render, verification, and handoff unless a specific blocker prevents it. Do not stop after start/end trims, dead-air cleanup, loudness, or a draft note and imply the episode is done. ## The editor-order playbook Run these in order. After each step, summarize what you did in 1-2 short sentences before moving on. After the timeline draft, present the cut list to the user and pause for confirmation before rendering. ### 1. Preflight the project - Call `list_assets` if available, then `view_episode`. - Confirm raw video, clean audio, music, graphics, b-roll, and any sponsor/media assets are present. If separate audio exists but the timeline has no synced/paired graph representation, report a sync blocker instead of pretending the edit is ready. - Use `bash`/`ffprobe` only for sanity checks such as duration, frame rate, audio streams, corrupt files, and sample rate. Do not mutate media or `project.otio.json` through `bash`. - Target long-form delivery is usually 1080p or 4K, source frame rate, 48 kHz audio, and timeline render via `start_render(scope="timeline")`. ### 2. Read the episode shape - Call `view_episode` to see the full episode map (speakers, topics, duration, indexed channels). - Call `find_episode_start` to identify the publishable start. Raw podcast recordings often begin with real transcript text that is still pre-roll, off-camera setup, or a rehearsed intro; do not infer the start from `read_index(offset=0)` or from the first dead-air gap. - Run `podcast_flow_shape` before any extraction or cleanup on raw recordings longer than one normal episode, recordings with repeated starts/closes, or recordings that may contain planning chatter. This is the blocking episode-shape gate: use the returned transcript packet to classify flow semantically as one episode, multiple publishable episodes, clip candidates, and post-show/production spans. Literal boundary phrases are recall evidence only. - Run `podcast_episode_spans` or `auto-cutter/scripts/episode_span_plan.py` as a secondary hint pass, not as the source of editorial truth. If the semantic flow review or span planner indicates multiple publishable spans, stop and ask the user which episode to produce before trimming. - Do not continue to cleanup, visual polish, or render while `podcast_flow_shape` still reports `blocks_timeline_edits=true` and no explicit chosen span / user-choice escalation has been recorded. - After the user chooses a span, or after semantic review confirms a single accepted span, immediately persist it with `apply_episode_spans` (`status="accepted"`, `create_stringouts=true`) and verify with `list_episodes`. If one raw cast is split into multiple episode projects/timelines, repeat this in each resulting project. Timeline clips alone are not sufficient episode-scope metadata. - Call `shot_summary` if vision indexers ran — it tells you whether this is a heavy-B-roll edit (62%+ no-face shots = lots of cutaways) or a clean talking-head (>70% medium/close-up = minimal cutaways). - If `view_episode` shows zero topics and zero moments, stop and tell the user the project hasn't been indexed yet. Don't try to edit raw footage without the brain. - Use montage's richer index set when present: topic for chapter structure, editorial-moments for hooks/payoffs, shot for visual texture, face/gaze for direct-address moments, frame-quality for usable thumbnails, and CLIP/shot tools for cutaways. ### 3. Find the real start, ending, and cold open Find the real start before cleanup. Also find the real ending: remove tail chatter, "are we done?", standing up, technical talk, and dead air after the useful close. If a stronger mid-episode moment exists, build a cold open: hook first, then intro/title, then the chronological start. Represent this as `Insert Clip`/`Move Clip`/`Trim Clip` graph edits, not as render-time slicing. After extracting or drafting the usable episode span, re-read the timeline-relative transcript/topic map before creating chapters. This second pass is how the old editor avoided source-time chapter drift: the first pass finds the real episode inside a messy recording; the second pass names the actual topic transitions in the extracted edit. If the second pass still sees rehearsal, pre-show, post-show, or a botched intro take, tighten the span before branding. ### 4. Identify the editorial spine Pull the strongest 3-5 editorial beats. Use them to structure the episode: ``` find_beat(kind="hook", min_score=0.7) → opens the episode find_beat(kind="cta", min_score=0.6) → closing thoughts / pitch find_beat(kind="punchline", min_score=0.7) → mid-episode peaks find_beat(kind="emotional_peak", min_score=0.6) ``` For each surviving moment, call `inspect_moment(moment_id=...)` to see the surrounding transcript window + any dependencies. Dependencies are **load-bearing**: if a punchline depends on a setup 2 minutes earlier, keep both. ### 5. Radio edit the conversation This is an audio/story pass before visual polish. Listen through the full episode context via transcript, moments, and timeline ranges; do not edit isolated snippets without understanding callbacks. Use: ``` find_dead_air(max_silence_s=1.5) find_filler_words(aggressive=false)
From explicit09/montage, Apache-2.0.
More from explicit09/montage
- 0.523score
color-corrector
explicit09
Analyze footage color/exposure problems and apply clip-level graph-native color correction or LUTs through EDL ops.
SkillBFreshness: BClaude Code +9 - 0.504score
generated-explainer
explicit09
Use when the user wants a generated educational, technical, mathematical, or visual-essay video rather than an edit built primarily from recorded footage.
SkillBFreshness: BClaude Code +9 - 0.476score
beat-sync-editor
explicit09
Edit footage to music by creating beat-aligned cut plans, motivated transitions, speed accents, and verification of timing tolerance.
SkillCFreshness: CClaude Code +9 - 0.476score
pacing-optimizer
explicit09
Optimize pacing by removing dead zones, preserving intentional pauses, and applying safe speed changes based on content type and speech rate.
SkillCFreshness: CClaude Code +9 - 0.476score
auto-cutter
explicit09
Extract the real episode from a long raw recording, then apply conservative mechanical cleanup for silence, fillers, and false starts.
SkillCFreshness: CClaude Code +9 - 0.476score
drawn-artifacts
explicit09
Generate charts, data visualizations, animated counters, and polished motion-graphic assets with open-source generators (matplotlib, Manim, Lottie, Motion…
SkillCFreshness: CClaude Code +9 - 0.476score
interview-tightener
explicit09
Tighten an interview by 20-30% without losing meaning.
SkillCFreshness: CClaude Code +9 - 0.476score
meeting-highlights
explicit09
Create concise meeting highlight cuts and reports focused on decisions, action items, blockers, and executive-ready context.
SkillCFreshness: CClaude Code +9 - 0.476score
overlay-animation
explicit09
Plan generated motion-graphic overlay assets as Montage media overlays, with per-slot briefs, exact durations, and EDL insertion hints.
SkillCFreshness: CClaude Code +9 - 0.476score
podcast-editor
explicit09
Polish podcast or interview audio/video by tightening silence, removing filler, applying speed only where safe, balancing speakers, and verifying loudness.
SkillCFreshness: CClaude Code +9 - 0.474score
b-roll-suggester
explicit09
Find visual cutaways for spoken content from an EXISTING IN-PROJECT B-roll library (separate cutaway assets imported alongside the primary recording).
SkillCFreshness: CClaude Code +9 - 0.471score
chapter-intro
explicit09
Turn a chapter boundary, topic shift, or segment label into a reviewable title-card proposal with evidence and render verification.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 5, 2026 (1 month ago)
- Last release
- Jun 10, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/explicit09/montage
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from explicit09
- 0.523score
color-corrector
explicit09
Analyze footage color/exposure problems and apply clip-level graph-native color correction or LUTs through EDL ops.
SkillBFreshness: BClaude Code +9 - 0.504score
generated-explainer
explicit09
Use when the user wants a generated educational, technical, mathematical, or visual-essay video rather than an edit built primarily from recorded footage.
SkillBFreshness: BClaude Code +9 - 0.476score
beat-sync-editor
explicit09
Edit footage to music by creating beat-aligned cut plans, motivated transitions, speed accents, and verification of timing tolerance.
SkillCFreshness: CClaude Code +9 - 0.476score
auto-cutter
explicit09
Extract the real episode from a long raw recording, then apply conservative mechanical cleanup for silence, fillers, and false starts.
SkillCFreshness: CClaude Code +9 - 0.476score
drawn-artifacts
explicit09
Generate charts, data visualizations, animated counters, and polished motion-graphic assets with open-source generators (matplotlib, Manim, Lottie, Motion…
SkillCFreshness: CClaude Code +9 - 0.476score
interview-tightener
explicit09
Tighten an interview by 20-30% without losing meaning.
SkillCFreshness: CClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get podcast-episode-producer running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
podcast-episode-producer skill. Agent Mart. https://agentmart.dev/skills/explicit09-podcast-episode-producer (last updated 2026-10-24)