ce101-slides
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
$ Installieren
git clone https://github.com/majiayu000/claude-skill-registry /tmp/claude-skill-registry && cp -r /tmp/claude-skill-registry/skills/documents/ce101-slides ~/.claude/skills/claude-skill-registry// tip: Run this command in your terminal to install the skill
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)
Repository
