script-writing

Generate the AI Talk Radio show script from research using the Interactions API.

npx skills add https://github.com/google-gemini/gemini-managed-agents-templates --skill script-writing

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

ArgumentDefaultDescription
--workspaceworkspaceRoot workspace directory
--styledefaultShow 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

StyleCallersFormatUse when user says...
debate2 per topic, opposing viewsStructured back-and-forth, Paul moderates"opposing views", "debate", "both sides"
roundtable3-4, different anglesCollaborative discussion, callers build on each other"roundtable", "panel", "discussion"
interview1-2 with direct experienceQ&A format, Paul asks probing questions"interview", "deep dive", "expert"
explainer2-3, each explains an aspectTeach the audience, Paul asks clarifying questions"explain", "break it down", "what is"
defaultSame as debateDefault when no style specified(anything else)

Examples

# HN discussion with opposing views, applying context
python3 skills/script-writing/scripts/generate_script.py \
  --workspace ./workspace --style debate --context "make it sound like a late night show"

# Panel discussion about a GitHub repo with context notes
python3 skills/script-writing/scripts/generate_script.py \
  --workspace ./workspace --style roundtable --context "emphasize the performance improvements"

# Interview with an expert about a paper
python3 skills/script-writing/scripts/generate_script.py \
  --workspace ./workspace --style interview

# Explain a new technology
python3 skills/script-writing/scripts/generate_script.py \
  --workspace ./workspace --style explainer

What it does

  1. Reads all research from {workspace}/data/research/*.md.
  2. Builds a system prompt with the base format rules + style-specific caller/structure instructions.
  3. Calls Gemini via the Interactions API (client.interactions.create()).
  4. Saves the script to {workspace}/data/script.md.

Dependencies

  • google-genai (>= 2.0.0)

Output

  • Script File: {workspace}/data/script.md
  • Format: Plain text, each line starting with Speaker: dialogue

Cast

SpeakerRolePersonality
PaulHostProfessional but relatable British moderator
CallersCall-insAmateur, 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).

More skills from google-gemini

agent-tui
google-gemini
Main Agents: Do NOT use this skill directly. If you need to test the TUI, invoke the `tui_tester` subagent. Drive terminal UI (TUI) applications…
gemini-api-cli
google-gemini
Guide for using the Gemini API CLI tool. Use when you need to interact with the Gemini API via the command line, manage agents, or generate media (images,…
behavioral-evals
google-gemini
Guidance for creating, running, fixing, and promoting behavioral evaluations. Use when verifying agent decision logic, debugging failures, debugging prompt…
gemini-live-api-dev
google-gemini
Real-time bidirectional streaming with Gemini over WebSockets for audio, video, and text conversations. Supports audio input/output (16 kHz PCM), video frames, text, and automatic transcriptions with voice activity detection for interruption handling Includes native audio features: affective dialog, proactive audio, and thinking mode; function calling for synchronous and asynchronous tool use; and Google Search grounding Offers session management with context compression, resumption, and...
gemini-omni-flash-api
google-gemini
Use this skill for generative video editing, text-to-video, image-referenced video generation, and first-frame-to-video transition animations using the…
gemini-api-dev
google-gemini
Build applications with Google's Gemini models, supporting multimodal content, function calling, and structured outputs across Python, JavaScript, Go, and Java. Access current Gemini 3 models (Pro, Flash, Pro Image) with 1M token context; legacy Gemini 2.x and 1.5 models are deprecated Supports text generation, image/audio/video understanding, function calling, structured JSON output, code execution, context caching, and embeddings Official SDKs available: google-genai (Python),...
gemini-interactions-api
google-gemini
Unified interface for Gemini models and agents with server-side state, streaming, and tool orchestration. Supports multiple current models (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) and the Deep Research agent; automatically substitute deprecated model IDs with current alternatives Offload conversation history to the server via previous_interaction_id for stateful multi-turn interactions without manual history management Built-in tool orchestration including...
deliver
google-gemini
Posts a condensed version of the briefing to a Google Chat or Slack incoming webhook, so the daily run delivers itself — skips silently when no webhook is…