Install
openclaw skills install podcast-show-notes-generatorTurn podcast transcripts or audio files into a complete publishing package — SEO-optimized show notes, chapter timestamps, pull quotes, social clip suggestio...
openclaw skills install podcast-show-notes-generatorTurn raw podcast transcripts or audio files into a complete publishing package. The agent acts as a podcast producer + content marketer, transforming a conversation into SEO show notes, chapter markers, pull quotes, social clip suggestions, newsletter blurbs, YouTube and Spotify descriptions, guest outreach copy, and tested title variations — everything a host needs to ship an episode.
Invoke this skill when you have a recorded episode (audio or transcript) and need to produce all the surrounding written assets in one pass.
Basic invocation:
Generate show notes from this transcript: [paste transcript] Here's an MP3 of episode 47 with Sarah Chen — give me the full publishing package Write SEO show notes, timestamps, and 5 social clips from this episode
With context:
Podcast: "Builder's Edge" — solo founders, weekly, 45-60 min episodes. Tone is conversational, audience is technical Guest is Marcus Lee, CTO of Vendr. Episode covers procurement automation We publish on Spotify, Apple, YouTube, and a Substack newsletter — produce assets for all four
The agent ingests the audio or transcript, extracts metadata, structures the output for every distribution channel, and returns a copy-paste-ready package.
The agent accepts two input modes:
Audio file → transcript:
Input: episode-47.mp3 (raw audio)
Pipeline:
1. Run Whisper (large-v3 by default) for transcription
whisper episode-47.mp3 --model large-v3 --output_format json --word_timestamps True
2. Speaker diarization (pyannote.audio) to separate host/guest turns
3. Word-level timestamps preserved for accurate chapter markers and clip cuts
4. Punctuation restoration and capitalization for readability
5. Light editorial pass — remove filler ("um", "uh", "like" when overused), preserve voice
Output: cleaned transcript with [00:14:32] timestamps and SPEAKER labels
Pre-existing transcript:
Input: transcript.txt or .vtt or Descript export
Pipeline:
1. Detect format and normalize to internal structure (speaker, start_ts, end_ts, text)
2. If timestamps absent, the agent estimates them from word count and average WPM
3. If speakers unlabeled, the agent infers from context ("So, Marcus, tell me about...")
The agent will ask which mode to use and request file paths or pasted text. It handles transcripts up to ~3 hours of audio in a single pass.
The agent reads the full transcript and extracts:
| Field | How It's Extracted |
|---|---|
| Guest name | First introduction by host or guest self-intro |
| Guest title/company | Phrases like "I'm Marcus, CTO of Vendr" or host introduction |
| Guest bio (3-4 sentences) | Stitched from intro segment + any bio details mentioned mid-conversation |
| Episode title candidates | Top 3-5 themes by topic frequency and emotional weight |
| Key topics | NER + topic clustering on transcript chunks (typically 4-8 topics) |
| Notable mentions | Books, tools, companies, people referenced — for the resources section |
| Episode duration | From timestamps |
| Quotable density | Score of how many quotable lines exist (informs clip count) |
Sample metadata output:
guest:
name: "Marcus Lee"
title: "Co-founder & CTO"
company: "Vendr"
bio: |
Marcus Lee is the co-founder and CTO of Vendr, the SaaS buying platform that
has saved companies over $400M on software contracts. Before Vendr, he led
procurement engineering at HubSpot. He writes about negotiation leverage and
procurement automation at marcuslee.com.
links:
twitter: "@marcuslee"
linkedin: "linkedin.com/in/marcuslee"
company: "vendr.com"
episode:
duration: "52:14"
topics:
- "How procurement teams lose leverage in renewals"
- "Why list price is a fiction in enterprise SaaS"
- "Building negotiation playbooks from price data"
- "The future of AI-assisted procurement"
mentions:
books: ["Never Split the Difference", "The Hard Thing About Hard Things"]
tools: ["Vendr", "Coupa", "Ironclad"]
companies: ["HubSpot", "Stripe", "Brex"]
The agent generates chapter markers every 5-10 minutes based on topic shifts, not time intervals. It uses semantic chunking to find natural section boundaries.
Chapter generation logic:
00:00 — Intro & Marcus's path from HubSpot to Vendr
03:42 — Why list price is a complete fiction
09:18 — The renewal trap: how vendors capture you
16:05 — Building a negotiation playbook from price data
24:30 — When to walk away from a vendor
31:12 — AI agents in procurement: hype vs. reality
40:55 — Marcus's biggest negotiation loss (and what he learned)
48:20 — Rapid fire: tools, books, and what's next
These timestamps are formatted for YouTube (MM:SS — Title or HH:MM:SS — Title) and Spotify chapters (which use a different API but the same human-readable format).
The agent produces show notes with deliberate SEO structure:
# [H1: Episode Title with Primary Keyword] — Episode 47 with [Guest Name]
[Lead paragraph: 2-3 sentences. Include primary keyword in first 100 words.
Hook the reader with the most surprising or valuable claim from the episode.]
## About the Guest [H2]
[Guest bio paragraph from Step 2 metadata.]
## What You'll Learn [H2]
- Why [counterintuitive insight #1]
- How to [actionable insight #2]
- The [framework/playbook] Marcus uses to [outcome]
- [Surprising data point or claim]
- When NOT to [common advice the guest disagrees with]
## Episode Highlights [H2]
[3-4 paragraph narrative summary, written for skimmers and SEO.
Use H3 subheaders for each major topic. Each H3 includes the timestamp.]
### List Price Is a Fiction (3:42) [H3]
[2-3 sentence summary of this segment, with one pull quote inline.]
### The Renewal Trap (9:18) [H3]
[2-3 sentence summary.]
[... etc for each chapter]
## Timestamps [H2]
[Full chapter list from Step 3]
## Resources Mentioned [H2]
- [Book: Never Split the Difference by Chris Voss]
- [Tool: Vendr — vendr.com]
- [Article referenced]
## Connect with [Guest] [H2]
- Twitter: [@handle]
- LinkedIn: [profile]
- Website: [url]
## Subscribe & Support [CTA H2]
If this episode helped you, the best thank-you is a 5-star review on Apple Podcasts —
it takes 30 seconds and is the #1 thing that helps new listeners find the show.
[Apple link] | [Spotify link] | [Newsletter signup]
SEO checks the agent runs:
PodcastEpisode JSON-LD snippet provided as bonusThe agent surfaces 5-10 pull quotes optimized for social sharing. Selection criteria:
| Criterion | What the Agent Looks For |
|---|---|
| Standalone clarity | Quote makes sense without surrounding context |
| Counterintuitive | Challenges a common belief — drives engagement |
| Quotable length | 8-25 words ideal; under 280 chars for Twitter/X |
| Specific | Has a number, named example, or concrete claim |
| Voice-preserving | Sounds like the speaker, not generic |
| No filler | Edited to remove "you know", "I mean", false starts |
Sample pull quote output:
QUOTE 1 (best for Twitter/X):
"List price in enterprise SaaS is a fiction. Nobody pays it.
The real price is whatever you can negotiate before they need
to close the quarter."
— Marcus Lee, Episode 47 [9:42]
Format: text card with podcast cover, timestamp, attribution
QUOTE 2 (best for LinkedIn):
"Procurement teams lose leverage the moment a department head
has already picked the tool. The negotiation is over before
it starts."
— Marcus Lee [12:08]
Format: text-only post, expand into 3-paragraph LinkedIn essay
[... 3-8 more quotes ranked by virality potential]
The agent identifies the best 3-5 audio/video moments to clip for short-form social (TikTok, Reels, Shorts, X video). Each clip suggestion includes hook + arc + CTA reasoning.
Clip selection logic:
Sample clip output:
CLIP 1 — "The $40K mistake" (78 seconds)
IN: [16:32] "So I was negotiating with this vendor..."
OUT: [17:50] "...and that's how I learned never to skip the redlines."
HOOK (first 3 sec): "I lost forty thousand dollars in one negotiation."
ARC: setup (rookie negotiator) → mistake (skipped redlines) → consequence
($40K loss) → lesson (the rule he never breaks now)
CTA: "Full story and the playbook on Builder's Edge episode 47."
WHY THIS CLIP: Specific dollar figure as cold-open hook, vulnerable
admission earns trust, ends with actionable rule. High completion rate
predicted.
PLATFORM FIT: TikTok ★★★★★, Reels ★★★★★, LinkedIn ★★★, X video ★★★★
CLIP 2 — "List price is a fiction" (62 seconds)
IN: [3:42] ...
OUT: [4:44] ...
[hook / arc / CTA / fit as above]
[... 1-3 more clips]
The agent writes three blurbs for different newsletter contexts:
Short (Twitter-style, ~50 words):
New episode: I sat down with Marcus Lee, CTO of Vendr, on why
list price in enterprise SaaS is a complete fiction — and the
playbook he uses to save companies millions on renewals.
[Listen: link]
Medium (newsletter section, ~120 words):
This week's Builder's Edge: Marcus Lee, co-founder of Vendr,
joins to break down the procurement game most founders don't
know they're losing.
We covered:
- Why list price is a fiction (and what to negotiate instead)
- The renewal trap that captures 80% of SaaS buyers
- His framework for walking away — and when to actually do it
- Whether AI agents will replace procurement (his honest take)
If you've ever signed a SaaS contract and wondered if you got
played, this one's for you.
[Listen on Apple] | [Spotify] | [YouTube]
Long (standalone newsletter issue, ~400 words):
[Full standalone email: hook anecdote → problem → guest credibility →
4-5 bullet teasers → 1-2 inline pull quotes → CTA → P.S. with bonus]
[First 150 chars — visible above fold, must hook + include keyword]
List price is a fiction. Marcus Lee, CTO of Vendr, breaks down the
procurement playbook that's saved companies $400M on SaaS contracts.
[Subscribe CTA]
► Subscribe for new episodes weekly: [link]
[3-paragraph description with primary + long-tail keywords woven naturally]
[Timestamps — YouTube auto-detects these and creates chapters when first
timestamp is 00:00 and format is consistent]
00:00 — Intro & Marcus's path from HubSpot to Vendr
03:42 — Why list price is a complete fiction
[... full chapter list from Step 3]
[Resources block — links open in new tab, drive SEO juice]
🔗 Vendr: https://vendr.com
🔗 Marcus on Twitter: https://twitter.com/marcuslee
🔗 Books mentioned: [Amazon affiliate links if applicable]
[Hashtag block — last line, max 15 hashtags, first 3 most relevant]
#Procurement #SaaS #Negotiation #StartupOps ...
[Channel boilerplate — keep consistent across episodes for branding]
Spotify uses different chapter mechanics than YouTube. The agent produces:
<a href>, <b>, <i>)SPOTIFY CHAPTERS (titles trimmed to 50 chars max):
00:00 Intro & Marcus's path to Vendr
03:42 Why list price is a fiction
09:18 The renewal trap explained
16:05 Building a negotiation playbook
24:30 When to walk away from a vendor
31:12 AI agents in procurement
40:55 Marcus's biggest negotiation loss
48:20 Rapid fire round
SPOTIFY DESCRIPTION (HTML-friendly, under 4000 chars):
[Lead hook]
<b>What you'll learn:</b>
<ul>
<li>...</li>
</ul>
<b>Resources mentioned:</b>
<a href="https://vendr.com">Vendr</a>
...
The agent writes copy that the guest can copy-paste to share the episode on their own channels. This dramatically increases the chance the guest actually promotes — friction kills sharing.
Sample swipe copy package:
=== FOR THE GUEST TO COPY-PASTE ===
[Twitter/X — 280 chars]
Talked with @builderspod about why list price in enterprise SaaS
is a fiction, and the playbook I use to save buyers millions on
renewals. If you've ever signed a SaaS contract and wondered if
you got played, this one's for you. [link]
[LinkedIn — 1,300 chars optimized]
[Full LinkedIn post written from guest's POV — first person, conversational,
ends with CTA to listen]
[Email signature line]
🎙️ New: I joined Builder's Edge to break down procurement leverage. Listen ›
[Slack/Discord — short, casual]
Hey — was on Builder's Edge this week talking SaaS procurement.
If anyone's prepping a renewal, the playbook segment at 16:05
might save you a chunk. [link]
[Instagram caption — 2,200 char limit]
[Caption with line breaks every 1-2 sentences for mobile readability,
3-5 hashtags, link in bio reference]
The agent produces a keyword strategy spanning all platforms:
PRIMARY KEYWORD (use in title, H1, first paragraph):
"SaaS procurement"
SECONDARY KEYWORDS (use in H2/H3 and body):
- enterprise software negotiation
- vendor renewal strategy
- procurement playbook
- software contract negotiation
LONG-TAIL KEYWORDS (use in H3 subheaders and FAQ):
- "how to negotiate SaaS renewals"
- "what is list price in enterprise software"
- "when to walk away from a SaaS vendor"
APPLE PODCASTS CATEGORY:
Primary: Business > Entrepreneurship
Secondary: Technology
SPOTIFY TAGS (single words, 5-10):
procurement, saas, negotiation, startup, founder, b2b, enterprise
YOUTUBE TAGS (mix of broad + long-tail, max 500 chars):
podcast, saas, procurement, negotiation, "how to negotiate saas",
"marcus lee", vendr, "enterprise software", b2b, ...
INSTAGRAM/TIKTOK HASHTAGS (mix of size, 5-10 per post):
#saas (large) #procurement (medium) #foundertips (medium)
#enterprisesoftware (small/niche) #negotiation (large)
The agent produces 5 distinct title variations with reasoning, optimized for different goals:
TITLE A — Curiosity Gap
"Why List Price in Enterprise SaaS Is a Complete Fiction"
WHY: Strong contrarian claim. "Why" + counterintuitive = high CTR.
RISK: SEO weak — no keyword for buyers searching "negotiate SaaS".
BEST FOR: Twitter/X discovery, podcast app browse.
TITLE B — Outcome / Number
"How Vendr Saved Companies $400M Negotiating SaaS Contracts"
WHY: Specific dollar figure builds credibility. Brand mention helps SEO.
RISK: Sounds like a Vendr ad — may suppress organic shares.
BEST FOR: LinkedIn, business publications.
TITLE C — Question
"Are You Getting Played on Your SaaS Renewals?"
WHY: Direct address ("you") + emotional stakes (getting played).
RISK: Clickbait-adjacent; may hurt trust if overused.
BEST FOR: Newsletter subject line, Apple Podcasts browse.
TITLE D — Guest-First (SEO + Authority)
"Marcus Lee (Vendr) on Procurement, Renewals, and SaaS Negotiation"
WHY: Surfaces in searches for guest's name, brand, and topics.
RISK: Boring — low CTR for cold audiences.
BEST FOR: SEO, returning audiences who recognize the guest.
TITLE E — Hybrid (recommended)
"Marcus Lee: List Price Is a Fiction (and How to Win SaaS Renewals)"
WHY: Guest name for SEO + curiosity hook + outcome keyword. Balanced.
RISK: Slightly long (~70 chars) — may truncate on mobile.
BEST FOR: Default publish title across all platforms.
RECOMMENDATION: Ship Title E as the canonical title. Use Title A in
Twitter promotion, Title C as the newsletter subject line.
Input — transcript snippet (3 minutes of a 52-minute episode):
[00:09:18] HOST: So Marcus, you mentioned earlier this idea of the renewal
trap. Can you break that down for someone who's never heard it framed that way?
[00:09:30] MARCUS: Yeah, so here's the thing. Most companies, when they buy
SaaS, they think the negotiation happens at the start. You sign the deal,
you get your discount, you're feeling good. But the vendor knows something
you don't, which is that ninety percent of their gross margin comes from
renewals, not new logos. So they're playing a long game and you're playing
a short one.
[00:10:12] HOST: Wait, ninety percent?
[00:10:14] MARCUS: Ninety percent of gross margin in mature SaaS, yeah.
And this is why every contract they write has language that quietly tilts
the renewal in their favor. Auto-renewals, price escalators capped at
some number you didn't push back on, usage tiers that ratchet up but never
down. By the time you hit your second renewal, you're locked in. The
switching cost is too high, the data migration is too painful, and they
know it. So they raise prices fifteen, twenty percent and you pay it.
[00:11:02] HOST: And what do most procurement teams do wrong here?
[00:11:05] MARCUS: They wait. They wait until ninety days before renewal
to even start the conversation. By then it's over. The vendor has all
the leverage. The right time to negotiate your renewal is the day you
sign the original contract. You write the renewal terms in then, when
you still have leverage, when they still want to win the deal.
Output — partial publishing package for this segment:
chapter_marker:
time: "09:18"
title: "The renewal trap: how vendors capture you"
pull_quotes:
- quote: "Ninety percent of gross margin in mature SaaS comes from
renewals, not new logos. They're playing a long game and
you're playing a short one."
timestamp: "10:14"
platforms: ["twitter", "linkedin"]
- quote: "The right time to negotiate your renewal is the day you
sign the original contract."
timestamp: "11:18"
platforms: ["twitter", "linkedin", "instagram-card"]
social_clip:
title: "The 90% rule vendors don't want you to know"
in: "09:30"
out: "10:48"
duration: 78
hook: "Ninety percent of SaaS gross margin comes from renewals."
arc: "claim → why it matters → how vendors weaponize it → what gets locked in"
cta: "Full negotiation playbook in episode 47."
fit: { tiktok: 5, reels: 5, linkedin: 4, x_video: 4 }
show_notes_section:
h3: "The Renewal Trap (9:18)"
body: |
Most buyers think the negotiation happens at the start. Marcus
explains why that's exactly backwards: 90% of mature SaaS gross
margin comes from renewals, which means vendors quietly engineer
every original contract to tilt the next one in their favor.
Auto-renewals, uncapped escalators, ratcheting usage tiers — by
the second renewal, switching costs lock you in and prices climb
15-20% per cycle. The fix: negotiate renewal terms on day one,
when you still have leverage.
newsletter_short_blurb_excerpt: |
Vendors aren't making their money on the deal you just signed —
they're making it on the renewal you haven't thought about yet.
youtube_chapter_line: "09:18 — The renewal trap: how vendors capture you"
spotify_chapter_line: "09:18 The renewal trap explained"
guest_swipe_tweet: |
Talked with @builderspod about the renewal trap — why 90% of SaaS
gross margin comes from renewals, and how vendors engineer your
original contract to lock you in. If you've got a renewal in the
next 12 months, this segment alone is worth your time. [link]
This pattern repeats across all 8 chapters of the episode, producing the full package.
The agent delivers a single bundle containing:
Provide the audio file. The agent runs Whisper transcription, then produces the full package. Allow 3-5 minutes for a 60-min episode end-to-end.
Paste or upload the transcript. Skip the audio step. The agent works directly from text.
Specify which assets you want. The agent produces only those, faster.
Provide all transcripts in a folder. The agent processes them in series and also produces a meta-analysis: top recurring themes, best guest by quotable density, suggested cross-promotion between episodes.
Provide the URL or current copy plus the target keyword. The agent audits structure, suggests rewrites, and produces an updated version.
Provide the audience description. The agent adjusts tone, vocabulary, and clip selection accordingly. Same skill, different voice.