pptx_mastery
Comprehensive guide to designing, creating, cloning, and updating professional 16:9 presentation slide decks (.pptx) in Python using python-pptx.
Skill by ParisNeo
Chalk Labs
Need help deploying pptx_mastery?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/parisneo-pptx-mastery
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: presentations
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pptx-mastery
What's inside
- Skill name
pptx_mastery- Description
- Comprehensive guide to designing, creating, cloning, and updating professional 16:9 presentation slide decks (.pptx) in Python using python-pptx.
- License
- Apache-2.0
- Instructions
- 314 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# Professional Presentation Slide Deck Engineering with Python
This skill teaches how to generate stunning, executive-ready 16:9 widescreen PowerPoint slide decks (`.pptx`) using `python-pptx`, including inheriting from existing company master templates, embedding vector diagrams, generating high-DPI charts, and writing speaker notes.
---
## 🎨 Part 1: High-Level Presentation Architecture & Theming
A great presentation is visually restrained, highly structured, and avoids wall-of-text slides.
### 1. Presentation Canvas Standards
* **Aspect Ratio**: Always **16:9 Widescreen** (`13.333 × 7.5 inches` / `1920×1080 equivalent`). Never 4:3.
* **Color Palette (60-30-10 Rule)**:
- **60% Dominant Canvas**: Clean background (Pure White `#FFFFFF` or Deep Night Slate `#0F172A`).
- **30% Structural Neutral**: Cards, containers, table borders (Soft Gray `#F1F5F9` or Charcoal `#1E293B`).
- **10% Accent Punch**: Brand primary for metric highlights, key badges, primary CTAs (e.g. Vibrant Indigo `#4F46E5` or Electric Blue `#0284C7`).
### 2. Core Slide Archetypes
1. **Title / Cover Slide**: Asymmetrical bold title, subtitle, presenter credentials, dark contrast background.
2. **Executive Summary / 3-Card Grid**: Three distinct horizontal or vertical cards summarizing the core pillars.
3. **Big Number / Metric Callout**: Oversized metric numbers (`54–72 pt`) with brief explanation labels below.
4. **Comparison / Architecture Split**: 2-column side-by-side card container layout comparing Old vs. New or Problem vs. Solution.
5. **Data Visualization Slide**: Clean chart on one half, 3 structured takeaways / bullet points on the other.
---
## 💻 Part 2: Starting from an Existing Workspace Template
The best way to preserve company branding, custom fonts, and pre-designed footers is to **clone an existing template file** rather than starting with a blank canvas.
```python
import shutil
from pathlib import Path
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
def create_deck_from_template(template_name: str, output_name: str = "final_presentation.pptx"):
ws_root = Path(".")
template_path = ws_root / template_name
# 1. Clone template to working output file
if template_path.exists():
output_path = ws_root / output_name
shutil.copy2(template_path, output_path)
prs = Presentation(str(output_path))
print(f"✅ Cloned template '{template_name}' -> '{output_name}'")
else:
# Fallback to fresh 16:9 widescreen presentation
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
output_path = ws_root / output_name
print("ℹ️ Template not found; created clean 16:9 widescreen presentation.")
return prs, output_path
```
---
## 💻 Part 3: Building a Complete 16:9 Executive Deck in Python
### Required Dependency
```bash
pip install python-pptx matplotlib
```
### Complete End-to-End Presentation Builder
```python
import io
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from pathlib import Path
from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.enum.text import PP_ALIGN
from pptx.enum.shapes import MSO_SHAPE
from pptx.dml.color import RGBColor
# ── Color Palette Constants ──
COLOR_BG_DARK = RGBColor(15, 23, 42) # Slate 900
COLOR_BG_LIGHT = RGBColor(248, 250, 252) # Slate 50
COLOR_CARD_BG = RGBColor(255, 255, 255) # Pure White
COLOR_PRIMARY = RGBColor(31, 78, 121) # Deep Corporate Blue
COLOR_ACCENT = RGBColor(79, 70, 229) # Indigo 600
COLOR_TEXT_MAIN = RGBColor(30, 41, 59) # Slate 800
COLOR_TEXT_MUT = RGBColor(100, 116, 139) # Slate 500
def add_header(slide, category: str, title: str):
"""Standardized top category kicker and slide title."""
tb = slide.shapes.add_textbox(Inches(0.8), Inches(0.5), Inches(11.5), Inches(1.2))
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = tf.margin_top = tf.margin_right = tf.margin_bottom = 0
# Kicker / Category
p_kicker = tf.paragraphs[0]
p_kicker.space_after = Pt(2)
r_kicker = p_kicker.add_run()
r_kicker.text = category.upper()
r_kicker.font.size = Pt(10)
r_kicker.font.bold = True
r_kicker.font.color.rgb = COLOR_ACCENT
# Title
p_title = tf.add_paragraph()
r_title = p_title.add_run()
r_title.text = title
r_title.font.size = Pt(24)
r_title.font.bold = True
r_title.font.color.rgb = COLOR_PRIMARY
def add_speaker_notes(slide, notes_text: str):
"""Adds professional speaker notes to a slide."""
notes_slide = slide.notes_slide
tf = notes_slide.notes_text_frame
tf.text = notes_textFrom ParisNeo/lollms_client, Apache-2.0.
More from ParisNeo/lollms_client
- 0.629score
lcp_tool_building
ParisNeo
Practical how-to for authoring LCP tools: tool function anatomy, docstring-driven schemas, requesting execution privileges via the confirm handler, and…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
file_organization
ParisNeo
Four-phase autonomous methodology for scanning directories, building classes.md and mapping.yaml, inspecting ambiguous files with sub-agents, requesting user…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
lcp_tool_creation
ParisNeo
Step-by-step guide to writing LCP tools: schema-driven docstrings, return contracts, requesting privileges via the confirmation handler, and asking the user…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
file_organization
ParisNeo
Four-phase autonomous methodology for scanning directories, building classes.md and mapping.yaml, inspecting ambiguous files, requesting user confirmation…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
handbag_agent_architecture
ParisNeo
Definitive architectural doctrine for building sovereign agent Handbags, crafting SOUL.md personalities, injecting app-level tools and skills, and inspecting…
SkillAFreshness: A★ 13Claude Code +9 - 0.625score
Lollms Artifacts and Surgical Patching
ParisNeo
Teaches the model how to formulate strategic <coding_plan> blocks, apply indentation-agnostic Aider search/replace patches, manage Git-like version logs, and…
SkillAFreshness: A★ 13Claude Code +9 - 0.624score
document_analysis_and_extraction
ParisNeo
In-depth workflow for extracting text, tables, schemas, and applying corrections or comments to PDF, Word, Excel, and PowerPoint documents.
SkillAFreshness: A★ 13Claude Code +9 - 0.624score
bibliography_and_research
ParisNeo
Methodology for searching academic papers, extracting citations, structuring bibliographies, and synthesizing research findings.
SkillAFreshness: A★ 13Claude Code +9 - 0.624score
fullstack_development
ParisNeo
Architecture, conventions, and implementation workflows for full-stack systems, backend APIs, modern frontends, and database migrations.
SkillAFreshness: A★ 13Claude Code +9 - 0.621score
desktop_automation
ParisNeo
Vision-driven desktop automation loop for inspecting screens, locating UI elements, typing, and clicking.
SkillAFreshness: A★ 13Claude Code +9 - 0.621score
git_workflow_mastery
ParisNeo
Safe, professional Git workflow guidelines, branch isolation, and uncommitted change protection.
SkillAFreshness: A★ 13Claude Code +9 - 0.621score
deep_websearch_and_extraction
ParisNeo
Protocol for multi-source web searches, page content scraping, evidence corroboration, and factual synthesis.
SkillAFreshness: A★ 13Claude Code +9
Signals
- Stars
- 13
- Forks
- 5
- Open issues
- 0
- Last commit (this folder)
- Sep 20, 2026 (1 month ago)
- Last release
- Mar 5, 2025 (1 year ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/ParisNeo/lollms_client
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ParisNeo
- 0.629score
file_organization
ParisNeo
Four-phase autonomous methodology for scanning directories, building classes.md and mapping.yaml, inspecting ambiguous files, requesting user confirmation…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
lcp_tool_creation
ParisNeo
Step-by-step guide to writing LCP tools: schema-driven docstrings, return contracts, requesting privileges via the confirmation handler, and asking the user…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
handbag_agent_architecture
ParisNeo
Definitive architectural doctrine for building sovereign agent Handbags, crafting SOUL.md personalities, injecting app-level tools and skills, and inspecting…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
file_organization
ParisNeo
Four-phase autonomous methodology for scanning directories, building classes.md and mapping.yaml, inspecting ambiguous files with sub-agents, requesting user…
SkillAFreshness: A★ 13Claude Code +9 - 0.629score
lcp_tool_building
ParisNeo
Practical how-to for authoring LCP tools: tool function anatomy, docstring-driven schemas, requesting execution privileges via the confirm handler, and…
SkillAFreshness: A★ 13Claude Code +9 - 0.625score
Lollms Artifacts and Surgical Patching
ParisNeo
Teaches the model how to formulate strategic <coding_plan> blocks, apply indentation-agnostic Aider search/replace patches, manage Git-like version logs, and…
SkillAFreshness: A★ 13Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get pptx_mastery running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
pptx_mastery skill. Agent Mart. https://agentmart.dev/skills/parisneo-pptx-mastery (last updated 2026-10-24)