"The camera is the pickaxe. The slideshow is the museum."
"Every image tells a story. The slideshow tells THE story."
The Slideshow skill presents generated images as linear visual narratives. While the Visualizer creates images, the Slideshow presents them — synthesizing metadata from prompts and mining sidecars into scrollable stories.
Philosophy
Images live in directories. Directories accumulate chaos.
A SLIDESHOW.md transforms that chaos into narrative:
Time-ordered entries create journeys
Metadata synthesis extracts meaning
Death-scrollable layout works everywhere
Encapsulation keeps related files together
Think of it as the museum for your visual mining operation.
Stereo Slideshows: YML + MD
"The left eye sees truth. The right eye sees story. Together: depth perception."
A stereo slideshow maintains two complementary files:
# SLIDESHOW.yml — Machine-readable slideshow definitionid:slideshow/pub/photosname:"Pub Photo Gallery"type:slideshowlocation:room/pub# Links to compiled roomtagline:"Memories from the Gezelligheid Grotto"# Photo metadatacontents:-dir:bar-shot-2026-01-19subject:"Marieke at the bar"mood:warmrole:ESTABLISHINGimage:bar-marieke.png-dir:palm-cats-2026-01-19subject:"Palm with the cats"mood:cozyrole:DETAILimage:palm-cats.png# Optional: narrative hints for MD generationnarrative:opening_quote:"The best nights are the ones you almost remember..."style_notes:"First-person phone camera, golden hour lighting"# Compiler uses this to link slideshow to roomcompiled:room_ref:room/pubphoto_count:2
Photo Directory Structure (Stereo)
Each photo can also be stereo:
photo-directory/
PHOTO.yml # Left eye: metadata, generation settings
PHOTO.md # Right eye: narrative description
main-image.png # The actual image
MINING-*.yml # Mining layer files
# Marieke at the Bar
The warm glow of Edison bulbs catches the brass
fixtures as Marieke pours a perfect pint...
Commands
SYNC SLIDESHOW [directory]
Regenerates SLIDESHOW.md from SLIDESHOW.yml.
CREATE STEREO SLIDESHOW FOR [directory]
Creates both YML (from scanning directory) and MD (from YML).
UPDATE SLIDESHOW YML [directory]
Scans for new photos and updates the YML source of truth.
The CREATE Method
Generate a SLIDESHOW.md for a directory of images:
CREATE SLIDESHOW for pub/dons-photos-2026-01-19/
What happens:
Discover images in directory (.png, .jpg, .webp)
Find sidecars for each image (.yml prompt, -mined.yml resources)
Order by timestamp in filename or file creation time
Synthesize narrative descriptions from metadata
Write SLIDESHOW.md with gallery structure
The LANDING Method
Create a README.md landing page for GitHub display:
LANDING for pub/dons-pub-photos-2026-01-19/
Why README.md?
GitHub renders README.md automatically when you browse a directory, but not SLIDESHOW.md. The landing page is the front door — motivating visitors to read the story.
┌─────────────────────────────────────────────────────────────────┐
│ README.md (Landing Page) SLIDESHOW.md (Story) │
├─────────────────────────────────────────────────────────────────┤
│ ✓ Shown on GitHub automatically ✗ Must click to view │
│ ✓ Metadata table Pure narrative flow │
│ ✓ Character links No links — just story │
│ ✓ Location links No context jumps │
│ ✓ Story summary (fresh!) Full detailed story │
│ → "View the slideshow" The actual experience │
└─────────────────────────────────────────────────────────────────┘
What goes in README.md:
Section
Content
Title + Tagline
Hook the reader
Gallery Info
Slide count, date, style, location
Featuring
Characters with links to their directories
Locations
Rooms with links to their directories
Story Summary
Fresh synthesis — "why should I look at these?"
Preview
Optional image grid
Technical
Mining layers, generator
Key insight: The story summary is freshly synthesized, not copy-pasted from SLIDESHOW.md. It answers: "What will I experience if I click through?"
Workflow:
1. CREATE SLIDESHOW # Generate the story
2. ORGANIZE INTO dirname # Encapsulate files
3. LANDING # Create GitHub front door
The ORGANIZE Method
Encapsulate a SLIDESHOW.md and its images into a named subdirectory:
ORGANIZE pub/SLIDESHOW.md INTO dons-pub-photos-2026-01-19
Before:
pub/
SLIDESHOW.md
dons-photos-2026-01-19-16-30-00-bar-marieke-palm-cats.png
dons-photos-2026-01-19-16-30-00-bar-marieke-palm-cats.yml
dons-photos-2026-01-19-16-30-00-bar-marieke-palm-cats-mined.yml
...20 more files...
After:
pub/
dons-pub-photos-2026-01-19/
SLIDESHOW.md # Inherits from slideshow skill
bar-marieke-palm-cats.png
bar-marieke-palm-cats.yml
bar-marieke-palm-cats-mined.yml
...all files moved and renamed...
Naming convention:lowercase-dashes, descriptive, date-suffixed if temporal.
SLIDESHOW.md Format
Every SLIDESHOW.md should declare inheritance:
---inherits:slideshowtitle:"Don's Pub Photos — January 19, 2026"created:2026-01-19images:8style:first-person-phone-camera---
Structure
# 📸 Title> *"Opening quote capturing the vibe"*
Brief description of what this gallery contains.
---
## 📍 Shot 1: Location (Time)### *"Caption quote"*

**Location:** Where this was taken
**Who's Here:**- 👩🌷 Character 1 doing something
- 🐒🌴 Character 2 doing something else
📎 **Files:** [Prompt](image-file.yml) | [Resources](image-file-mined.yml)
---
## 📍 Shot 2: Next Location (Time)
...
---
## 📊 Stats Table
| Time | Location | Highlights |
|------|----------|------------|
| 4:30 PM | Bar | Marieke, Palm, cats |
| ... | ... | ... |
---
## 🎨 Style Notes
Notes on artistic direction, visual consistency, mood.
---
*"Closing quote"*
Metadata Synthesis
The SUMMARIZE method transforms raw sidecar data into narrative:
From prompt.yml:
Scene description → Location
Characters present → Who's Here
Time of day → Shot timing
Artistic style → Style notes
From prompt-mined.yml:
Dominant colors → Visual palette
Mood/atmosphere → Emotional tone
Implied sounds/smells → Sensory details
Symbolism → Deeper meaning
Output: Human-readable narrative that tells the story.