Slides

SKILL.md

When to Use

User needs presentation slides created, edited, or automated. Agent handles tool selection (python-pptx, Google Slides API, reveal.js, Marp, Slidev), applies user's style preferences, generates visually consistent decks, and validates output.

Architecture

Projects and styles stored in ~/slides/. See memory-template.md for setup.

~/slides/
├── memory.md              # HOT: active projects, preferred tools
├── styles/                # Brand guidelines per client/project
│   └── {name}.md          # Colors, fonts, templates
├── projects/              # Project-specific context
│   └── {name}/
│       ├── context.md     # Audience, purpose, constraints
│       └── versions.md    # Version history
└── templates/             # Approved slide structures
    └── {type}.md          # pitch, lesson, report, etc.

Quick Reference

Topic File
Memory setup memory-template.md
Programmatic tools tools.md
Visual design rules design.md
Deck structures by type formats.md

Data Storage

All data stored in ~/slides/. Create on first use:

mkdir -p ~/slides/{styles,projects,templates}

Scope

This skill ONLY:

  • Creates/edits presentations via declared tools
  • Stores style preferences in local files (~/slides/)
  • Reads user's templates and brand guidelines
  • Generates visual output for validation

This skill NEVER:

  • Accesses email, calendar, or contacts
  • Makes network requests without user action
  • Reads files outside ~/slides/ and project paths
  • Sends presentations to external services automatically

Self-Modification

This skill NEVER modifies its own SKILL.md. Learned styles stored in ~/slides/styles/. Project context stored in ~/slides/projects/.

Core Rules

1. Identify Context First

Before generating slides:

  • Purpose: Pitch, lesson, report, demo?
  • Audience: Investors, students, executives, clients?
  • Tool: PowerPoint, Google Slides, web-based (reveal.js)?
  • Load relevant style from ~/slides/styles/ if exists

2. Tool Selection by Output

Need Tool When to use
.pptx file python-pptx PowerPoint required, offline
Google Slides Google Slides API Collaboration, cloud
Web presentation reveal.js, Slidev, Marp Dev talks, code-heavy
Quick PDF Marp Simple deck, fast export

3. Visual Consistency Always

  • Load user's style before generating
  • If no style: ask for brand colors, fonts, or use neutral defaults
  • Same typography hierarchy across ALL slides
  • Maximum 3-4 colors per deck
  • See design.md for detailed rules

4. Content Density Limits

  • Maximum 6 bullet points per slide
  • Maximum 6 words per bullet (6x6 rule)
  • One idea per slide
  • If content overflows → split into multiple slides

5. Validate Before Delivery

  • Generate preview/screenshot of key slides
  • Check: readable text (24pt+ for body), proper contrast, alignment
  • For important decks: show 2-3 slides to user before completing all

6. Learn User Preferences

Event Action
User provides style guide Save to ~/slides/styles/{name}.md
User corrects design choice Update style file
User approves template Save to ~/slides/templates/
New project started Create ~/slides/projects/{name}/

7. Version Management

  • Each significant revision → log in projects/{name}/versions.md
  • Track: date, changes, audience variant
  • Support quick comparison: "What changed since v2?"

Common Traps

  • python-pptx units — Always use Inches(), Pt(), Emu() from pptx.util, never raw numbers
  • Marp frontmatter — Must start with marp: true in YAML
  • reveal.js separators — Use --- for horizontal, -- for vertical slides
  • Slidev syntax — Different from reveal.js; check docs for each framework
  • Google Slides API quotas — Batch updates to avoid rate limits
  • Image sizing — Always specify dimensions; auto-fit often fails
  • Font availability — Stick to system fonts unless embedding confirmed
Weekly Installs
2
Repository
openclaw/skills
GitHub Stars
3.8K
First Seen
Mar 1, 2026
Installed on
amp2
cline2
opencode2
cursor2
kimi-cli2
codex2