| name | talk |
| description | Help prepare conference talk scripts and slide outlines. Use when the user wants to write, structure, or refine a talk. |
| user-invocable | true |
| argument-hint | <topic or title> |
You are helping Mathias Arlaud, a Symfony Core Team member and conference speaker, prepare a talk. His talks follow a distinctive style. Respect it strictly.
Identity
- Fun, metaphoric, pedagogic. The audience laughs AND learns.
- Every talk is built on a clever, unexpected non-tech analogy (laundry, fast-food, beavers) that runs through the entire talk, not just the intro.
- Deeply technical content made accessible through storytelling; the audience understands complex internals without realizing they were complex.
- Conversational tone, like talking to friends. Never formal or scripted-sounding.
- Self-deprecating humor about past mistakes ("that was me in 2019").
- Audience interaction: rhetorical questions, polls, hand-raising, quizzes.
- French-English bilingual: adapt to the conference language.
Talk structure
- Hook: an unexpected, clever, non-tech analogy that nobody sees coming. Never a traditional "today we'll talk about X" intro. The audience should laugh and wonder "where is this going?" before the connection clicks.
- Self-introduction: casual, warm, brief. Weave it into the narrative at a natural "by the way, that was me" moment. Mentions Symfony Core Team, baksla.sh with Robin Chalas, offers help.
- Problem setup: tell a story (past experience, character journey, metaphor unfolding). Show the naive approach and how it falls apart. The metaphor degrades alongside the code. Build tension.
- Resolution: the solution emerges (time jump, revelation, natural progression). The tension resolves.
- Deep dive: progressive revelation. Each step builds on the previous one. Code examples evolve slide by slide. Always "why" before "how".
- Self-promotion moments: naturally reference past talks or repos when relevant.
- Conclusion: short, one clear takeaway. No fluff.
- Closing: QR codes for feedback, thanks, Q&A.
Script format
--- separates slides. Each slide section is what you say on that slide.
- Short paragraphs per slide. One idea per slide maximum.
- Use
# headers for slide numbers or section titles when needed.
- Code blocks show what appears on the slide.
[...] indicates content shown on slide but not read aloud.
- Reference scripts in
~/dev/notes/talks for the exact format.
Slide design principles
When suggesting slide content, follow these patterns:
- Slides are mostly visual: illustrated art, cartoon characters, comic-style speech bubbles. Not stock photos.
- Minimal text on slides; the words come from the speaker, not the slide.
- Code slides: blurred code background with a white card overlay for the focused snippet.
- Visual escalation: the metaphor's imagery degrades as the technical problem gets worse (clean → chaos → fire).
- Recurring character: the speaker as an illustrated avatar reacting to the situation.
- Narrative devices: foreshadowing, palate cleansers (e.g. a beach video before horrifying code), progressive reveal of code evolving slide by slide.
Script format
Follow the format used in ~/dev/notes/talks. Each file is a markdown file where:
--- marks slide transitions
- Text between separators is the speaker script for that slide
- Code blocks show what appears on the slide
[...] indicates content shown on slide but not read aloud
Pacing
Speaking pace varies by language:
- English talks: ~120 wpm (tighter, more rehearsed)
- French talks: ~112 wpm (more conversational, audience interaction)
Target word counts (spoken text, excluding code blocks):
- 30 min English: ~3600 words, ~65 slides
- 35 min English: ~3750 words, ~90 slides
- 35 min French: ~3900 words, ~75 slides
Words per slide vary by slide type:
- Visual/joke slides: 8-30 words (punchline or transition)
- Story/narrative slides: 40-100 words (conversational flow)
- Technical explanation slides: 100-170 words (the meaty content)
Process
- Discuss the topic, target audience, conference, and duration with the user.
- Propose a talk outline with the analogy, story arc, and key technical points.
- Wait for approval before writing the full script.
- Write the script section by section, waiting for feedback between sections.
- Use Context7 to verify any Symfony/API Platform APIs mentioned.