Title100/100
Create Slides
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Create one or more professional presentation slides. Pass a single slide in the array for one slide, or multiple slides for a full deck. WHEN TO USE — when the user has clearly asked for slides: - User mentions any of: "slide", "presentation", "deck", "pitch deck", "pitchdeck", "pitch", "slideshow", "ppt", or "keynote" - ANY intent phrasing about slides: • COMMANDS: "create", "make", "give me", "build", "generate", "design" • REQUESTS: "I need", "I want", "can you make", "could you create", "help me make" • SUGGESTIONS: "let's make", "let's create", "how about a presentation on" • IMPLIED: "deck about X", "pitch deck for X", "presentation on X" (even without a verb) - If user asks for "a slide about X" (singular) and the topic warrants multiple slides, generate a single slide itself - When user intent is ambiguous (e.g., "a deck about X" with no slide count), default to 2-3 slides ATTACHED PDFs / DOCUMENTS: Claude ingests user-attached files as document content blocks directly in the conversation. Read the document content from the conversation and pass the relevant material (topic, structure, key points) into this tool's slides argument — there is no separate file upload step. CRITICAL RULES: - Pass all slides in a SINGLE call — NEVER call this tool multiple times in sequence - When adding to an existing presentation, pass the presentation_id from the previous response IMPORTANT: DO NOT SKIP THIS STEP - If no presentation_id exists, pass empty string — a new presentation will be created THEMES: If the user asked for a specific theme, pass theme_id here — do NOT call apply_theme separately afterwards. SLIDE FIELDS — EVERY slide MUST include all of these (the server does not fill them in for you): - title: the slide title - subtitle: one short phrase (4-10 words) that supports the title. Never empty. - slidenum: 0-based position. A new deck starts at 0. When adding to an existing presentation, continue after its last slide. - layout: one of the LAYOUT OPTIONS below - body: 3-5 items (see CONTENT REQUIREMENTS). A "title_and_subtitle" slide may have fewer. - talktrack: speaker notes, 2-3 sentences the presenter says aloud. Expand on the bullets instead of repeating them. - image_caption: the ideal slide image in 8-10 words (subject, setting, mood). Leave image_id empty; the system uses your caption to find the best matching photo. LAYOUT VARIETY RULES (CRITICAL for multi-slide decks): 1. Use a VARIETY of layouts across the deck. Match each layout to the slide's content. 2. Slide 0 of a NEW deck is the title slide: use "title_and_subtitle". 3. The FIRST content slide SHOULD use "title_and_two_columns" (image layout). 4. Decks of 5+ slides MUST use at least 4 different layouts. 5. NEVER repeat the same layout for consecutive slides. 6. Use "title_and_two_to_four_columns_with_icons" for AT MOST 2 slides per deck. 7. Use "title_and_body" for AT MOST 1 slide (conclusion only). 8. Use metric_rings ONLY for percentage-based metrics (0-100). 9. Mix visual variety: combine image slides, charts, timelines, grids, and text slides. LAYOUT OPTIONS (set layout for EVERY slide): - "title_and_two_columns": Content with image alongside bullets (IMAGE LAYOUT) - "title_and_two_to_four_columns_with_icons": 2-4 key points with icons - "title_and_body": Single-column bullets (use sparingly — AT MOST 1 per deck, conclusion only) - "title_and_subtitle": Section divider or transition slide (title + subtitle only, minimal body) - "image_full_width": Full-width image with optional text below (IMAGE LAYOUT) - "image_left_text_right": Image on the left with bullet points on the right (IMAGE LAYOUT) - "quadrant_grid": EXACTLY 4 comparable items — SWOT, 2x2 matrices, pros/cons - "data_table": Structured tabular data. REQUIRES the "table" field with a markdown table (header + separator + rows) - "chart_bar": Numeric comparisons across categories (e.g., revenue by region, sales by product). REQUIRES the "chart" field with type "bar" - "chart_pie": Part-of-whole composition (market share, budget split, % breakdown). REQUIRES the "chart" field with type "pie" - "timeline_horizontal": Chronological events, milestones, or history (dates in point, short descriptions) - "layered_pyramid": Hierarchical structures with 3-6 levels (MUST include icon with fa- prefix per item) - "phase_roadmap": Project phases with milestones — point MUST use "Period: Title" format (e.g., "Q1 2024: Launch") - "metric_rings": KPIs, completion rates, market share (1-4 metrics, values 0-100 as percentages) CONTENT REQUIREMENTS: - 3-5 substantial bullet points per slide - Each bullet description: 2-4 lines with specific data, evidence, or actionable insights - Content should be PhD-level, detailed, and evidence-driven - Use FontAwesome 5.15 icons (e.g., fa-bolt, fa-chart-line, fa-lightbulb) - EVERY body item MUST include "value" (0-100) — enables chart rendering and layout switching - For chart_bar / chart_pie / data_table slides: ALSO emit a body[] array (3-5 items summarising the chart/table) so the slide still has useful bullets if the user switches the layout LAYOUT-SPECIFIC FORMATTING (MUST FOLLOW): - quadrant_grid: EXACTLY 4 items. "point" under 15 chars, "description" under 80 chars - timeline_horizontal: Dates/years in "point" (max 15 chars). "description" max 50 chars - layered_pyramid: "icon" with fa- prefix REQUIRED (fa-star, fa-check, fa-rocket). 3-6 items - phase_roadmap: "point" = "Period: Title" (e.g., "Q1 2024: Launch"). Max 4 phases. "description" = milestones separated by "; " - metric_rings: 1-4 items. For part-of-whole metrics (market share), values sum to ~100. For standalone KPIs (NPS, satisfaction), each value stands alone - data_table: emit "table": { "md": "| Header1 | Header2 |\n| --- | --- |\n| Row1Col1 | Row1Col2 |" }. Markdown table must have header, separator row of dashes, and at least one data row. Set the "chart" field to null on this slide. - chart_bar: emit "chart": { "type": "bar", "title": "Revenue by Region", "unit": "$M", "data": [{ "label": "EMEA", "value": 4.2 }, { "label": "APAC", "value": 3.1 }] }. For multi-series (grouped/stacked bars), give every data point a "series" string and reuse the same labels across series. Optional: xTitle, yTitle, stacked. Set "table" to null. - chart_pie: emit "chart": { "type": "pie", "title": "Market Share", "unit": "%", "data": [{ "label": "SegmentA", "value": 42 }, { "label": "SegmentB", "value": 31 }] }. Values should sum to ~100. Set "table" to null. SCHEMA NOTE: For non-chart/non-table slides, set "chart" and "table" to null (or omit them). EXAMPLE SLIDE (format only — write real content for the user's topic): { "title": "Why Remote Teams Win", "subtitle": "Productivity data from 2,000 companies", "slidenum": 1, "layout": "title_and_two_columns", "image_caption": "diverse team on video call in bright home office", "talktrack": "Remote teams now outperform office teams on output per hour. The gap is widest in engineering, where focus time matters most. Hiring reach is the second big win.", "body": [{ "point": "13% more output", "description": "Stanford study of 16,000 workers found remote staff completed more calls per shift with fewer sick days.", "icon": "fa-chart-line", "value": 13 }, { "point": "Wider talent pool", "description": "Companies hiring remotely fill senior roles 30% faster by recruiting beyond commuting distance.", "icon": "fa-globe", "value": 30 }, { "point": "Lower office costs", "description": "Average savings of $11,000 per employee per year on real estate, utilities and supplies.", "icon": "fa-piggy-bank", "value": 45 }], "chart": null, "table": null }
Describe the returned information so the agent knows whether it will answer the request.
Inputs55/100
16 of 26 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
presentation_id
ALWAYS include this field. Pass empty string '' on the very first call. For every subsequent call in the same conversation, pass the exact presentation_id returned by the previous create_slides response.
Clear enough to supply this argument.
visual_set_id
If upload_files returned a visual_set_id, pass it here so the server can ensure all extracted visuals are included.
Clear enough to supply this argument.
slides › items › title
Slide title
Clear enough to supply this argument.
slides › items › subtitle
REQUIRED. One short phrase (4-10 words) that supports the title. Never empty.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
slides › items › slidenum
REQUIRED. 0-based position of the slide. A new deck starts at 0. When adding to an existing presentation, continue numbering after its last slide.
Clear enough to supply this argument.
slides › items › image_id
Optional image ID. Leave empty to let the system pick an image.
Clear enough to supply this argument.
slides › items › image_caption
REQUIRED for every slide. Describe the ideal slide image in 8-10 words — specific subject, setting, and mood (e.g. 'ancient Roman Colosseum at golden hour dramatic sky'). Better captions produce more relevant images.
Clear enough to supply this argument.
slides › items › layout
REQUIRED. The visual layout for this slide. Choose the best fit for the content: - "title_and_two_columns": Content with image alongside bullets (IMAGE LAYOUT) - "title_and_two_to_four_columns_with_icons": 2-4 key points with icons - "title_and_body": Single-column bullets (use sparingly — max 1 per deck, for conclusion only) - "title_and_subtitle": Section divider or transition slide - "image_full_width": Full-width image with optional text below (IMAGE LAYOUT) - "image_left_text_right": Image on left, bullets on right (IMAGE LAYOUT) - "quadrant_grid": Exactly 4 items for SWOT, 2x2 matrices, pros/cons - "data_table": Structured tabular data — REQUIRES `table.md` (markdown table) - "chart_bar": Numeric values across categories — REQUIRES `chart` with type:"bar" - "chart_pie": Part-of-whole composition (market share, % breakdown) — REQUIRES `chart` with type:"pie" - "timeline_horizontal": Chronological events, milestones, or history - "layered_pyramid": Hierarchical structures (3-6 levels, include icon per item) - "phase_roadmap": Project phases with milestones ("Period: Title" format required) - "metric_rings": KPIs, percentages, market share (1-4 metrics, values 0-100)
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
slides › items › body › items › point
Main point (2-6 words). For timeline_horizontal: use dates/years (max 15 chars). For phase_roadmap: MUST use 'Period: Title' format (e.g., 'Q1 2024: Launch'). For quadrant_grid: keep under 15 chars.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
slides › items › body › items › description
Detailed explanation (2-4 lines). For timeline_horizontal: keep SHORT (max 50 chars). For quadrant_grid: max 80 chars. For phase_roadmap: milestones separated by '; '. For data_table: use key:value pairs. Otherwise include data, evidence, or insights.
Clear enough to supply this argument.
slides › items › body › items › icon
FontAwesome 5.15 icon name (e.g., 'lightbulb', 'chart-line', 'rocket'). REQUIRED for layered_pyramid (use fa- prefix: 'fa-star', 'fa-check').
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
slides › items › body › items › value
REQUIRED for ALL layouts. Numeric value 0-100. For metric_rings: used directly for chart rendering (must be realistic percentages). For other layouts: preserved so users can switch layouts without losing data. For part-of-whole data (market share), values should sum to ~100.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
slides › items › talktrack
REQUIRED. Speaker notes: 2-3 sentences the presenter says aloud for this slide. Expand on the bullets instead of repeating them.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
slides › items › force_edit
Overwrite if slide exists at this slidenum
Clear enough to supply this argument.
slides › items › custom_image_url
URL of a custom image (AI-generated via generate_image, or extracted from PDF via upload_files). Replaces stock photo when set. Must use an image layout.
Clear enough to supply this argument.
slides › items › chart › type
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › chart › title
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › chart › unit
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › chart › data › items › label
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › chart › data › items › value
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › chart › data › items › series
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › chart › xTitle
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › chart › yTitle
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › chart › stacked
Not provided
Missing description. Explain what this value means and how to supply it.
slides › items › table › md
Not provided
Missing description. Explain what this value means and how to supply it.
theme_id
Optional. If the user requested a specific theme upfront, pass it here and the slides will be rendered with that theme immediately — no separate apply_theme call needed.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations75/100
Declare idempotentHint based on the tool’s actual behavior.
{
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}Output schema0/100
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared