Events AI Circle Partners Blog
3rd Space Bucharest · AI Workflows Card 001 In production since Jul 2026

A podcast episode, start to finishPodcast Production

Three Claude skills that take one recording from a calendar invite to finished show notes and cover art.

CreatorEric Melchor
Runs perEpisode
Skills3, chained
Time back~2 hrs / episode
Before — by hand 2 h 30 m

Research, script, email, write-up, Canva — spread across four apps and two days.

After — with Claude 30 m

Two short check-ins from Eric, one review pass, one manual step in Canva.

≈ 2 hours saved per episode — roughly a full working week back over a year of twice-monthly episodes.
Eric Melchor

“Every episode used to cost me about two and a half hours after the recording was finished. Now it’s about thirty minutes, and most of that is me checking Claude’s work. The skills stop and ask me questions — that part is on purpose.”

Eric Melchor · made these · Founder, 3rd Space Bucharest

Overview

What this does

The 3rd Space Bucharest podcast is short and casual — five to fifteen minutes, recorded on Google Meet with people from the community. Recording it is the easy part. Everything around it is not.

Before the recording, someone has to research the guest well enough to ask a question nobody has asked them fifty times already, and write the questions out. After it, someone has to turn messy meeting notes into show notes that sound human, and make two pieces of cover art in the right sizes.

That “someone” used to be me, for about two and a half hours an episode. Now three skills do most of it: one before the recording, one after, one for the artwork. A skill is just a set of written instructions Claude follows every time — so I don’t retype the same prompt twice.

They use the same Google Calendar, Gmail, Drive and Canva I already had. Nothing new to buy, nothing new to look after.

And they are not a hands-off machine. Two of the three stop and wait for me, because the things only I know — what a guest told me at an event, which Canva file is the live one — are what make the result worth publishing.

Before

Before: how I used to do it

Every episode, by hand, across five apps and two days.

Research the guest. LinkedIn, their website, a few searches — looking for one good detail. 30 min
Write the interview script. About twelve questions, a couple of them in Romanian. 35 min
Write the guest's heads-up email. Meet link, how the show works, a few sample questions. 10 min
Write show notes. Read the notes back, find a title that isn't boring. 30 min
Write the Instagram caption. Rewrite it in short lines, pick hashtags that aren't spam. 15 min
Build the two graphics. Find a photo, add a page to each Canva file, retype the title, fix the number. 30 min
Total, per episode ≈ 2 h 30 m
After

After: the three skills, in order

One skill per stage. They run in order, because each one needs what the last one made — the artwork can’t be built until the title exists.

1Before

Guest preppodcast-guest-prep

Turns a calendar invite into a full set of interview questions and a friendly email to the guest.

  • Finds the next recording in my calendar and pulls out the guest, their email and the meeting link.
  • Reads what the guest wrote about themselves when they booked, plus their LinkedIn, and looks for one interesting thing to open with.
  • Writes the questions in my usual format — about twelve, a couple in Romanian — and drafts the “see you tomorrow” email.
Waits for me First it stops and asks what I know about the guest that isn’t online. Nothing happens until I answer. Without that, the questions are the generic ones I could have written myself.
2After

Show notes & captionpodcast-description

Turns the messy automatic meeting notes into a title, a description and an Instagram post.

  • Finds the right notes file in Drive, even when the file name is slightly different from last time.
  • Writes a title with a Bucharest hook, plus two or three alternatives to choose from.
  • Writes the description in my voice and an Instagram caption with hashtags, and saves it all in one document.
Tells me what it’s unsure about Any link it couldn’t check, and anything it had to guess because the notes were vague. I fix those before anything goes out.
3Publish

Episode artworkpodcast-graphics

Adds the square cover and the wide thumbnail to my two Canva files as new pages.

  • Works out which episodes still need artwork by comparing the notes folder with what’s already in Canva.
  • Copies the title and the guest’s name exactly as written, accents included, and works out the episode number from the last page.
  • Builds both sizes, drops in the guest photo at half opacity, and places the text.
Still by hand Cutting the background out of the guest photo. The skill says so rather than pretending it’s done.
Tools

What you need

Nothing new to buy. Every one of these was already part of the job.

Claude · Cowork Google Calendar Gmail Google Drive Google Docs Canva Web search Cal.com booking notes Gemini meeting notes
The hard parts

What goes wrong — so it doesn’t go wrong for you

I found most of these the hard way. They’re written into the skills as warnings, which is the real difference between a skill and a prompt you retype.

