| name | pptx |
| description | The only skill for presentation creation and editing tasks. Any requests involving PowerPoint, PPT, PPTX, slides or presentations must be processed using this skill, including but not limited to: creating, generating, editing, modifying, redesigning, formatting, beautifying or converting presentations, as well as modifying .pptx files uploaded by users.\nImportant note: Presentation creation must use the PPTD domain-specific language (.pptd/.page) provided by this skill. Direct creation, editing or generation of .pptx files using python-pptx, OpenXML SDK or any other libraries/methods is prohibited. |
Definition
The pptx skill is responsible for generating, creating, or editing PPTX presentations. This skill defines an intermediate layer (with the .pptd extension) that further abstracts OOXML, making presentation generation effortless.
.pptd Format
- The .pptd format is a simplified abstraction layer over OOXML, based on YAML syntax, designed specifically for AI to read and write presentations. This abstraction retains the core content of OOXML (themes, page layouts, element positions and definitions, etc.) while removing complex nested logic such as Masters, making each page self-contained and WYSIWYG.
- User usage: In the frontend, users can directly open .pptd files for preview, or click the "Export" button to convert .pptd to .pptx. Converting .pptx or .pptd files to images for preview purposes is strictly prohibited.
- Read format/pptd.md for the detailed definition of the .pptd format.
Reading User-Uploaded PPTs
If you only want to read a PPT and loaded this skill by mistake, you can read user-uploaded .pptx files through the following three methods to obtain different levels of information:
- read_file tool: Parses the .pptx file into markdown text, suitable for quickly obtaining the text content and basic structure of the PPT.
- screenshot script: Generates screenshots of .pptx pages, suitable for obtaining the visual design and layout information of the PPT.
scripts/screenshot.sh path/input.pptx -o screenshot/
scripts/screenshot.sh path/input.pptx -p 1,3,5 -o screenshot/
scripts/screenshot.sh path/input.pptx -p 2-6 -o screenshot/
- convert script: Converts .pptx to .pptd file format, obtaining complete information about the .pptx file, such as page notes and layouts, element positions, sizes, content, settings, etc. Suitable for editing user-uploaded .pptx files or when you need an in-depth understanding of the .pptx file structure.
scripts/convert.sh input.pptx -o output_dir/
- Methods listed later provide more detailed information, but also consume more context. You need to decide how to read the PPT based on the actual situation.
- When the user requests "reference the uploaded PPT", "replicate the uploaded PPT", "imitate the design style of the uploaded PPT", etc., it is strongly recommended to use the screenshot script to selectively read 5-10 pages of the PPT to gain an understanding of the style and better complete the design task.
PPTX Generation and Editing
PPTX Generation
When the user requests: creating a PPT / converting a document to PPT / replicating an image or website as a PPT / using an uploaded .pptx as a template / creating a PPT referencing a PPT style, read guideline/generate_slides.md for more guidance.
PPTX Editing
When the user requests modifying an uploaded PPT, read guideline/edit_user_slides.md for more guidance.
Decision Logic
- Only when the user has explicit modification requests for the PPT (e.g., "add a logo to the top-right of content pages", "modify the background/layout of a specific page", "batch modify font sizes/colors", etc.) should you enter the editing flow.
- If the user only vaguely requests "beautify this PPT", "adjust the design of this PPT", etc., always enter the generation flow and create a new PPT based on the uploaded one, rather than directly editing the user's uploaded PPT.
Skill File Tree
pptx/
├── SKILL.md ← This file (skill entry point)
├── format/ → PPTD format specification
│ ├── pptd.md → PPTD full specification
│ ├── shapes.md → Complete shape list
│ └── fonts.md → Available font list
├── guideline/ → Workflow guidelines
│ ├── generate_slides.md → Presentation generation
│ ├── edit_user_slides.md → Editing user-uploaded PPTX
│ ├── content/ → Content design modes
│ │ ├── outline_mode.md → Outline mode
│ │ ├── summary_mode.md → Summary mode
│ │ └── search_mode.md → Search mode
│ ├── design/ → Visual design modes
│ │ ├── creative_mode.md → Creative mode
│ │ ├── reference_mode.md → Reference/replication mode
│ │ ├── template_mode.md → Template mode
│ │ ├── template/ → Preset template files
│ │ └── profiles/ → Scene style presets
│ └── search/ → Search guidelines
│ └── text_search.md → Information search
└── scripts/ → Scripts and source code
├── convert.sh → PPTX conversion script
├── check.sh → PPTD checker (format validation + overflow/occlusion detection)
└── screenshot.sh → PPTX screenshot script
ATTENTION
Basic Guidelines
- Scope of operations: Directly operating on .pptx files is strictly prohibited. All your operations should apply to .pptd files, and you are also prohibited from converting .pptd files to .pptx files. Users who need .pptx files should convert .pptd to .pptx themselves by clicking the card below to enter the editor page, then clicking the "Export" button.
- In-place delivery: .pptd files depend on sibling resources such as
pages/, images/ under the same directory, so copying or moving the .pptd file alone is strictly prohibited. If relocation is required, the entire directory must be migrated together — otherwise the Artifact Output will not be clickable because its dependencies cannot be found.
- Parallel tool calls: If you need to make multiple consecutive tool calls (e.g., generating multiple .page files in sequence; making multiple edit tool calls to modify different locations in the same file, etc.), you should make multiple parallel tool calls in a single output, rather than making separate thinking-toolcall, thinking-toolcall rounds. This avoids context redundancy caused by multiple rounds of output.
- When the user requests creating multiple presentations, you must adopt a generate-all-first, then check-one-by-one strategy! That is: serially complete the creation or modification of each PPT (including .page files and .pptd files), and only proceed to unified checking, fixing, and delivery after all presentations are created. Never complete one PPT and immediately check, fix, and deliver it before creating the next PPT.