Write Talk Script logo

Write Talk Script

Community
ShaishavMaisuria
write-talk-script

Writes a timed, word-budgeted speaker script for an exact conference-talk slot (e.g. a 12-minute talk plus 3-minute Q&A, or a 5-minute lightning talk). Use when a researcher mentions talk script, presentation script, speaker notes, conference talk, lightning talk, rehearsal, "what do I say on each slide", or "my talk is running long". Turns a slide deck or outline into spoken-register prose with a per-slide word budget at ~130 words/minute (calibratable), cumulative timing marks, written-out transitions, a marked cut list worth 10-15% of the talk for running long, and a Q&A handoff. Bundled stdlib-only Python scripts compute the budget (word_budget.py) and re-time any draft (script_timer.py with per-slide timing, cut savings, and an over/under verdict). Venue-aware but treats presenter instructions and the acceptance email as ground truth for slot length; never invents results — every claim spoken must come from the paper.

Overview

PublisherShaishavMaisuria
Repositoryresearch-paper-lifecycle-skills
Skill namewrite-talk-script
Stars
59
Forks
22
Bundled files
4
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 4 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by ShaishavMaisuria on GitHub. Read the source before you install it.

Installation

Install the Write Talk Script AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/ShaishavMaisuria/research-paper-lifecycle-skills/tree/main/skills/write-talk-script
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/ShaishavMaisuria/research-paper-lifecycle-skills.git /tmp/research-paper-lifecycle-skills
mkdir -p .claude/skills
cp -r /tmp/research-paper-lifecycle-skills/skills/write-talk-script .claude/skills/write-talk-script
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Write Talk Script in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Write Talk Script on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Write Talk Script is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Write Talk Script

Produce a speaker script that fits an exact talk slot: every slide gets a word budget at the speaker's real pace, a cumulative timing mark, a written-out transition, and a marked cut list so running long on stage has a pre-planned answer. Slides tell the audience what to look at; this script is what the speaker actually says. It is the post-acceptance companion to make-slides.

When to use

  • "Write the script for my 12-minute SIGSPATIAL talk" / "15-minute slot including 3 minutes of Q&A — what do I say?"
  • "Turn my deck into speaker notes I can rehearse from"
  • "My talk is running long — what do I cut?"
  • "I have a 5-minute lightning talk / spotlight"
  • After make-slides, before the first timed rehearsal.

Inputs

  1. The exact slot: total minutes, and whether Q&A is inside the slot or handled separately. Ground truth is the presenter instructions and the acceptance email, not memory and not venue profiles.
  2. The deck or an outline (slide titles in order). No deck yet? Run make-slides first.
  3. The paper (camera-ready preferred) — the only legitimate source for every number and claim spoken.
  4. Optional: venues/conferences/<venue>-<year>.yml for venue context, and the speaker's measured pace in words per minute.

