deckloomlisted
Install: claude install-skill kritikmodi/deckloom
# Deckloom
Decks are content plus a design system, and they are almost never made once. The
same twelve facts get recut as an investor overview, a sales deck, a one-pager
and a technical brief, and within a month the four versions disagree with each
other.
So: keep the content in one JSON file, keep the design in one HTML file, and
render whichever deck you need. The output is a PDF at exactly PowerPoint's 16:9
page size, and a PPTX if someone needs one.
```
content.json ──► deck.html ──► headless Chrome ──► deck.pdf ──► deck.pptx
(words) (design) (layout) (share) (optional)
```
## The one idea that matters
**Content and design never live in the same file.**
`content.json` holds the words. `deck.html` holds the slide types and the brand.
Neither knows about the other until build time. That is what makes it possible to
recut a deck for a different audience in seconds, restyle every deck at once by
editing a few CSS variables, and diff a wording change in a pull request.
If you find yourself writing copy inside the HTML, stop. Add a field to the slide
type instead.
## Commands
```bash
pip install -r requirements.txt && playwright install chromium
cp templates/deck.html templates/content.example.json .
mv content.example.json content.json
python3 scripts/build.py # -> out/deck.pdf
python3 scripts/build.py --cut investor # a subset, same content file
python3 scripts/build.py --png # also one PN