Skip to main content
Glama
ppt-generator
by haandol

prepare_speaker_script

Prepares a deck-wide spoken script task for the ppt-speaker-script skill.

Instructions

Prepares a deck-wide spoken script task for the ppt-speaker-script skill.

Use after design or PPTX import. Returns actual slide specs, existing notes, outline evidence when available, presentation context, response_schema, and script_context. The client writes the script; the server never calls an LLM.

Args: project_id: Existing project with a completed design spec. brief: User's language, audience, time, delivery, and Q&A preferences.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project_id": "<project_id>"
    },
    "name": "prepare_speaker_script"
  }
}

Input Schema

NameRequiredDescriptionDefault
briefNo
project_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.8.2

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does meaningfully discharge it: it enumerates the returned payload (slide specs, notes, outline evidence, presentation context, script_context) and discloses an important design fact — 'The client writes the script; the server never calls an LLM.' It does not say whether the call mutates project state or is safely repeatable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and precondition are front-loaded, then returns, then args — a sensible order with little waste. The args block slightly duplicates what the schema names, but the added constraints justify it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the return enumeration is a bonus rather than a requirement. The real gap is workflow shape: the prepare/ingest/export triad is visible in the sibling list but the description never says the client must feed the result back via ingest_speaker_script, leaving the agent to infer the loop.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does: project_id is constrained to 'Existing project with a completed design spec' and brief is unpacked into language, audience, time, delivery, and Q&A preferences. That is genuine meaning beyond the bare string types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — 'Prepares a deck-wide spoken script task' — and names the owning skill (ppt-speaker-script). It is distinguishable from ingest_speaker_script/export_speaker_script in the sibling list, though it never explicitly contrasts itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use after design or PPTX import' gives a concrete trigger condition and prerequisite state. It does not state exclusions or name the follow-on sibling (ingest_speaker_script), so the routing guidance is clear but incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.