Process

  1. Pin down the slot facts. Ask for: total minutes, Q&A inside or outside, session language, and whether the chair uses timecards. If a venue profile exists, use it for context only and re-verify against the live cfp_url / venue website — profiles do not encode talk slots, and slots change year to year. Typical shapes (verify, never assume): full papers 12–20 min including Q&A; CHI historically ~10 min + 5 Q&A; lightning/spotlight 1–7 min. Details in references/timing-and-cuts.md.

  2. Calibrate the pace. Default to 130 wpm — a deliberate conference pace. If the speaker can do the 1-minute read-aloud calibration (timing-and-cuts.md §2), use their measured number; suggest 110–120 wpm for non-native speakers or dense technical material. Never exceed 150.

  3. Build the outline file. One line per slide (a - bullet or ## heading), in deck order. Pin slides that need fixed time with a trailing | <minutes> (e.g. - Key idea | 2). Title and takeaway slides typically pin at 0.5.

  4. Compute the word budget. Run:

    python3 scripts/word_budget.py --minutes 15 --qa 3 --outline outline.md \
        [--wpm 120] [--venue-profile venues/conferences/<venue>.yml]

    Also save the machine-readable form for step 6: python3 scripts/word_budget.py ... --json > budget.json. The script reserves a safety buffer (default 0.5 min) so the talk lands early, never at the bell. No outline yet? --slides N splits evenly.

  5. Draft the script slide by slide, inside each slide's word budget, in spoken register — short sentences, contractions, signposts, numbers written the way they are said. Follow references/script-craft.md for the file format (one ## heading per slide, [bracketed] stage directions and timing marks, written-out transitions as the last sentence of each slide), opening and closing patterns, and figure walkthroughs. Every factual claim must trace to the paper — quote the paper's numbers, then render them speakable.

  6. Time the draft. Run:

    python3 scripts/script_timer.py talk-script.md --budget budget.json

    (or --minutes 15 --qa 3 without a budget file). Fix OVER slides by cutting words, not by planning to speak faster; re-run until the verdict is WITHIN BUDGET. Exit codes: 0 within budget, 1 over, 2 bad input.

  7. Build the cut list. Mark 2–3 cuttable passages totaling 10–15% of the talk with <!-- CUT: label --> … <!-- END CUT --> (each marker on its own line, no nesting, no crossing slide boundaries). What to cut first and what must never be cut: timing-and-cuts.md §6. Re-run script_timer.py — it reports each cut's seconds saved and whether applying all cuts rescues an overrun.

  8. Finalize the rehearsal package. Insert the budget's timing mark at the top of each slide section (e.g. [4:30]), add the Q&A handoff line, and append the rehearsal protocol and the on-stage running-long protocol (timing-and-cuts.md §8–9). Tell the user the timing holds only after at least one full out-loud rehearsal with a timer.

Output

  • talk-script.md — one ## section per slide: timing mark, word count, spoken prose with stage directions, transition sentence, cut blocks; ends with the Q&A handoff and a rehearsal checklist.
  • budget.json — the per-slide budget, reusable on every re-timing pass.
  • A timing report (from script_timer.py) showing the talk fits, with the cut list and seconds saved per cut.

Adapt to your discipline

The defaults target CS conference talks (12–20 min, slide-driven, English). For other fields, adjust the section shares in your outline (e.g. methods- heavy medical talks), the pace (--wpm), and the venue norms in timing-and-cuts.md — the scripts are field-agnostic.

Guardrails

  • Never invent results, numbers, quotes, or citations for the script — every claim spoken must come from the user's paper. New references go through verify-citations first.
  • Timing is an estimate, not a guarantee: never tell the user the talk "fits" without a real timed rehearsal; word-rate math ignores nerves, laser-pointer detours, and clicker failures (that is what the buffer and cut list are for).
  • Venue profiles never override presenter instructions or the acceptance email for slot length; re-verify against the live cfp_url before scripting.
  • Preserve the speaker's voice and precise technical claims — spoken register is a rewrite for the ear, not a simplification of the science, and not a read-aloud of paper paragraphs.
  • Never upload the script or slides to any speaker portal, or submit anything on the user's behalf.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Write Talk Script AI skill do?

Writes a timed, word-budgeted speaker script for an exact conference-talk slot (e.g. a 12-minute talk plus 3-minute Q&A, or a 5-minute lightning talk). Use when a researcher mentions talk script, presentation script, speaker notes, conference talk, lightning talk, rehearsal, "what do I say on each slide", or "my talk is running long". Turns a slide deck or outline into spoken-register prose with a per-slide word budget at ~130 words/minute (calibratable), cumulative timing marks, written-out transitions, a marked cut list worth 10-15% of the talk for running long, and a Q&A handoff. Bundled...

Why use Write Talk Script on TypingMind?

Because you install it once and use it with any model. Write Talk Script is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Write Talk Script in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/ShaishavMaisuria/research-paper-lifecycle-skills/tree/main/skills/write-talk-script. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Write Talk Script?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Write Talk Script?

As many as you like. As long as a model supports skills, you can use Write Talk Script with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Write Talk Script AI skill free?

Yes. It is published on GitHub by ShaishavMaisuria under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