LinkedIn “Activity” isn’t their work

That part of a profile is mostly things the person reshared. Treat it as theirs and you open the interview asking about something they never said.

Read the summary, jobs and awards. Skip the activity.

Meeting notes are a summary, not a transcript

If the notes say “a client”, that’s because the AI didn’t know who. Don’t turn a vague line into a specific claim.

Already published once: a client described as “themself” went out as “her”.

It mishears names

Any company or product name that was only spoken aloud has to be checked against something written — usually the guest’s own email address.

3rdspacebucharest.com once came through as “thirdspacerous.com”.

Never build a link from a spoken word

Links get published under the guest’s name and can’t be taken back. A link is only safe if it came from their email address, their real site, or me.

If it can’t be checked, it doesn’t go in.

Five more, if you’re copying this

Romanian accents break the matching

Drive strips the accents from file names and Canva keeps them, so the same guest looks like two different people — and gets artwork made twice.

Strip accents on both sides before comparing.

Repeat guests need a date, not just a name

Matching on the name alone quietly skips a second episode with someone who’s been on before.

Always match on guest and recording date.

The Canva byline is three separate pieces of text

Replacing it in one go glues them together and destroys the small “rd” in 3rd Space. Two careful replacements instead.

You won’t notice until you open the file weeks later.

Google Docs can be created, not edited

The connection can make a document and bin it, but not change one. So a document with the wrong text has to be replaced.

Get it right first time. One document per run.

Episode numbers are worked out, never guessed

The number comes from the last page of the Canva file. If the two files disagree, something has drifted — stop and ask rather than carrying on.

Two designs with the same title means one is out of date.

Your turn

Take a skill and make it yours

Every personal detail in these has been swapped for a blank. Claude fills the blanks in by asking you questions — you never have to hunt through someone else’s folder names.

Step 1

Copy the skill

Pick a tab below and press Copy skill. The whole thing is now on your clipboard.

Step 2

Paste it into Claude

Open a new chat, paste it in, and say: “Turn this into a skill and set it up for me.”

Step 3

Answer the questions

It asks about a dozen short ones — your show name, your folders, how you like to start an episode — then rewrites itself with your answers.

Step 4

Switch it on and try it

Turn it on under Settings › Capabilities › Skills. Then just ask Claude to use it. Run it once on something low-stakes and watch where it stops to ask you something — those pauses are the point.

podcast-guest-prep/SKILL.md · template
---
name: "podcast-guest-prep"
description: "Prepares {{HOST_FIRST_NAME}} for an upcoming {{SHOW_NAME}} podcast recording. Finds the guest from his Google Calendar (events titled \"podcast recording - 15 min between {{HOST_NAME}} and {Guest}\"), pauses to ask {{HOST_FIRST_NAME}} for insider context and a LinkedIn PDF, researches the guest online, writes a full interview script as a .docx in the exact style of his existing \"{{PREP_FOLDER}}\" docs, and creates a Gmail draft of his casual \"see you tomorrow\" guest prep email (never auto-sent). Use this whenever {{HOST_FIRST_NAME}} mentions a podcast recording, a podcast guest, interview questions, prepping for a guest, \"who's my next podcast guest\", \"get me questions for [name/tomorrow's] interview\", \"send the podcast prep email\", or anything about his {{SHOW_NAME}} podcast — even if he doesn't name a guest, name a file type, or explicitly ask for \"a doc.\""
---

## Before the first run — set this up for yourself

**Claude: do this section before anything else.** This skill was written for a
different business and every personal detail in it has been replaced with a
`{{PLACEHOLDER}}`. Interview the person you're working with, one question at a
time, then rewrite this file with their answers and delete this section. Do not
run the workflow until every placeholder is filled.

- `{{HOST_NAME}}` — What's your full name, as it should appear as the host?
- `{{HOST_FIRST_NAME}}` — What should I call you in these instructions?
- `{{SHOW_NAME}}` — What's the podcast called?
- `{{HOST_EMAIL}}` — Which email address do you book and send from?
- `{{CALENDAR_EVENT_PATTERN}}` — What do your recording events look like in your calendar? Paste one title exactly as it appears.
- `{{BOOKING_TOOL}}` — How do guests book — Cal.com, Calendly, something else? Does the booking form ask them anything about themselves?
- `{{PREP_FOLDER}}` — Which folder should the interview scripts go into?
- `{{EPISODE_LENGTH}}` — How long is an episode, and how many questions do you want?
- `{{SECOND_LANGUAGE}}` — Do you want some questions translated into a second language? Which?
- `{{OPENING_LINE}}` — How do you open every episode? Give me the exact words.
- `{{OUTRO_LINE}}` — And how do you close it? Exact words again.
- `{{SHOW_VIBE}}` — In one or two sentences, what should a guest expect — fast and playful, or considered and deep?

