CE101 Slide Generation Skill
Overview
This skill automates the generation of professionally styled PowerPoint presentations from CE101 curriculum content. It handles the complete workflow: markdown → styled PowerPoint → PNG previews.
When to use this skill:
- •Updating CE101 curriculum and need to regenerate slides
- •Creating new presentation slides from curriculum content
- •Previewing slides as PNG images
- •Converting markdown presentations to PowerPoint
Quick Start
Generate Complete Slide Deck
# One-command generation (markdown → PowerPoint → PNGs) ./scripts/generate-slides.sh # View slides in browser ./scripts/view-slides.sh
Output:
- •
CE101-Master-Presentation-Styled.pptx- Styled PowerPoint - •
workspace/thumbnails/slide-*.png- Individual slide images - •
workspace/thumbnails/index.html- Browsable slide index
File Structure
ce101/
├── 01-core-concepts.md ← Curriculum modules (source of truth)
├── 02-filesystem-organization.md
├── ...
├── 08-mcp-servers.md
│
├── CE101-Master-Presentation.md ← Master slide deck (manually curated)
│
├── workspace/
│ ├── generate-presentation.js ← Slide generator script
│ ├── thumbnails/ ← Generated PNG previews
│ └── slides-html/ ← Intermediate HTML files
│
└── scripts/
├── generate-slides.sh ← Main automation
├── pptx-to-png.sh ← PowerPoint → PNG converter
└── view-slides.sh ← Browser launcher
Core Workflows
1. Update Curriculum → Generate Slides
Workflow:
- •Edit curriculum modules (01-08.md)
- •Work with Claude to update
CE101-Master-Presentation.md:- •Extract key concepts from updated modules
- •Format as slide-friendly content (max 6-7 bullets per slide)
- •Generate slides:
bash
./scripts/generate-slides.sh
- •Review:
bash
./scripts/view-slides.sh
Example prompt for Claude:
I updated Module 3 (03-multi-tab-orchestration.md) with new content about agent coordination. Help me extract the key concepts and update the relevant section in CE101-Master-Presentation.md.
2. View Generated Slides
# Open in browser ./scripts/view-slides.sh # Or directly: open workspace/thumbnails/index.html # macOS xdg-open workspace/thumbnails/index.html # Linux
3. Convert Any PowerPoint to PNGs
./scripts/pptx-to-png.sh <input.pptx> [output-dir] # Example: ./scripts/pptx-to-png.sh CE101-Master-Presentation-Styled.pptx workspace/preview
Slide Format Guidelines
Master Markdown Format
The master presentation uses marp-style markdown with --- slide separators:
--- marp: true theme: default paginate: true --- # Slide Title ## Optional Subtitle Intro text here - Bullet point 1 - Bullet point 2 - Maximum 6-7 bullets recommended --- # Next Slide ...
Slide Types
1. Title Slide (first slide):
# Context Engineering 101 ## Stop Writing Prompts, Start Engineering Context A practical guide for SREs and DevOps engineers
- •Dark charcoal background with orange accent bar
- •Large title text
2. Module Divider (contains "Module" in title):
# Module 1: Core Concepts
- •Full orange background (#F96D00)
- •Centered white text
- •Larger font sizes
3. Content Slide (regular slides):
# Slide Title ## Optional Subtitle Text content here - Bullet 1 - Bullet 2
- •White background with orange accent bar on left
- •Left-aligned content
- •Auto-adjusting font sizes
Design Constraints
- •Dimensions: 720pt × 405pt (16:9 aspect ratio)
- •Margins: Minimum 0.5" (36pt) from all edges
- •Bullets: Maximum 6-7 per slide for readability
- •Font: Arial (web-safe)
- •Auto-sizing: Font reduces from 12pt to 11pt when >10 content lines
- •Line spacing: Adjusts from 1.2 to 1.15 for dense content
Color Theme (Little Caesars Orange)
{
primaryOrange: 'F96D00', // Main orange
deepOrange: 'E85D04', // Darker accent
charcoal: '222831', // Dark backgrounds/text
coolGray: '546E7A', // Subtitles
lightBg: 'F5F5F5', // Light backgrounds
white: 'FFFFFF' // Text on orange
}
Troubleshooting
Error: "Text box ends too close to bottom edge"
Cause: Too much content on one slide
Fix: In CE101-Master-Presentation.md, reduce bullets or split into two slides
Example:
# Before (10 bullets - TOO MANY) - Bullet 1 - Bullet 2 ... - Bullet 10 --- # After (split into two slides) # Part 1 - Bullet 1 ... - Bullet 5 --- # Part 2 - Bullet 6 ... - Bullet 10
Error: "HTML content overflows body horizontally"
Cause: Title or text too long Fix: Shorten title or text content
Slides look cut off in PNG previews
Cause: May be rendering issue Fix: Check actual PowerPoint file - PNGs are for preview only
Generated PowerPoint won't open
Cause: Malformed markdown or generation error Fix:
- •Check
workspace/slides-html/for problematic HTML - •Verify slide separators are
---on their own line - •Look for unbalanced markdown formatting
Dependencies
Node.js Packages (Global)
- •
pptxgenjs- PowerPoint generation - •Located at:
/home/becker/.nvm/versions/node/v20.19.3/lib/node_modules
System Packages
- •
libreoffice/soffice- PowerPoint → PDF conversion - •
pdftoppm(poppler-utils) - PDF → PNG conversion
Check Dependencies
# Node.js and packages which node ls /home/becker/.nvm/versions/node/v20.19.3/lib/node_modules/pptxgenjs # System tools which soffice which pdftoppm
Advanced Usage
Modify Slide Styling
Edit workspace/generate-presentation.js:
// Line 8-17: Color scheme
const colors = {
primaryOrange: 'F96D00', // Change these
deepOrange: 'E85D04',
// ...
};
// Line 143-182: Slide layout and spacing
After modifying, regenerate:
./scripts/generate-slides.sh
Change Theme Colors
Example: Switch to blue theme
- •Edit
workspace/generate-presentation.jslines 10-11:
primaryOrange: '0066CC', // Blue deepOrange: '004C99', // Darker blue
- •Regenerate:
./scripts/generate-slides.sh
File Ownership
Source Files (Edit and Commit to Git)
- •
01-core-concepts.mdthrough08-mcp-servers.md - •
CE101-Master-Presentation.md - •
workspace/generate-presentation.js - •
scripts/*.sh
Generated Files (Don't Edit, In .gitignore)
- •
CE101-Master-Presentation-Styled.pptx - •
workspace/thumbnails/ - •
workspace/slides-html/
Quick Reference Commands
# Generate everything (PowerPoint + PNGs) ./scripts/generate-slides.sh # View slides in browser ./scripts/view-slides.sh # Convert PowerPoint to PNGs only ./scripts/pptx-to-png.sh CE101-Master-Presentation-Styled.pptx # Check slide count grep -c "^---$" CE101-Master-Presentation.md # Clean generated files rm -rf workspace/thumbnails workspace/slides-html CE101-Master-Presentation-Styled.pptx
Common Tasks
Add New Module to Slides
- •Create/edit curriculum:
09-new-topic.md - •Ask Claude:
code
Extract key concepts from 09-new-topic.md and add a module section to CE101-Master-Presentation.md with: - Module divider slide - 3-5 content slides with main concepts - Max 6 bullets per slide
- •Generate:
./scripts/generate-slides.sh - •Review:
./scripts/view-slides.sh
Fix Overcrowded Slide
Problem: Slide generation fails with "text too close to bottom edge"
Solution:
- •Find the problematic slide number in error message
- •Open
CE101-Master-Presentation.md - •Count
---separators to find the slide - •Reduce content:
- •Remove less important bullets
- •Split into two slides
- •Shorten text
- •Regenerate:
./scripts/generate-slides.sh
Update Slides After Curriculum Changes
Scenario: You improved Module 2 and want slides to reflect changes
Workflow:
- •Edit
02-filesystem-organization.md(curriculum) - •Ask Claude:
code
I updated Module 2 with better examples. Please review the changes and update the Module 2 section in CE101-Master-Presentation.md to match. Keep it to 5-7 slides maximum.
- •Claude updates master presentation
- •Generate:
./scripts/generate-slides.sh - •Review:
./scripts/view-slides.sh
Performance Notes
- •Markdown → PowerPoint: ~5 seconds for 56 slides
- •PowerPoint → PNG: ~10-15 seconds for 56 slides
- •Total workflow: ~20 seconds end-to-end
- •PNG files: ~150KB each, ~8.5MB for 56 slides
Best Practices
- •
Keep curriculum detailed, slides concise
- •Curriculum has full explanations
- •Slides have key points only
- •
6-7 bullets maximum per slide
- •More than this and font sizes shrink
- •Content gets cramped
- •
Use module dividers
- •Break up sections with full-orange slides
- •Any slide with "Module" in title becomes a divider
- •
Test after edits
- •Run
./scripts/generate-slides.shfrequently - •Catch formatting issues early
- •Run
- •
Review visually
- •Always check PNG previews
- •PowerPoint might render slightly differently
Documentation
- •README.md - Project overview and workflow
- •SLIDE_WORKFLOW.md - Detailed slide generation guide
- •CLAUDE.md - Project-specific guidance for Claude Code
License
Part of Context Engineering 101 curriculum (MIT License)