| name | script-writing |
| description | Generate the AI Talk Radio show script from research using the Interactions API. |
Script Writing
Generate a naturalistic, multi-character radio show script directly via the LLM. The script features host Paul taking calls from people around the world, with advanced audio tags.
Embedded Script
python3 skills/script-writing/scripts/generate_script.py --workspace ./workspace --style debate
Arguments
| Argument | Default | Description |
|---|
--workspace | workspace | Root workspace directory |
--style | default | Show format (see styles below) |
--context | "" | Additional tone/style notes inferred from user prompts (e.g., "emphasize the technical details", "make it sound like a late night show"). Applies to ALL styles. Keep brief. Do NOT use to specify stories/topics. |
Styles
| Style | Callers | Format | Use when user says... |
|---|
debate | 2 per topic, opposing views | Structured back-and-forth, Paul moderates | "opposing views", "debate", "both sides" |
roundtable | 3-4, different angles | Collaborative discussion, callers build on each other | "roundtable", "panel", "discussion" |
interview | 1-2 with direct experience | Q&A format, Paul asks probing questions | "interview", "deep dive", "expert" |
explainer | 2-3, each explains an aspect | Teach the audience, Paul asks clarifying questions | "explain", "break it down", "what is" |
default | Same as debate | Default when no style specified | (anything else) |
Examples
python3 skills/script-writing/scripts/generate_script.py \
--workspace ./workspace --style debate --context "make it sound like a late night show"
python3 skills/script-writing/scripts/generate_script.py \
--workspace ./workspace --style roundtable --context "emphasize the performance improvements"
python3 skills/script-writing/scripts/generate_script.py \
--workspace ./workspace --style interview
python3 skills/script-writing/scripts/generate_script.py \
--workspace ./workspace --style explainer
What it does
- Reads all research from
{workspace}/data/research/*.md.
- Builds a system prompt with the base format rules + style-specific caller/structure instructions.
- Calls Gemini via the Interactions API (
client.interactions.create()).
- Saves the script to
{workspace}/data/script.md.
Dependencies
Output
- Script File:
{workspace}/data/script.md
- Format: Plain text, each line starting with
Speaker: dialogue
Cast
| Speaker | Role | Personality |
|---|
| Paul | Host | Professional but relatable British moderator |
| Callers | Call-ins | Amateur, rough, natural — from various cities around the world |
Script Format Rules
- Every line:
SpeakerName: [audio tag] Dialogue text
- Must include audio tags in square brackets (e.g.,
[sighs], [excitedly]).
- Callers should sound amateurish (include "uh", "like", natural pauses).
- Short punchy sentences — spoken word, not prose.
- ~450-500 words total (~3 minutes when spoken).