If they don't know an answer yet, leave that placeholder in place and tell them
which one is still open — don't invent a value.

---

# Podcast Guest Prep

{{HOST_FIRST_NAME}} runs the {{SHOW_NAME}} podcast: short (5-10 min), casual interviews recorded over Google Meet. Before each recording he needs two things: an interview script for himself, and a light "see you tomorrow" heads-up email to the guest. This skill produces both from the calendar event plus whatever inside knowledge {{HOST_FIRST_NAME}} has about the guest.

## Step 1: Find the recording

Search the calendar (`search_events` with query like "podcast recording", or `list_events` with `fullText: "podcast recording"`) rather than assuming an event ID.

- If {{HOST_FIRST_NAME}} names a guest or a date, filter to that event.
- If this is running as part of the daily automated check, look for a recording starting in the next ~24 hours.
- Otherwise default to the next upcoming recording.
- If several candidates match, ask {{HOST_FIRST_NAME}} which one rather than guessing.

Real event titles follow this exact pattern: `{{CALENDAR_EVENT_PATTERN}}`. Pull the guest's name from the title and confirm it against the attendee list.

## Step 2: Identify the guest

The guest is whichever attendee isn't `{{HOST_EMAIL}}` or `{{HOST_SECOND_EMAIL}}`. Their email address is where the prep email goes.

Read the event's `description` field closely. {{HOST_FIRST_NAME}}'s booking flow ({{BOOKING_TOOL}}) often includes an "Additional notes:" section where the guest already wrote a short bio in their own words when they booked the slot. This is usually the richest, most reliable material you'll get — treat it as the backbone of your research, not an afterthought.

## Step 3: Ask {{HOST_FIRST_NAME}} for context + LinkedIn PDF — then stop

{{HOST_FIRST_NAME}} usually knows something about the guest that no amount of searching will surface — they met at one of his events, they have a running joke, they told him something offhand. Those details are what make his questions land, so ask before researching rather than after. Post this message, filling in the blanks from the calendar event:

```
Found your next recording: {Guest Name} on {date} at {time}.

To prep the best questions:

1. Tell me 2-3 interesting things about {Guest Name} that I wouldn't find online — personal, funny, or surprising.
2. If you have their LinkedIn, export it as a PDF (More → Save to PDF) and upload it here.
```

**⚠️ HUMAN IN THE LOOP — stop here and wait for {{HOST_FIRST_NAME}}'s reply before doing anything else.** Don't research, don't draft, don't create files. This applies to automated runs too: when the daily scheduled check fires, post the message and end the run. {{HOST_FIRST_NAME}} replying is what restarts the flow — the value of this skill comes from his input, and a script built without it is the generic one he'd have written himself.

If {{HOST_FIRST_NAME}} replies that he has nothing to add or no LinkedIn, that's a fine answer — continue with what you have.

## Step 4: Research the guest

Start with what {{HOST_FIRST_NAME}} gave you, then fill gaps online.

**If {{HOST_FIRST_NAME}} uploaded a LinkedIn PDF**, read only these sections: **Summary, Experience, Education, Licenses & Certifications, Honors & Awards, Volunteering**. Ignore "Activity", "Posts", and "Recent activity" entirely — those are mostly reposts and likes of *other people's* content, so treating them as the guest's own words or work leads to questions about things they never said or did. That's an embarrassing way to open an interview.

Then web-search the guest's name, plus "LinkedIn," plus any company or place names from their booking notes or {{HOST_FIRST_NAME}}'s context. You're not writing a biography — you're hunting for one genuine contrast or hook: a professional identity paired with something surprising, human, or offbeat (a hobby, a habit, an unlikely detour, a strong opinion). Every one of {{HOST_FIRST_NAME}}'s existing scripts is built around exactly this kind of juxtaposition — an M&A executive who reads Agatha Christie for fun, a debt-recovery exec who's obsessed with Mozart and sci-fi, a Samsung/Apple veteran who now plays padel. Generic LinkedIn-summary bios make for boring questions; specific, slightly unexpected details make for good ones. {{HOST_FIRST_NAME}}'s own tidbits from Step 3 usually beat anything online — lean on them first.

