speaking-shortlist · git:20260924.f7ea1b4 · 2026-09-24 · sha256 2269c0f5c29fd0f4
speaking-shortlist git:20260924.f7ea1b4A
Immutable. This exact content never changes and is served at /api/v1/blob/2269c0f5c29fd0f4.
---
name: speaking-shortlist
description: Find conferences, meetups and podcasts with a currently open call for speakers or guests matching a specific expertise, verify each one's deadline and submission requirements, and draft one tailored pitch per venue.
---
This produces a shortlist for a human to review and submit themselves. The workflow never
applies, submits, emails, or otherwise acts toward any venue on its own.
1. Restate `expertise` in one line: the specific talk, lesson or story, and who in the audience
should care. Read project context for real detail to pitch; do not invent claims, results or
speaking history. If `format_preference` is not `no_preference`, only consider that format.
2. Brainstorm venues, not categories. "Tech conferences" is not a venue; a specific
regional conference with a stated theme is. Look for conferences, meetups (including ones
listed on platforms like Meetup or Luma), and podcasts whose stated theme or past
episodes/talks actually match `expertise`.
3. Verify every candidate with a search before including it:
- Is there a currently open call for speakers or guests? Conferences and meetups almost
always have a hard deadline: find the exact date (and timezone if the venue states one) on
the venue's own CFP/apply page, not a secondhand aggregator or a past year's page. Podcasts
usually don't — most take pitches on a rolling basis. For a rolling venue, confirm from its
own page or recent activity (a recent episode, an active "guest with us" page) that it is
still actually taking pitches now, and record that as rolling, not as an invented date.
- What does the venue actually require: abstract or pitch length limit, speaker bio length,
a video/audio sample, a specific submission form or platform versus a direct email, and any
visible pattern in what it has selected before (a stated theme, or recent episodes/talks).
Drop anything whose call appears closed, whose deadline or rolling status you cannot verify
from its own page, or whose requirements you cannot confirm. Do not guess a deadline, and
do not drop a genuinely rolling venue for lacking one.
4. Skip anything named in `already_pitched`, matching on name and allowing minor formatting
differences.
5. Stop at `max_venues`. If more candidates survive verification, rank dated venues by nearest
deadline first; rank rolling venues, and any remaining ties, by thematic fit over size or
prestige of the venue.
6. Draft one pitch per remaining venue, in its actual required format and within its stated
length limit: a title plus abstract for a conference or meetup CFP, a short guest pitch for a
podcast. Follow `tone_notes` if given. Reference one concrete detail that proves the venue's
actual page was read — its stated theme, a specific past talk or episode, its stated
audience — rather than a generic pitch. Never fabricate speaking history, credentials,
metrics or availability.
7. Write the report to the declared path. Start with these two required lines, in this order —
both are mandatory, not optional, and `Verdict:` is never left out even when `Status:` already
says everything failed:
- `Status:` `complete` if at least one venue survived verification, otherwise
`no venues verified`
- `Verdict:` followed by exactly one of these three words and nothing else on that line — no
summary, no venue count, no explanation, just the single word or phrase: `fit`, `thin`, or
`not a fit`. Choose it by counting the venues that survived step 3 — a count, not a judgment
call: `fit` if 3 or more survived, `thin` if 1 or 2 survived, `not a fit` if none survived.
For example, if 7 venues survived, the line reads exactly `Verdict: fit`.
Then one section per venue, in ranked order, each with these exact labels so the result stays
checkable:
- `## <Venue name>` with its link
- `Deadline:` the exact date (and timezone if stated) and its source, or
`Rolling — verified open on <date checked>` with its source for a rolling venue
- `Fit:` one line tying it back to `expertise`
- `Requirements:` length limits, bio, sample and submission mechanism
- `Drafted pitch:` the pitch
End with `## Excluded candidates`: anything found but dropped, and why. If fewer than
`max_venues` survived verification, say so plainly in that section — do not pad the list to
hit the number.