PPT Slide Planner Skill
Use this skill to turn a user's topic, text content, requirements, or source-material summary into a strict per-slide construction plan. This skill plans the PPT only; the actual editable PPTX file is produced by the separate file-generator skill.
This skill must not call PPTX generation tools, render PPTX files by itself, implement fallback renderers, or bypass file-generator. When the user asks for a PPT file, first produce the planning output and then route that output to the file-generator skill, which owns generate_pptx.
Workflow
- Determine whether the user provided enough context: topic, audience, use case, slide count or duration, style or brand requirements, and source content.
- If the topic, source content, audience, or use case is too unclear to produce a reliable deck, call
request_user_inputbefore planning. For slide count, style, and layout preferences, make conservative defaults when the content is otherwise clear and state the assumptions. - Read
deck-brief.mdand produce a concise internal deck brief. - Read
slide-plan-contract.mdand create a slide-by-slide plan. Every slide must have exact title text, body text, page objective, layout, element list, and media placeholder requirements. - Read
slide-layout-contract.mdand select a concrete layout for each slide. - Read
media-placeholder-contract.mdwhen the deck needs image, chart, diagram, or video placeholder areas. - Read
pptx-payload-contract.mdand convert the slide plan into one complete structured object that can be passed later asfile-generator/generate_pptx.presentation. - Read
quality-check.mdand self-check every slide before handoff. If any text element may overflow, increaseh, reduce text, add line breaks, or split the content before preparing the payload. - Before handoff, verify
presentationis one complete structured object with a completeslidesarray, supported fields, and no Markdown or explanatory prose mixed into it. - Return or hand off the strict slide plan and PPTX payload to the
file-generatorskill when file output is required. Do not callgenerate_pptxfrom this skill. - In the final answer, briefly mention that the PPT plan is ready for file generation and list any important assumptions. Do not paste the full presentation object unless the user explicitly asks for it.
Clarification Workflow
When a blocking decision is missing or ambiguous, call request_user_input instead of writing a plain clarification message. Do not stop for every optional preference.
Ask about:
- Presentation topic when the topic is not clear.
- Audience or use case when the intended communication goal is unclear.
- Slide count or presentation duration only when the user explicitly requires a controlled length and the target size is unclear. Otherwise choose a compact slide count from the content volume and state the assumption.
- Style, template, or brand only when the user requires a specific template or corporate brand but does not provide enough brand rules. Otherwise use a neutral business style and state the assumption.
- Whether image, chart, diagram, or video placeholders are needed when the content implies visual materials.
After calling request_user_input, stop the turn and wait for the user's answer. Do not start PPTX file generation in the same turn.
References
Read references only when needed, but always read pptx-payload-contract.md and quality-check.md before preparing a file-generator handoff payload.
| Task | Read reference |
|---|---|
| Build the deck brief from topic, audience, source content, and requirements | deck-brief.md |
| Create strict per-slide plans with exact text and element requirements | slide-plan-contract.md |
| Choose concrete slide layouts and coordinates | slide-layout-contract.md |
| Reserve image, chart, diagram, or video placeholder areas | media-placeholder-contract.md |
Convert the slide plan into the file-generator generate_pptx.presentation object |
pptx-payload-contract.md |
| Validate text density, overlap, bounds, style consistency, and output readiness | quality-check.md |
Output Contract
Before handing off to file-generator, internally prepare:
deck_brief: theme, audience, scenario, slide count, style, language, brand rules, and source constraints.slide_plan: one object per slide with exact title, objective, layout, elements, text, coordinates, style, and placeholder descriptions.pptx_payload: valid structuredfile-generator/generate_pptx.presentationobject.
The downstream file-generator/generate_pptx call must pass:
presentation: structured object withlayout,language,default_style, andslides; do not stringify it.filename: concise ASCII filename without extension.lifecycle:temporaryunless the user or calling workflow explicitly requests persistent output.
Constraints
- Do not call
generate_pptxfrom this skill. Each slide must have a strict slide plan first, then the payload is handed tofile-generator. - Do not generate PPTX files directly from this skill. Always hand the final structured presentation object to the
file-generatorskill. - Do not implement or assume a fallback PPTX renderer in the planning skill. If file generation infrastructure is unavailable, report that file generation must be retried through
file-generatorafter the dependency is available. - Do not invent facts, metrics, product claims, customer names, or conclusions not provided or clearly implied.
- Do not use unsupported PPTX features: animations, transitions, speaker notes, comments, slide masters, theme inheritance, real charts, embedded media, external images, or editing existing PPTX files.
- If image, chart, diagram, or video content is requested, create a visible placeholder using
shapeandtext; do not claim the media is embedded. - Do not pass Markdown, HTML, comments, prose, or partial objects as
presentation; pass one complete structured PPTX object. - Keep the generated PPTX object compact. Prefer under 10,000 serialized characters, no more than 8 slides, and no more than 10 elements per slide unless the user explicitly requires more.
- If downstream file generation rejects the presentation structure, rebuild a shorter complete object from the slide plan before handing off again.
- Split dense content into more slides. Do not shrink text until it becomes unreadable.
- Do not prepare a handoff payload with a body text element over 10 estimated wrapped lines or over
0.75 * h. - Do not prepare a handoff payload with a normal body text element above 4.0 inches estimated height unless the user explicitly requested a dense appendix slide.
- Never prepare a single body
textelement above 4.5 inches estimated height; split it into continuation slides. - For near-full-height body boxes such as
h=5.0orh=5.3, do not increase height after a fit failure. Split the text. - For local text boxes in two-column, comparison-card, visual-placeholder, process-step, sidebar, or any body box with
w < 7.0orh < 4.2, keep estimated height at or belowmin(2.8, h * 0.70). - For small cards with
h <= 3.5, keep estimated height at or belowh * 0.65; do not fix overflow by only increasing the local box height. - For narrow columns with
w <= 5.8, use at most 3 bullets or about 90 Chinese characters / 220 English characters per text element. - If downstream file generation reports
text does not fit, split the reported slide/element into continuation slides before handing off a new payload. - For
title_bodybody boxes ath=5.3, overflow must be fixed by splitting the slide, not by increasing height. - Do not use small title boxes for long titles. A 36-44 pt title that may wrap to two lines needs at least
h=1.6; a one-line title needs at leasth=0.85. - For every title/text element, reserve height from text length and font size before handoff; set
hto at leastestimated_height * 1.25. - Do not prepare a handoff payload when estimated text height is within
0.2inches ofh; increasehby at least0.3inches or shorten/split text first. - Do not use
h < 1.15for 16-24 pt subtitle, label, or metadata text unless it is one short line with estimate under0.65. - Never rely on the renderer to shrink overflowing text.
- Keep readable text and tables within slide bounds and non-overlapping.
- Use consistent font, colors, title hierarchy, and spacing across the deck.
- If the user's requirements exceed current PPTX support, state the limitation and prepare the closest supported editable static deck only when it still satisfies the request.