## Step 5: Write the interview script

Read `references/examples.md` now — it has three full real scripts {{HOST_FIRST_NAME}} has actually used. Match their structure and voice closely; the instructions below are a skeleton, the examples are the real spec.

Structure, in order:

1. **Opening line**, verbatim: "{{OPENING_LINE}}"
2. **Hook paragraph** introducing the guest by full name and setting up the contrast from Step 4. Sometimes this works best as two short bulleted lists (professional side vs. personal side) — see the examples for the pattern.
3. **Transition line**, verbatim: "Okay lets jump in:"
4. **10-14 questions.** Short, punchy, conversational — never multi-part or essay-style. Mix professional-angle questions, playful/personal ones, and a couple tied to the {{SHOW_NAME}} community (past events they've attended, {{CITY}}/expat life, culture). Work at least one of {{HOST_FIRST_NAME}}'s Step 3 tidbits in as a question — that's the whole reason you asked. For 2-4 of the more reflective questions, add a {{SECOND_LANGUAGE}} translation on the line directly below, matching the examples — this is a deliberate, recurring pattern, not something every question needs.
5. **Closing question**, verbatim: "Okay, where can people learn more about you?"
6. **Outro**, verbatim except the guest's first name: "{{OUTRO_LINE}}"

Use the `docx` skill to actually build this as a Word file (don't just hand back plain text) — read that skill before generating the file.

**File name:** `{YYYY-MM-DD}_PodcastPrep_{GuestFirstLast}.docx` (no spaces in the name part, dashes in the date) — matches {{HOST_FIRST_NAME}}'s existing naming exactly.

Before creating anything, search Drive for a file with that name (or containing the guest's name and "PodcastPrep") so you don't duplicate a script that already exists.

Upload into the **"{{PREP_FOLDER}}"** folder (inside "{{PODCAST_FOLDER}}" in {{HOST_FIRST_NAME}}'s Drive — search for it by name rather than hardcoding an ID, since folder IDs aren't portable). When uploading, set `disable_conversion_to_google_type: true` so it lands as an actual .docx like the rest of the folder, not a converted Google Doc.

## Step 6: Draft the guest prep email

Always create this as a **Gmail draft, never send it automatically** — {{HOST_FIRST_NAME}} reviews and sends it himself. Before drafting, check existing drafts/sent mail to that guest so you don't duplicate one.

Template (fill in the blanks, keep the voice otherwise unchanged). Create the draft as HTML and hyperlink the word "link" to the Google Meet URL rather than pasting the raw URL — it reads cleaner and {{HOST_FIRST_NAME}} doesn't want the long meet.google.com string sitting in the email body:

```
Subject: See you at {start time, e.g. 15:00} tomorrow

Hey {Guest first name}! See you at {start time} tomorrow at <a href="{Google Meet link from the event}">link</a>

Show format:
Length:
5–7 minutes
Vibe:
Fast. Casual. Playful. Slightly chaotic. Don't overthink your answers. Say the first thing that pops into your head. We don't want to spend more than 30 seconds on each question. Goal is to have fun, not be serious : )
Sample questions I may ask:

{5-6 of the lighter, punchier questions from the script — skip the deep/philosophical ones and anything with a {{SECOND_LANGUAGE}} translation. This should read breezy, not like a therapy session.}

Talk soon!

{{HOST_FIRST_NAME}}
```

Only adjust "tomorrow" in the subject/body if the email is going out same-day or the framing genuinely doesn't fit — otherwise keep it as-is, it's {{HOST_FIRST_NAME}}'s established voice.

## Running this automatically

{{HOST_FIRST_NAME}} wants a daily check of tomorrow's calendar to kick this off without him having to ask. That belongs in a scheduled task that calls this skill, not inside the skill itself — see the scheduled task set up alongside this skill.

Because of the pause in Step 3, an automated run is a **nudge, not a finished deliverable**: it finds the recording, posts the ask for context and the LinkedIn PDF, and stops. {{HOST_FIRST_NAME}} answering is what produces the script and the draft. If no recording is found for tomorrow, do nothing — no need to report back that there's nothing to prep.

Since the ask has to reach {{HOST_FIRST_NAME}} with enough runway for him to reply and for the flow to finish before the recording, it's worth having the scheduled task fire ~2 days out rather than the morning of.