powerpoint-ppt
2
总安装量
2
周安装量
#66682
全站排名
安装命令
npx skills add https://github.com/practicalswan/agent-skills --skill powerpoint-ppt
Agent 安装分布
opencode
2
gemini-cli
2
claude-code
2
github-copilot
2
codex
2
kimi-cli
2
Skill 文档
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