pptx-draft
Skill2 starsChanged 43 days agoMITView on GitHub
Convert PowerPoint presentations to structured markdown for LLM-assisted editing, then convert back to PowerPoint with preserved formatting and layout. Use when you need to draft, edit, or work on .pptx files interactively.
In this repository41 other files it gives its agents.
- skills/web-asset-generator/CLAUDE.mdCLAUDE.md
- academic-writingSkill
- agent-os-childSkill
- agy-pSkill
- amazon-uk-scraperSkill
- artifact-variationsSkill
- audio-transcription-workflowSkill
- capture-dashboardSkill
- claude-channelsSkill
- claude-pSkill
- code-documenterSkill
- context7-docsSkill
- context7-searchSkill
- deep-researchSkill
- docx-draftSkill
- grill-meSkill
- handoffSkill
- long-horizon-waiting-strategiesSkill
- openapi-schemaSkill
- opencode-pluginSkill
- pi-extensionSkill
- pi-web-ui-internal-api-orchestrationSkill
- saas-idea-finderSkill
- scraping-redditSkill
- scraping-twitterSkill
- secret-scanningSkill
- socialmedia-optimizationSkill
- systematic-debuggingSkill
- test-driven-developmentSkill
- text-to-speechSkill
- thematic-analysisSkill
- transcribe-audioSkill
- video-deep-understandingSkill
- video-useSkill
- web-asset-generatorSkill
- web-crawlingSkill
- web-create-assetsSkill
- web-data-acquisitionSkill
- webfetch-skillSkill
- youtube-captionSkill
- youtube-searchSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
33 rules. About 0 are common, 24 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈24
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Use this skill when:
- Distinctive: line 43
Run the converter script:
- Distinctive: line 75
Check that the original .pptx exists (from metadata)
- Distinctive: line 76
Verify it hasn't been modified
- Distinctive: line 77
Use it as a template
- Very specific: line 79
Create a new _FINAL.pptx file
- Very specific: line 123
Keep the markers intact: [SLIDE:N] and [/SLIDE:N]
- Distinctive: line 125
Don't change the numbers in markers
- Very specific: line 126
Don't remove or add [TEXTBOX] blocks—only edit content within them
- Very specific: line 163
Keep all markers intact: [TABLE:N], [ROW:N], [CELL:r,c], closing tags
- Distinctive: line 189
Fill in content: - Add your text between the textbox markers
- Distinctive: line 206
After adding new slide:
- Distinctive: line 230
When editing a structured markdown file:
- Distinctive: line 232
Never modify structure markers: - Only edit content between markers
- Distinctive: line 233
Preserve metadata: - Don't touch the YAML header at the top
- Distinctive: line 234
Maintain slide structure: - Keep all textbox blocks in place
- Very specific: line 235
Respect element order: - Don't reorder [SLIDE] blocks
- Very specific: line 236
Keep markers paired: - Every [SLIDE:N] needs its [/SLIDE:N]
- Very specific: line 237
Update TOTAL_SLIDES: - When adding/removing slides, update the count in metadata
- Distinctive: line 244
If the original .pptx is not found during back-conversion:
- Distinctive: line 251
Ask user: "Where is the original .pptx file?"
- Very specific: line 252
If they can provide it, update the ORIGINAL_PATH in metadata
- Distinctive: line 253
If not available, inform them formatting and layout may be lost
- Distinctive: line 257
If the hash doesn't match:
- Distinctive: line 270
If the number of slides in the markdown doesn't match the metadata:
- Very specific: line 277
Verify with user that they intended to add slides.
- Distinctive: line 342
After converting back to PowerPoint, you can optionally validate the conversion quality:
- Distinctive: line 356
After adding new slides to verify they were created
- Distinctive: line 357
When content seems off or cramped
- Distinctive: line 359
When troubleshooting conversion issues
- Distinctive: line 367
Does not preserve: animations, transitions, speaker notes (unless included in text boxes)
- Distinctive: line 377
Validate structure: after editing if user made manual changes
- Distinctive: line 378
Be explicit: when content is complete and ready for conversion
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PowerPoint Presentation Drafting Skill
Convert Microsoft PowerPoint presentations (.pptx) to structured markdown for easy editing with LLM assistance, then convert back to PowerPoint format with all formatting, layout, and graphics preserved.
When to Use This Skill
Use this skill when:
- User asks to work on, edit, or draft a PowerPoint presentation
- User wants to convert a .pptx file to a more editable format
- User wants to prepare a final .pptx from a draft markdown
- User mentions: "work on this PowerPoint", "edit this presentation", "draft these slides"
How It Works
Phase 1: Convert to Structured Markdown
Converts a .pptx file into a structured markdown file with special markers that preserve the exact structure of the original presentation, including slide layouts, text boxes, tables, and graphics.
Phase 2: Edit the Draft
You (Claude Code) can now edit the structured markdown file. The structure markers ensure the content maps back perfectly to the PowerPoint template.
Phase 3: Convert Back to PowerPoint
Converts the edited structured markdown back to a .pptx file, using the original as a template to preserve all formatting, layout, and graphics.
Usage
Converting TO Structured Markdown
When user says:
- "Convert [file.pptx] to draft format"
- "Use pptx-draft on [file.pptx]"
- "I want to work on this PowerPoint"
- "Convert presentation.pptx to markdown"
Steps:
- Locate the .pptx file
- Run the converter script:
python3 skills-global/pptx-draft/scripts/pptx_draft_converter.py --to-structured <input.pptx> [output.md] - Inform user:
- Where the draft file was created
- CRITICAL: Remind them to keep the original .pptx file in its current location
- Explain they can now edit the draft
- Note: Empty slides will appear as blank placeholder slides in the markdown structure
Example:
python3 skills-global/pptx-draft/scripts/pptx_draft_converter.py --to-structured ~/presentations/Q1_Review.pptxOutput: ~/presentations/Q1_Review_DRAFT.md
Converting BACK to PowerPoint
When user says:
- "Convert the draft back to PowerPoint"
- "I'm done editing, create the final PowerPoint"
- "Convert [file_DRAFT.md] to pptx"
- "Finalize this presentation"
Steps:
- Locate the structured markdown file (usually ends with
_DRAFT.md) - Run the converter script:
python3 skills-global/pptx-draft/scripts/pptx_draft_converter.py --to-pptx <draft.md> [output.pptx] - The script will:
- Check that the original .pptx exists (from metadata)
- Verify it hasn't been modified
- Use it as a template
- Fill in the edited content
- Create a new
_FINAL.pptxfile
- Inform user of success and location of final file
Example:
python3 skills-global/pptx-draft/scripts/pptx_draft_converter.py --to-pptx ~/presentations/Q1_Review_DRAFT.mdOutput: ~/presentations/Q1_Review_FINAL.pptx
Structure Markers
The structured markdown uses special markers that you MUST preserve:
Metadata Block (at top of file)
---
PPTX_DRAFT_FORMAT: v1.0
ORIGINAL_PPTX: filename.pptx
ORIGINAL_PATH: /full/path/to/filename.pptx
ORIGINAL_HASH: abc123...
CONVERSION_DATE: 2026-01-19T12:00:00
TOTAL_SLIDES: 5
---DO NOT MODIFY the metadata block. The conversion process depends on it.
Slide Markers
[SLIDE:0:layout=Title Slide]
[TEXTBOX:0]
This is the title
[/TEXTBOX:0]
[TEXTBOX:1]
This is the subtitle
[/TEXTBOX:1]
[/SLIDE:0]Editing rules:
- Keep the markers intact:
[SLIDE:N]and[/SLIDE:N] - Edit the content between
[TEXTBOX:M]and[/TEXTBOX:M]markers - Don't change the numbers in markers
- Don't remove or add
[TEXTBOX]blocks—only edit content within them - Preserve slide order
Table Markers Within Slides
[SLIDE:2:layout=Title and Content]
[TEXTBOX:0]
Slide Title
[/TEXTBOX:0]
[TABLE:0:rows=3:cols=2]
[ROW:0]
[CELL:0,0]
Header 1
[/CELL:0,0]
[CELL:0,1]
Header 2
[/CELL:0,1]
[/ROW:0]
[ROW:1]
[CELL:1,0]
Data in row 1, column 1
[/CELL:1,0]
[CELL:1,1]
Data in row 1, column 2
[/CELL:1,1]
[/ROW:1]
[/TABLE:0]
[/SLIDE:2]Editing rules:
- Keep all markers intact:
[TABLE:N],[ROW:N],[CELL:r,c], closing tags - Edit content between
[CELL:r,c]and[/CELL:r,c] - Maintain table structure (same number of rows and columns)
- Don't change the numbers in markers
Adding New Slides
To add a new slide to the markdown draft:
- Duplicate an existing slide block - Copy a
[SLIDE]...[/SLIDE]block - Update the slide number - Change
[SLIDE:N]to the next number (e.g., if last is[SLIDE:4], new one is[SLIDE:5]) - Clear the content - Empty out all
[TEXTBOX]content between the markers:[SLIDE:5:layout=Title and Content] [TEXTBOX:0] [/TEXTBOX:0] [TEXTBOX:1] [/TEXTBOX:1] [/SLIDE:5] - Update metadata - Change
TOTAL_SLIDESin the metadata block to the new total - Fill in content - Add your text between the textbox markers
Example of adding a new slide:
Original structure:
---
TOTAL_SLIDES: 3
---
...
[SLIDE:2:layout=Title and Content]
[TEXTBOX:0]
Final Slide
[/TEXTBOX:0]
[/SLIDE:2]After adding new slide:
---
TOTAL_SLIDES: 4
---
...
[SLIDE:2:layout=Title and Content]
[TEXTBOX:0]
Final Slide
[/TEXTBOX:0]
[/SLIDE:2]
[SLIDE:3:layout=Title and Content]
[TEXTBOX:0]
New Slide Title
[/TEXTBOX:0]
[TEXTBOX:1]
New content goes here
[/TEXTBOX:1]
[/SLIDE:3]Critical Rules for Editing
When editing a structured markdown file:
- Never modify structure markers - Only edit content between markers
- Preserve metadata - Don't touch the YAML header at the top
- Maintain slide structure - Keep all textbox blocks in place
- Respect element order - Don't reorder
[SLIDE]blocks - Keep markers paired - Every
[SLIDE:N]needs its[/SLIDE:N] - Update TOTAL_SLIDES - When adding/removing slides, update the count in metadata
- Don't add empty slides - The original template's layout is preserved; empty slides represent blank placeholders
Error Handling
If Original File is Missing
If the original .pptx is not found during back-conversion:
Error: Original file not found at /path/to/original.pptxResponse:
- Ask user: "Where is the original .pptx file?"
- If they can provide it, update the
ORIGINAL_PATHin metadata - If not available, inform them formatting and layout may be lost
If Original File Was Modified
If the hash doesn't match:
Error: Original file has been modified (hash mismatch)Response: Warn the user that the original template was changed. Ask if they want to:
- Proceed anyway (formatting might differ)
- Locate the original unmodified file
If Slide Count Doesn't Match
If the number of slides in the markdown doesn't match the metadata:
Warning: Slide count mismatch (metadata says 5, found 7)Response:
Verify with user that they intended to add slides. Update TOTAL_SLIDES in metadata if needed.
Example Workflow
Initial request:
User: "I need to work on Q1_Review.pptx"
Your response:
I'll convert Q1_Review.pptx to a structured draft format so we can work on it together.
[Run conversion command]
✓ Created Q1_Review_DRAFT.md
⚠️ Important: Keep the original Q1_Review.pptx file in its current location.
You'll need it to convert back to PowerPoint format when you're done.
You can now tell me what slides you'd like to work on, and I'll help you draft the content.
The presentation has 5 slides. You can edit text on any slide, or add new slides by following the
markdown structure (I can help with this).During editing:
User: "Update slide 1 with new title and subtitle"
Your response:
I'll edit slide 1 in the structured draft. I'll make sure to keep all the structure
markers intact while updating the content.
[Edit content between appropriate markers]
Done! Slide 1 now has the new title and subtitle. Would you like to work on another slide?Adding slides:
User: "Add two new slides at the end"
Your response:
I'll add two new blank slides to the end of the presentation and update the metadata.
[Add new slide blocks to markdown]
Done! I've added slides 6 and 7 to your presentation. They're currently blank and ready for content.
You can tell me what to add to each new slide, and I'll fill them in.Finalization:
User: "I'm happy with the draft. Convert it back to PowerPoint."
Your response:
I'll convert your draft back to PowerPoint format now.
[Run back-conversion command]
✓ Created Q1_Review_FINAL.pptx
Your final PowerPoint is ready! All formatting and layout from the original template have been preserved.Validation Tool
After converting back to PowerPoint, you can optionally validate the conversion quality:
python3 skills-global/pptx-draft/scripts/pptx_draft_validator.py <original.pptx> <final.pptx> [--verbose]The validator checks:
- Slide count (original vs final)
- Layout preservation
- Content structure (textboxes, tables)
- Visual elements (images, shapes)
- Potential issues like content cramming
When to use the validator:
- After adding new slides to verify they were created
- When content seems off or cramped
- To verify complex conversions with tables or heavy content
- When troubleshooting conversion issues
Technical Notes
-- Converter script: skills-global/pptx-draft/scripts/pptx_draft_converter.py
-- Validator script: skills-global/pptx-draft/scripts/pptx_draft_validator.py
- Requires
python-pptxlibrary - Preserves: slide layouts, text formatting, table structures, graphics, images
- Does not preserve: animations, transitions, speaker notes (unless included in text boxes)
- Best for: text-based edits, content updates, adding/removing slides
- Slide order is deterministic and must be maintained in the markdown
- New slides automatically use the most appropriate content layout from the original presentation
Tips
- Always inform users about keeping the original file in place
- Use Read tool to examine structure markers before editing
- Edit systematically - work slide by slide
- Validate structure after editing if user made manual changes
- Be explicit when content is complete and ready for conversion
- Plan slide additions - discuss layout and content before adding new slides
- Preserve blank slides - they're part of the template structure; don't delete them unless instructed
Common Patterns
Working on a slide
1. Read the draft file to locate the slide
2. Find the relevant [SLIDE:N] section
3. Edit content within [TEXTBOX] markers
4. Confirm changes with userMulti-turn editing
1. User provides content for slide 1 → Edit [SLIDE:0]
2. User provides content for slide 2 → Edit [SLIDE:1]
3. User reviews all slides → Make adjustments
4. User approves → Convert back to PowerPointAdding multiple slides
1. Determine new slide count and layout
2. Add new [SLIDE] blocks with sequential numbering
3. Update TOTAL_SLIDES in metadata
4. Fill in content as user provides itTable editing
1. Locate slide containing [TABLE:N]
2. Find specific cells by [CELL:row,col]
3. Fill in cell content
4. Maintain all cell markers and row/column countThis skill enables efficient collaborative presentation editing whilst maintaining perfect fidelity to the original PowerPoint presentation format and layout.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

