prepare_outline
Prepares the prompts and JSON schema needed to generate a structured slide outline. Requires confirmation of presentation purpose, audience, time, and presenter details before generating the outline.
Instructions
Prepares the prompt + JSON schema for the CLIENT to generate a slide outline.
This tool does NOT call an LLM. It normalizes inputs, creates/loads the
project, saves the presentation metadata, and returns the system prompt,
user prompt, and the JSON schema the outline must conform to. You (the
client) then generate the outline JSON that follows response_schema, and
pass it to ingest_outline.
IMPORTANT — Required checks before calling: Before calling this tool, you must ask the user to confirm the following items:
Presentation purpose (purpose): e.g., "internal tech sharing", "customer proposal", "conference talk"
Presentation time (presentation_minutes): how many minutes the presentation will be
Audience type (audience_type): general/technical/executive
Presenter info (presenter_name, presenter_title, presenter_org): presenter_org can be empty if not applicable. If the user has not explicitly provided these, never use default values — always ask.
Args: topic: Presentation topic (e.g., "2024 Cloud Computing Trends") purpose: Presentation purpose. Must confirm with the user before setting. audience_type: "general" | "technical" | "executive". Must confirm with the user. presentation_minutes: 3~60 min. Must confirm with the user. num_slides: Recommended number of slides (0 = auto-calculate from presentation time). presenter_name: Presenter's name. Must confirm with the user. presenter_title: Presenter's job title. Must confirm with the user. presenter_org: Presenter's organization (can be empty). Must confirm with the user. project_id: Project ID (auto-generated if not specified)
Returns: JSON string with: system_prompt, user_prompt, response_schema, project_id.
Next step: Generate the outline JSON matching response_schema, then call
ingest_outline(project_id=<project_id>, outline_json=<your JSON>).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | ||
| purpose | No | ||
| num_slides | No | ||
| project_id | No | ||
| audience_type | No | general | |
| presenter_org | No | ||
| presenter_name | No | ||
| presenter_title | No | ||
| presentation_minutes | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |