| name | ce101-slides |
| description | Context Engineering 101 curriculum slide generation. Use this skill when working on CE101 curriculum to: (1) Generate styled PowerPoint presentations from markdown, (2) Create PNG previews of slides, (3) Update master presentation from curriculum modules |
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 PowerPointworkspace/thumbnails/slide-*.png- Individual slide imagesworkspace/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:
./scripts/generate-slides.sh - Review:
./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 conversionpdftoppm(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.mdCE101-Master-Presentation.mdworkspace/generate-presentation.jsscripts/*.sh
Generated Files (Don't Edit, In .gitignore)
CE101-Master-Presentation-Styled.pptxworkspace/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:
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:
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)