A business question goes in. A consulting-grade deck comes out.
Four composable agent skills covering the full arc of deck production: the argument, the identity, and the artifact. Built for Claude Code, readable by any agent that understands SKILL.md and AGENTS.md.
Two producers feed two renderers. Every handoff is a plain file in your working directory, not a framework.
┌──────────────────────┐ ┌──────────────────────┐
│ consultant │ │ brand-system │
│ argument architect │ │ identity designer │
└──────────┬───────────┘ └──────────┬───────────┘
│ │
│ storyboard │ identity.js
│ what each slide must prove │ palette, fonts, style
│ │
▼ ▼
┌─────────────────────────────────────────────────────────┐
│ deck production │
│ │
│ deck-design-pdf deck-design-ppt │
│ pixel-perfect PDF native editable PPTX │
│ HTML + Playwright pptxgenjs │
└─────────────────────────────────────────────────────────┘
Run the full chain, or point a deck skill at any storyboard and identity you already have. Every skill also works standalone.
| Skill | Consumes | Produces | Core discipline |
|---|---|---|---|
| consultant | a business question, your data | storyboard (markdown) | Hypothesis-driven decomposition. McKinsey, BCG, or Bain methodology. Forcing-function quality gates. |
| brand-system | brand context, or a blank slate | brand-brief.md, identity.js, preview PDF |
Research-first palettes. Typography pairing. Style vocabulary that downstream skills interpret. |
| deck-design-pdf | brief or storyboard, plus identity | pixel-perfect PDF | Ghost-deck argument gates. 46 self-contained exhibit patterns. Fill-first layout. |
| deck-design-ppt | brief or storyboard, plus identity | native editable PPTX | 21 slide patterns on one grid contract. Slot budgets as the overflow defense. |
Clone anywhere you keep skills, then symlink each skill into your agent's skills directory.
git clone <repo-url> ~/skills/presentation
cd ~/skills/presentation
# Claude Code
for s in consultant brand-system deck-design-pdf deck-design-ppt; do
ln -s "$(pwd)/$s" ~/.claude/skills/$s
done
# Codex
for s in consultant brand-system deck-design-pdf deck-design-ppt; do
ln -s "$(pwd)/$s" ~/.codex/skills/$s
doneThree skills carry rendering engines with their own dependencies. Install once per skill:
cd brand-system && npm install
cd ../deck-design-pdf && npm install
cd ../deck-design-ppt && npm installFonts, icons, and chart libraries are vendored inside each skill. After npm install, builds run with zero network dependency.
- Action titles are full-sentence conclusions, tested by reading them in sequence with every exhibit hidden. If the titles alone fail to persuade, the argument gets fixed before any pixel exists.
- Every slide must be load-bearing. If removing it leaves the argument intact, it goes.
- Charts follow firm visual DNA: restrained palettes, direct labels over legends, annotation as interpretation. No chartjunk.
- PPTX output stays fully editable. Every element is a native PowerPoint object, no image-of-a-slide shortcuts.
presentation/
├── AGENTS.md unified agent guide (CLAUDE.md symlinks to it)
├── consultant/ analysis and storyboarding, no build engine
├── brand-system/ identity engine, renders preview PDFs
├── deck-design-pdf/ HTML-to-PDF engine, 46 exhibit examples, 7 palettes
├── deck-design-ppt/ PPTX engine, 21 patterns, slot budgets
├── docs/ GitHub Pages landing
├── generate-previews.js exhibit preview QA bench
└── verify.js behavior journal, 26 executable checks
Root AGENTS.md is the single maintainer guide: repository rules, cross-skill contracts, per-skill notes. Skill folders contain only their runtime surface. Per-skill backlogs live in TODO.md where present.
node verify.js runs the behavior journal: executable checks that lock current behavior, from doc-link integrity and handoff round trips to two real deck builds. Run it before and after changes. Regenerate exhibit previews with node generate-previews.js after touching examples or vendored chart libraries.
MIT