The deck is the deliverable.
Four open-source skills take an agent from raw analysis to a boardroom-ready deck.
consultant structures the argument, brand-system sets the identity,
deck-design-pdf and deck-design-ppt render the slides.
McKinsey, BCG, or Bain methodology, end to end.
Fig. 1 · The pipeline, cumulative
Each skill hands a file to the next: storyboard, identity, then slides.
Point the production skills at any storyboard and identity you already have, or let the agent run the full chain. The pipeline is a convention: every handoff is an ordinary file in your working directory.
Analysis, identity, and production: separable by design.1
| Skill | Stage | Function | Output |
|---|---|---|---|
| consultant | Analysis | Structures the problem and storyboards the argument with McKinsey, BCG, or Bain methodology: governing thought, pillars, slide-by-slide so-whats. | storyboard |
| brand-system | Identity | Builds the visual system: color palette, font pairing, style direction, rendered as a preview PDF for sign-off before production. | identity.js |
| deck-design-pdf | Production | Renders pixel-perfect decks with HTML, Tailwind, and Playwright: rich typography, ECharts exhibits, print-exact layout. | deck.pdf |
| deck-design-ppt | Production | Builds native, fully editable decks with pptxgenjs, for teams that rework slides after delivery. | deck.pptx |
1 Each skill also works independently. No cross-skill dependency.
Clone once, then symlink into any agent that reads skills.
git clone https://github.com/appautomaton/presentation.git ~/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 done
npm install in
brand-system, deck-design-pdf, and deck-design-ppt.
cd brand-system && npm install cd ../deck-design-pdf && npm install cd ../deck-design-ppt && npm install
This page ate its own dog food.
identity.js · this page's own tokens
// docs/index.html was designed the way the skills work: // tokens first, then production. export default { fonts: { display: 'Besley', // Clarendon revival, ledger DNA body: 'Libre Franklin', // chart-label heritage utility: 'Fragment Mono', // source lines & figures }, palette: { paper: { day: '#FFFFFF', night: '#101114' }, ink: { day: '#14161A', night: '#ECEDED' }, navy: { day: '#16337E', night: '#5B82E8' }, // data mass teal: { day: '#0E6F63', night: '#2BBBA9' }, // second series redline: { day: '#D02F0F', night: '#FF6B4A' }, // annotation voice }, radius: 0, }
vendor/ · committed
Inside the skills, fonts, icons, and chart libraries are vendored so decks render offline with zero network dependency at build time. This page is the opposite on purpose: it loads fonts from a CDN because visitors are online.
node_modules/ · gitignored
Rendering engines install per skill. Run npm install once after cloning.
License & community
MIT. Use it in client work, fork it, rebrand it.
Found via linux.do, more fun stuff about AI over there.