Finance

pptx-creator - Claude MCP Skill

Creates professional PowerPoint PPTX presentations from markdown, structured content, or templates with support for slides, layouts, images, charts, and speaker notes - perfect for pitch decks and presentations

SEO Guide: Enhance your AI agent with the pptx-creator tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to creates professional powerpoint pptx presentations from markdown, structured content, or templates w... Download and configure this skill to unlock new capabilities for your AI workflow.

🌟1 stars • 0 forks
📥0 downloads

Documentation

SKILL.md
# PPTX Creator Skill## PurposeCreate professional PowerPoint presentations .pptx from various input formats including markdown, structured content, or templates. Generate compelling slide decks for pitches, presentations, reports, and meetings. Primary use cases: pitch decks, status updates, training materials, conference presentations.## Core Capabilities1. Markdown to Slides Conversion   - Headings → slide titles   - Horizontal rules --- → slide breaks   - Lists → bullet points   - Code blocks → code slides   - Images → image slides   - Tables → table slides2. Structured Presentation Creation   - Define slides programmatically   - Multiple layout types title, content, two-column, etc.   - Custom slide arrangements   - Flexible content positioning3. Visual Elements   - Text boxes with formatting   - Images embedded or linked   - Shapes and connectors   - Charts bar, line, pie, scatter   - Tables with styling   - SmartArt diagrams4. Professional Features   - Master slides and themes   - Custom color schemes   - Font management   - Slide numbers   - Speaker notes   - Transitions and animations   - Headers and footers5. Presentation Types   - Pitch decks investor presentations   - Status update decks   - Training presentations   - Conference talks   - Meeting materials   - Report presentations## Triggers- create a powerpoint- make a pptx- create a pitch deck- convert to slides- make a presentation- create slides from [file]- build a slide deck## Input Formats### Markdown File with Slide Breaksmarkdown# Pitch Deck---# Problem- Current solutions are inadequate- Market gap exists- Customer pain points---# SolutionOur innovative approach solves this by:1. Feature A2. Feature B3. Feature C---# Market Size[Market chart]./images/market.pngTAM: 10BSAM: 2BSOM: 200M### Structured Slide Datajson  title: Q4 Results Presentation,  theme: professional,  slides: [          layout: title,      title: Q4 2025 Results,      subtitle: Presented by Leadership Team    ,          layout: content,      title: Key Achievements,      bullets: [        Revenue up 25%,        Launched 3 new products,        Expanded to 5 new markets      ]    ,          layout: two-column,      title: Metrics,      left:         type: bullets,        items: [Metric 1, Metric 2]      ,      right:         type: chart,        chartType: bar,        data: ...            ]### Template-Based Creationjson  template: pitch-deck,  variables:     company_name: Acme Corp,    problem: Market inefficiency,    solution: AI-powered platform,    team_size: 15,    revenue: 2M ARR  ## Implementation Steps### 1. Parse Input- Identify input format markdown, JSON, template- Extract slide structure- Validate content### 2. Process Content#### For Markdownjavascript// Split by slide breaksconst slides = markdown.split/^---/m// Process each slideslides.forEachslide =   const lines = slide.trim.splitn  const title = extractTitlelines[0]  const content = processSlideContentlines.slice1#### For Structured Datajavascriptconst pptx = new PptxGenJSslideData.forEachslide =   const pptxSlide = pptx.addSlide  applyLayoutpptxSlide, slide.layout  addContentpptxSlide, slide.content### 3. Create Presentationjavascriptconst PptxGenJS = requirepptxgenjsconst pptx = new PptxGenJS// Set metadatapptx.author = DollhouseMCPpptx.company = Your Companypptx.subject = Presentationpptx.title = Presentation Title// Define themepptx.defineLayout  name: CUSTOM,  width: 10,  height: 5.625pptx.layout = CUSTOM### 4. Add Slides#### Title Slidejavascriptconst slide = pptx.addSlideslide.background =  color: 2E74B5 slide.addTextPresentation Title,   x: 0.5,  y: 1.5,  w: 9,  h: 1.5,  fontSize: 44,  bold: true,  color: FFFFFF,  align: centerslide.addTextSubtitle,   x: 0.5,  y: 3,  w: 9,  h: 0.5,  fontSize: 24,  color: FFFFFF,  align: center#### Content Slide with Bulletsjavascriptconst slide = pptx.addSlideslide.addTextKey Points,   x: 0.5,  y: 0.5,  w: 9,  h: 0.75,  fontSize: 36,  bold: true,  color: 2E74B5slide.addText[   text: Point 1, options:  bullet: true  ,   text: Point 2, options:  bullet: true  ,   text: Point 3, options:  bullet: true  ],   x: 1,  y: 1.5,  w: 8,  h: 3,  fontSize: 20#### Image Slidejavascriptslide.addImage  path: ./images/chart.png,  x: 1,  y: 1.5,  w: 8,  h: 4#### Chart Slidejavascriptslide.addChartpptx.ChartType.bar, [      name: Q1,    labels: [Revenue, Profit, Growth],    values: [100, 50, 25]  ],   x: 1,  y: 1.5,  w: 8,  h: 4,  chartColors: [2E74B5, 3498DB, 5DADE2]### 5. Apply Theme/Stylingjavascript// Define master slidepptx.defineSlideMaster  title: MASTER_SLIDE,  background:  color: FFFFFF ,  objects: [           text:  text: Footer Text ,      options:  x: 0.5, y: 5, w: 9, h: 0.3, fontSize: 10       ],  slideNumber:  x: 9, y: 5, color: 999999 ### 6. Save Presentationjavascriptawait pptx.writeFile fileName: presentation.pptx ## DependenciesRequired packages:json  pptxgenjs: ^3.12.0,  markdown-it: ^14.0.0,  marked: ^11.0.0Optional packages:json  chartjs: ^4.4.0,  image-size: ^1.1.0## Layout Types### 1. Title Slide- Large centered title- Subtitle- Optional background image- Minimal text### 2. Content Slide Bullets- Slide title- Bullet points 1-3 levels- Images or icons- Footer### 3. Two-Column Layout- Title- Left content text/bullets- Right content image/chart- Equal or weighted columns### 4. Image Slide- Title- Large image full or partial slide- Caption- Optional overlay text### 5. Chart/Data Slide- Title- Chart visualization- Key metrics callouts- Data source citation### 6. Quote Slide- Large centered quote- Attribution- Background color/image- Minimal text for impact### 7. Section Divider- Section title- Bold background color- Transition between topics- Clean and simple### 8. Comparison Slide- Title- Two or three columns- Visual comparison- Clear differentiators## Example Usage### Convert Markdown to Pitch DeckbashInput: Convert pitch.md to PowerPointSteps:1. Read pitch.md2. Split on slide breaks ---3. Extract title from first heading per slide4. Process content bullets, images, etc.5. Apply pitch deck theme6. Generate PPTX7. Save as pitch.pptx### Create Investor Pitch DeckbashInput: Create a pitch deck with problem, solution, market, and team slidesSteps:1. Use pitch-deck template2. Create problem slide with pain points3. Create solution slide with features4. Create market slide with TAM/SAM/SOM5. Create team slide with photos/bios6. Apply professional theme7. Add speaker notes8. Save as investor-pitch-date.pptx### Status Update PresentationbashInput: Create a status update presentation from this markdown reportSteps:1. Parse markdown sections2. Create title slide3. Convert sections to slides:   - Achievements → bullet slide   - Metrics → chart slide   - Challenges → bullet slide   - Next steps → bullet slide4. Add slide numbers5. Save as status-update-date.pptx## Pitch Deck Best Practices### Standard Pitch Deck Structure1. Title/Cover - Company name, tagline, logo2. Problem - Customer pain points 3-5 bullets3. Solution - How you solve it4. Product - Screenshots or demo5. Market Size - TAM/SAM/SOM with visuals6. Business Model - Revenue streams7. Traction - Key metrics and growth8. Competition - Competitive landscape9. Team - Founders and key hires10. Financials - Revenue, projections11. Ask - Funding amount and use of funds12. Thank You - Contact information### Visual Guidelines- One idea per slide - Keep it simple- Minimal text - Use 6x6 rule 6 lines, 6 words max- High-quality images - Professional photography- Consistent fonts - 2-3 font families max- Color palette - Stick to brand colors- White space - Dont overcrowd slides- Data visualization - Charts over tables## Error Handling### Common Errors1. Invalid Slide Structure   - Error: Malformed slide data   - Solution: Validate against schema   - Message: Invalid slide structure at position index2. Missing Image   - Error: Referenced image not found   - Solution: Skip image, show placeholder   - Message: Image not found: path. Using placeholder.3. Chart Data Invalid   - Error: Chart data format incorrect   - Solution: Show error message, skip chart   - Message: Invalid chart data for slide index. Check data format.4. Theme Not Found   - Error: Requested theme doesnt exist   - Solution: Fall back to default theme   - Message: Theme name not found. Using default theme.5. File Write Error   - Error: Cannot save PPTX file   - Solution: Check permissions and disk space   - Message: Cannot write path. Check permissions and disk space.## Themes and Styling### Professional Themejavascriptconst professionalTheme =   background: FFFFFF,  title:     color: 2C3E50,    fontSize: 36,    bold: true,    fontFace: Calibri  ,  body:     color: 34495E,    fontSize: 18,    fontFace: Calibri  ,  accent: 3498DB### Startup Themejavascriptconst startupTheme =   background: F8F9FA,  title:     color: 2E74B5,    fontSize: 40,    bold: true,    fontFace: Arial  ,  body:     color: 2C3E50,    fontSize: 20,    fontFace: Arial  ,  accent: E74C3C### Dark Themejavascriptconst darkTheme =   background: 1E1E1E,  title:     color: FFFFFF,    fontSize: 38,    bold: true,    fontFace: Segoe UI  ,  body:     color: E0E0E0,    fontSize: 18,    fontFace: Segoe UI  ,  accent: 61DAFB## Advanced Features### Speaker Notesjavascriptslide.addNotesThese are speaker notes that will help you present this slide. Mention key points, statistics, or transitions.### Animationsjavascriptslide.addTextAnimated Text,   x: 1,  y: 2,  fontSize: 24,  animation:     entrance: fadeIn,    duration: 1000,    delay: 500  ### Transitionsjavascriptslide.transition =   type: fade,  duration: 0.5### Hyperlinksjavascriptslide.addTextVisit our website,   x: 1,  y: 4,  fontSize: 16,  hyperlink:  url: https://example.com ### Tablesjavascriptconst rows = [  [Q1, Q2, Q3, Q4],  [100k, 150k, 200k, 250k]]slide.addTablerows,   x: 1,  y: 2,  w: 8,  h: 2,  fill:  color: F2F2F2 ,  border:  pt: 1, color: CCCCCC ## Integration with TemplatesWorks with DollhouseMCP template elements:bash# Use template to crea

Signals

Avg rating0.0
Reviews0
Favorites0

Information

Repository
mickdarling/dollhouse-portfolio
Author
mickdarling
Last Sync
1/14/2026
Repo Updated
10/25/2025
Created
1/13/2026

Reviews (0)

No reviews yet. Be the first to review this skill!