Skill Paths
- •Workspace skills:
.github/skills/ - •Global skills:
C:/Users/LOQ/.agents/skills/
Comprehensive skill for working with Microsoft PowerPoint presentations using MCP servers.
When to Use This Skill
- •Any task where .pptx is an input, output, or transformation target
- •Creating, editing, formatting, or analyzing PowerPoint files
- •Building slide decks from data or templates
- •Applying consistent branding across presentations
- •Automating PowerPoint workflows via MCP tools
Typical Activation Triggers
- •.pptx work: presentations, slide decks, templates, slide creation/editing
- •Slide content: text placeholders, bullet points, images, charts
- •Design: templates, layouts, fonts, colors, themes
- •Analysis: text extraction, structure inspection
Part 1: PowerPoint Presentations (.pptx) via MCP
Quick Reference
| Task | Activation / Tool |
|---|---|
| Create/open presentation; add/copy/delete/rename slides | activate_presentation_creation_and_management |
| Populate placeholders with text / bullet points | activate_text_placeholder_management |
| Add/edit free text boxes; format inline runs | mcp_ppt_manage_text ← direct |
| Add images; analyze/optimize fonts | activate_content_management_tools |
| Apply theme or .pptx template | activate_template_application_tools |
| Extract text; inspect slide masters & layouts | activate_information_extraction_and_management |
Note: Speaker notes, slide transitions, and animations are not exposed by the PPT MCP server.
Tool Activation Order
activate_presentation_creation_and_management(); // create/open, add/copy/delete slides activate_text_placeholder_management(); // populate & bullet-point placeholders activate_content_management_tools(); // images, fonts, text enhancement activate_template_application_tools(); // apply .pptx theme/template activate_information_extraction_and_management();// extract text, masters, layouts
Create Presentation and Manage Slides
// Create a new blank presentation
mcp_ppt_create_presentation({ filename: "deck.pptx", title: "Q3 Results" })
// Open an existing presentation
mcp_ppt_open_presentation({ filename: "deck.pptx" })
// Add a slide (append to end)
mcp_ppt_add_slide({ filename: "deck.pptx", layout_index: 1 }) // 0=blank,1=title,2=content
// Copy slide (e.g. duplicate a template slide)
mcp_ppt_copy_slide({ filename: "deck.pptx", source_index: 1, destination_index: 2 })
// Delete a slide
mcp_ppt_delete_slide({ filename: "deck.pptx", slide_index: 4 })
// Save
mcp_ppt_save_presentation({ filename: "deck.pptx" })
Populate Placeholders (Recommended for Structured Layouts)
Activate:
activate_text_placeholder_management()Placeholders are the pre-defined text areas from the slide layout (title, body, subtitle). Prefer placeholders over free text boxes — they respect the theme's font/color.
// Fill a title placeholder (index 0 = title on most layouts)
mcp_ppt_populate_placeholder({
slide_index: 0,
placeholder_index: 0,
text: "Q3 2025 Performance Review"
})
// Fill a subtitle/body placeholder (index 1)
mcp_ppt_populate_placeholder({
slide_index: 0,
placeholder_index: 1,
text: "Finance Division · October 2025"
})
// Add bullet points to a content placeholder
mcp_ppt_add_bullet_points_to_placeholder({
slide_index: 2,
placeholder_index: 1,
bullet_points: [
"Revenue up 20% YoY",
"APAC led growth at +35%",
"Operational costs held flat"
]
})
Add and Format Free Text Boxes
Direct tool:
mcp_ppt_manage_text— no activation needed.
// Add a new text box (position in inches from top-left)
mcp_ppt_manage_text({
slide_index: 1,
operation: "add",
text: "Source: Internal BI System Q3 2025",
font_size: 10,
italic: true,
color: [120, 120, 120], // RGB
alignment: "right",
left: 6.5, top: 6.8, width: 3.0, height: 0.3
})
// Edit text in an existing shape
mcp_ppt_manage_text({
slide_index: 2,
shape_index: 1,
operation: "edit",
text: "Updated callout text",
font_size: 14,
bold: true,
alignment: "center"
})
// Mixed inline formatting (text_runs)
mcp_ppt_manage_text({
slide_index: 3,
shape_index: 0,
operation: "edit",
text_runs: [
{ text: "KPI: ", bold: true, color: [30, 116, 69] },
{ text: "$1.8M revenue", bold: false },
{ text: " ▲12%", bold: true, color: [46, 116, 181] }
]
})
// Validate text fits (check auto_fit before commit)
mcp_ppt_manage_text({
slide_index: 1,
shape_index: 0,
operation: "add",
text: "Long content...",
auto_fit: true, // shrink to fit
min_font_size: 10, // don't go below 10pt
max_font_size: 24,
validation_only: true // dry-run: returns fit result without saving
})
Images and Font Management
Activate:
activate_content_management_tools()
// Add an image to a slide
mcp_ppt_manage_image({
slide_index: 2,
operation: "add",
image_path: "./chart_q3.png",
left: 1.0, top: 1.5, width: 5.5, height: 3.5
})
// Analyze fonts used (identify inconsistencies)
mcp_ppt_manage_fonts({
slide_index: null, // null = all slides
operation: "analyze"
})
// Replace a non-brand font across all slides
mcp_ppt_manage_fonts({
operation: "replace",
find_font: "Calibri",
replace_font: "Arial"
})
Apply Theme / Template
Activate:
activate_template_application_tools()
// Apply a .pptx template to all slides (inherits master, layouts, colors)
mcp_ppt_apply_template({
filename: "deck.pptx",
template_name: "BrandTemplate.pptx",
apply_to_all: true
})
// Apply a specific slide layout to one slide
mcp_ppt_apply_slide_layout({
filename: "deck.pptx",
slide_index: 3,
layout_name: "Two Content"
})
Extract Text and Inspect Structure
Activate:
activate_information_extraction_and_management()
// Extract all slide text (returns slide-by-slide array)
mcp_ppt_extract_text({
filename: "deck.pptx",
include_slide_numbers: true
})
// Extract text from a specific slide
mcp_ppt_extract_text({ filename: "deck.pptx", slide_index: 2 })
// List available slide layouts from the master
mcp_ppt_get_slide_layouts({ filename: "deck.pptx" })
// Get slide master details (useful before applying template)
mcp_ppt_get_slide_master({ filename: "deck.pptx" })
End-to-End Presentation Workflow
// ── 1. Activate ──────────────────────────────────────────────────
activate_presentation_creation_and_management();
activate_text_placeholder_management();
activate_content_management_tools();
activate_template_application_tools();
// ── 2. Create + apply brand template ────────────────────────────
mcp_ppt_create_presentation({ filename: "deck.pptx", title: "Q3 Results" })
mcp_ppt_apply_template({ filename: "deck.pptx", template_name: "BrandTemplate.pptx", apply_to_all: true })
// ── 3. Title slide (slide 0 already exists) ──────────────────────
mcp_ppt_populate_placeholder({ slide_index: 0, placeholder_index: 0, text: "Q3 2025 Results" })
mcp_ppt_populate_placeholder({ slide_index: 0, placeholder_index: 1, text: "Finance Division · Oct 2025" })
// ── 4. Add content slides ────────────────────────────────────────
mcp_ppt_add_slide({ filename: "deck.pptx", layout_index: 2 }) // content layout
mcp_ppt_populate_placeholder({ slide_index: 1, placeholder_index: 0, text: "Financial Highlights" })
mcp_ppt_add_bullet_points_to_placeholder({
slide_index: 1, placeholder_index: 1,
bullet_points: ["Revenue: $1.8M (+20%)", "Profit margin: 33%", "APAC growth: +35%"]
})
// ── 5. Chart slide ───────────────────────────────────────────────
mcp_ppt_add_slide({ filename: "deck.pptx", layout_index: 2 })
mcp_ppt_manage_image({ slide_index: 2, operation: "add", image_path: "./chart_q3.png", left: 1, top: 1.5, width: 8, height: 4.5 })
mcp_ppt_manage_text({ slide_index: 2, operation: "add", text: "Source: BI System", font_size: 9, italic: true, left: 7.5, top: 6.8, width: 2.0, height: 0.3 })
// ── 6. Fix fonts + save ──────────────────────────────────────────
mcp_ppt_manage_fonts({ operation: "replace", find_font: "Calibri", replace_font: "Arial" })
mcp_ppt_save_presentation({ filename: "deck.pptx" })
Part 2: Presentation Structure Standards
PowerPoint Presentation Structure
- •Title Slide: Hook, topic, presenter
- •Agenda/Overview: What will be covered
- •Content Slides: Main information (1 idea per slide)
- •Conclusion Summary: Key takeaways
- •Q&A / Next Steps: What audience should do
Formatting Standards
Fonts
- •Headings: Bold, larger (32-44pt)
- •Body: Readable size (24-32pt)
- •Consistency: Use same font families throughout
Colors
- •Primary: Main brand or accent color (use 60-70%)
- •Secondary: Supporting colors (20-30%)
- •Neutral: Backgrounds, borders (remaining %)
Spacing
- •White space: Don't crowd slides
- •Alignment: Use grid-based spacing
- •Visual hierarchy: Size and weight guide eye
Slide Design
- •1 idea per slide: Maximum 50 words
- •Bullet points: Use for lists, not paragraphs
- •Images: High quality, relevant to content
- •Consistency: Same layout for similar content
Part 3: Quality Checklist
## Presentation Quality Checklist
### Content
- [ ] Placeholders used for title/body (not free text boxes) — preserves theme styling
- [ ] 1 main idea per slide; ≤50 words
- [ ] Bullet points via add_bullet_points_to_placeholder (not manual text boxes)
- [ ] Charts/images provided as high-res PNG/SVG at correct aspect ratio
- [ ] Source labels added as small text boxes on data slides
### Design
- [ ] Brand template applied (mcp_ppt_apply_template)
- [ ] Fonts consistent — run font analysis and replace non-brand fonts
- [ ] Title slide: title + subtitle placeholders both populated
- [ ] No placeholder default text remaining ("Click to add title" etc.)
### Structure
- [ ] Slide 0: title slide
- [ ] Slide 1: agenda or key takeaway
- [ ] Content slides: one section per major point
- [ ] Final slide: summary / next steps
### Validation
- [ ] auto_fit checked on text-heavy slides (validation_only: true)
- [ ] Font replacement run across all slides
- [ ] Presentation saved before distribution
Part 4: MCP Tool Activation Guide
Activation Commands
When working with PowerPoint presentations, use these MCP activation patterns:
// PowerPoint documents activate_presentation_creation_and_management(); // create/open, add/copy/delete slides activate_text_placeholder_management(); // populate placeholders, add bullet points activate_content_management_tools(); // add images, analyze/replace fonts activate_template_application_tools(); // apply .pptx theme or template activate_information_extraction_and_management();// extract text, slide masters, layouts
Workflow Examples
Template-Based Presentation Generation
- •Start with template (PowerPoint)
- •Copy template to new filename
- •Populate placeholders with actual content
- •Add slides as needed
- •Apply styling consistently across slides
- •Save final version
Part 5: Best Practices
MCP-Specific Best Practices
- •Activate tools as needed: Enable MCP tool groups only when required to avoid unnecessary overhead
- •Validate operations: Confirm operations completed successfully, especially for batch operations
- •Handle errors gracefully: Catch and report MCP tool errors with context for troubleshooting
- •Batch operations: Use array-based operations when available for efficiency
- •Document file paths: Use clear, relative paths and maintain documentation of file locations
Presentation Best Practices
- •Use placeholders: They respect theme styling and are easier to maintain
- •Limit text: One idea per slide, maximum 50 words
- •High-quality images: Use PNG/SVG at correct resolution
- •Consistent branding: Apply template to all slides
- •Font consistency: Run font analysis and replace non-brand fonts
- •Test before presenting: Validate all placeholders are populated
References & Resources
Documentation
- •PowerPoint References — PowerPoint formatting and manipulation reference
Examples
- •Presentation Examples — Examples of creating presentations programmatically
Scripts
- •PPT Automation Script — Python script for presentation automation