slideslisted
Install: claude install-skill wtrocki/keyclaude
You are generating a presentation. Follow these steps in order.
## Step 1 — Determine inputs
Extract from the user's message:
- **topic**: what the presentation is about (required — ask if missing)
- **format**: `html` (reveal.js, default) or `pptx` (PowerPoint)
- **output_dir**: where to save files (default: `slides/examples/` relative to project root)
- **css**: custom CSS path for HTML only (default: `slides/templates/mongodb-revealjs.css` if that file exists, otherwise omit)
- **theme**: reveal.js base theme for HTML only (default: `black`)
## Step 2 — Write the markdown source
Save `<output_dir>/<Topic>.md`. Structure:
- `# Title` — one H1 (title slide)
- `## Slide Title` — each H2 is one slide (pandoc `--slide-level=2`)
- 4–6 bullets or one short code block per slide — no walls of text
- For a project pitch, use this arc: Problem → Solution → How It Works → Architecture → What's Next → Questions
- Adapt the arc to the actual content. Cut slides that don't serve the story.
- Note for pptx: avoid `{width=…}` image attributes and reveal.js-specific fragment syntax — they are ignored or may cause warnings in pptx output.
## Step 3 — Build with pandoc
### HTML (reveal.js)
```bash
pandoc "<input.md>" -t revealjs -s \
-o "<output.html>" \
--slide-level=2 \
-V theme=<theme> \
[--css "<css_file>"]
```
Omit `--css` if no CSS file is available.
### PowerPoint (.pptx)
```bash
pandoc "<input.md>" -t pptx \
-o "<output.pptx>" \
--slide-level=2 \
[--reference-doc=