| name | ppt-generate |
| description | Use this skill whenever creating PPTX slides, presentations, or decks. Covers 30 modern design styles (Glassmorphism, Neo-Brutalism, Bento Grid, Dark Academia, Gradient Mesh, Claymorphism, Swiss International, Aurora Neon Glow, Retro Y2K, Nordic Minimalism, Typographic Bold, Duotone Color Split, Monochrome Minimal, Cyberpunk Outline, Editorial Magazine, Pastel Soft UI, Dark Neon Miami, Hand-crafted Organic, Isometric 3D Flat, Vaporwave, Art Deco Luxe, Brutalist Newspaper, Stained Glass Mosaic, Liquid Blob Morphing, Memphis Pop Pattern, Dark Forest Nature, Architectural Blueprint, Maximalist Collage, SciFi Holographic Data, Risograph Print) with exact color, font, and layout specifications. Activate for any presentation request including words like "sleek", "modern", "trendy", "designed", "stylish", or "visually striking" slides. Also trigger when users want to make existing slides "look better", need a specific aesthetic for a deck, or ask about presentation design in general.
|
PPTX Presentation Generator
Create professional .pptx files with modern design styles using python-pptx.
Workflow
- Clarify — understand the content, audience, and desired mood
- Select style — recommend from the matrix below, or let the user choose
- Read style spec — load ONLY the chosen style section from
references/styles.md
- Check fonts — consult
references/font-fallback.md for safe substitutions
- Generate — write and run a self-contained Python script using python-pptx
- Deliver — confirm the output .pptx path to the user
Style Selection
If the user hasn't chosen a style, recommend 2-3 options based on their content:
| Presentation Goal | Recommended Styles |
|---|
| Tech / AI / Startup | Glassmorphism, Aurora Neon, Cyberpunk Outline, SciFi Holographic |
| Corporate / Consulting / Finance | Swiss International, Monochrome Minimal, Editorial Magazine |
| Education / Research / History | Dark Academia, Nordic Minimalism, Brutalist Newspaper |
| Brand / Marketing | Gradient Mesh, Typographic Bold, Duotone Split, Risograph Print |
| Product / App / UX | Bento Grid, Claymorphism, Pastel Soft UI, Liquid Blob |
| Entertainment / Gaming | Retro Y2K, Dark Neon Miami, Vaporwave, Memphis Pop |
| Eco / Wellness / Culture | Hand-crafted Organic, Nordic Minimalism, Dark Forest Nature |
| IT Infrastructure | Isometric 3D Flat, Cyberpunk Outline, Architectural Blueprint |
| Portfolio / Art / Creative | Monochrome Minimal, Editorial Magazine, Risograph Print, Maximalist Collage |
| Pitch Deck / Strategy | Neo-Brutalism, Duotone Split, Bento Grid, Art Deco Luxe |
| Luxury / Events | Art Deco Luxe, Monochrome Minimal, Dark Academia |
| Science / Biotech | Liquid Blob, SciFi Holographic, Aurora Neon |
Reading Style Specs
references/styles.md contains all 30 styles (~1200 lines). Do NOT read the entire file.
- Grep for the style heading:
## XX. Style Name
- Read only that section (~40 lines) until the next
--- separator
- Extract: background, colors (HEX), fonts, layout rules, signature elements, and avoid list
Font Strategy
python-pptx embeds font names in the PPTX XML, but fonts must be installed on the
machine that opens the file to render correctly. If missing, the viewer app substitutes
a default (usually Calibri), which breaks the intended design.
Read references/font-fallback.md for the full mapping table. The key principle:
- Ask the user if they have specific fonts installed
- Default to safe fonts (Arial, Calibri, Georgia, Courier New) when unsure
- Document which fonts the deck uses so the user can install them if needed
PPTX Generation with python-pptx
Setup
pip install python-pptx
Generate a standalone Python script for each presentation. The script should be
self-contained, import everything it needs, and save the .pptx at the end.
Slide Dimensions (16:9 widescreen)
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
from pptx.enum.shapes import MSO_SHAPE
from pptx.oxml.ns import qn
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
Blank Slide
Always use the blank layout (index 6) so no default placeholders interfere with custom design:
slide = prs.slides.add_slide(prs.slide_layouts[6])
Solid Background
bg = slide.background
fill = bg.fill
fill.solid()
fill.fore_color.rgb = RGBColor(0x0F, 0x0F, 0x2D)
Gradient Background
fill = slide.background.fill
fill.gradient()
fill.gradient_stops[0].color.rgb = RGBColor(0x1A, 0x1A, 0x4E)
fill.gradient_stops[0].position = 0.0
fill.gradient_stops[1].color.rgb = RGBColor(0x6B, 0x21, 0xA8)
fill.gradient_stops[1].position = 1.0
Shape with Transparency
Transparency is the key to styles like Glassmorphism and Pastel Soft UI.
python-pptx doesn't expose alpha directly, so manipulate the XML.
Important: shape.fill._fill is a wrapper object, NOT an XML element — calling
.find() on it will raise AttributeError. Always traverse from shape._element:
shape = slide.shapes.add_shape(
MSO_SHAPE.ROUNDED_RECTANGLE, left, top, width, height
)
shape.fill.solid()
shape.fill.fore_color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
solid_fill = shape._element.find('.//' + qn('a:solidFill'))
srgb = solid_fill.find(qn('a:srgbClr'))
alpha = srgb.makeelement(qn('a:alpha'), {'val': '20000'})
srgb.append(alpha)
Text with Custom Font
tf = shape.text_frame
tf.word_wrap = True
p = tf.paragraphs[0]
p.text = "Title Text"
p.font.size = Pt(36)
p.font.name = "Calibri Light"
p.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
p.font.bold = True
p.alignment = PP_ALIGN.CENTER
Decorative Shapes
circle = slide.shapes.add_shape(MSO_SHAPE.OVAL, left, top, size, size)
line = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, left, top, width, Pt(2))
shape.line.fill.background()
Saving
output_path = "presentation.pptx"
prs.save(output_path)
print(f"Saved: {output_path}")
Design Principles
These matter because they're the difference between a professional-looking deck and
a collection of text boxes:
- No text-only slides — every slide needs at least one visual element (shape, color
block, decorative line). Even a simple colored rectangle behind the title transforms
the slide from "document" to "presentation."
- Repeat signature elements — each style has 2-3 defining visual motifs. Use them
consistently across all slides. This is what makes a deck feel cohesive rather than
a random collection of slides.
- Exact HEX values — use the colors from the style spec precisely. "Close enough"
colors break aesthetic cohesion, especially in dark-background styles where small
differences are very visible.
- Font pairing matters — typography drives ~50% of the style impression. Match the
title/body/caption font combination from the spec (using fallbacks where needed).
- Layer with intention — background → decorative shapes → content cards → text.
z-ordering creates depth and professionalism.
Typical Slide Structure
- Title slide — style's signature treatment at full impact
- Agenda/overview — lighter use of signature elements
- Content slides — consistent layout with style elements framing content
- Data/chart slides — style colors applied to any charts or data
- Closing slide — echo of title slide treatment
Available Styles (30)
| # | Style | Mood | Best For |
|---|
| 01 | Glassmorphism | Premium · Tech | SaaS, AI products |
| 02 | Neo-Brutalism | Bold · Startup | Pitch decks, marketing |
| 03 | Bento Grid | Modular · Structured | Feature overviews |
| 04 | Dark Academia | Scholarly · Refined | Education, research |
| 05 | Gradient Mesh | Artistic · Vibrant | Brand launches |
| 06 | Claymorphism | Friendly · 3D | Apps, education |
| 07 | Swiss International | Functional · Corporate | Consulting, finance |
| 08 | Aurora Neon Glow | Futuristic · AI | AI, cybersecurity |
| 09 | Retro Y2K | Nostalgic · Pop | Events, marketing |
| 10 | Nordic Minimalism | Calm · Natural | Wellness, non-profit |
| 11 | Typographic Bold | Editorial · Impact | Brand statements |
| 12 | Duotone Color Split | Dramatic · Contrast | Strategy, compare |
| 13 | Monochrome Minimal | Restrained · Luxury | Luxury brands |
| 14 | Cyberpunk Outline | HUD · Sci-Fi | Gaming, infra |
| 15 | Editorial Magazine | Magazine · Story | Annual reviews |
| 16 | Pastel Soft UI | Soft · App-like | Healthcare, beauty |
| 17 | Dark Neon Miami | Synthwave · 80s | Entertainment, music |
| 18 | Hand-crafted Organic | Natural · Eco | Eco brands, food |
| 19 | Isometric 3D Flat | Technical · Structured | IT architecture |
| 20 | Vaporwave | Dreamy · Subculture | Creative agencies |
| 21 | Art Deco Luxe | Gold · Geometric | Luxury, gala events |
| 22 | Brutalist Newspaper | Editorial · Raw | Media, research |
| 23 | Stained Glass Mosaic | Colorful · Artistic | Culture, museums |
| 24 | Liquid Blob Morphing | Fluid · Organic Tech | Biotech, innovation |
| 25 | Memphis Pop Pattern | 80s · Geometric | Fashion, lifestyle |
| 26 | Dark Forest Nature | Mysterious · Atmospheric | Eco premium |
| 27 | Architectural Blueprint | Technical · Precise | Architecture |
| 28 | Maximalist Collage | Energetic · Layered | Advertising |
| 29 | SciFi Holographic Data | Hologram · HUD | AI, quantum |
| 30 | Risograph Print | CMYK · Indie | Publishing, art |
For detailed color/font/layout specs → references/styles.md (read only the section you need)
For font mapping → references/font-fallback.md