Scaffold presentation
Skill magnusrodseth/dotfiles/.claude/skills/scaffold-presentation
⚙️ There are many like them, but these dotfiles are mine. A stow-managed macOS setup: Zsh, Neovim, tmux, Ghostty, and a pile of Claude Code tooling.
npx -y skills add magnusrodseth/dotfiles --skill scaffold-presentationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Scaffold a new slide deck in the user's central presentations repo (~/dev/personal/presentations), sourcing content from the current code repo, the current conversation, or material in the Obsidian vault, and matching or creating a brand theme. Works from any directory. Use when the user says "make a presentation about X", "scaffold a deck", "turn this into slides", "lag en presentasjon om X", "create a talk from this repo/conversation", or wants to present something they have been working on.
SKILL.md
4.6 KB, as published. Nobody here has run it
Scaffold Presentation
Create a new presentation in the central presentations repo. All decks live in one repo:
PRES="$HOME/dev/personal/presentations"
This skill is a thin orchestrator. The repo's own AGENTS.md and project skills are the source of truth for structure, components, themes, and deployment. Your job here: gather the content, pick the brand, then follow the repo's instructions.
Workflow
1. Read the repo's instructions first
Read $PRES/AGENTS.md before anything else. It defines the route scaffold, the presentations.ts manifest, available themes, slide variants, and key rules (bun not npm, lucide-react not emojis, "Magnus Rødseth" with ø, Norwegian content by default, no scrolling within slides).
The repo also has project skills under $PRES/.claude/skills/ that activate when working inside it:
presentation-theming: full workflow for adding a new token-driven themebrand-designer: deriving a brand identity from scratch<company>-brand-guidelines(capra, reitan, multiconsult, eden-stack, wispr-flow, ...): existing brand systemsdeploy-presentation: shipping to Vercel
2. Gather content (pick the source the user implies)
From the current code repo (e.g. "make a deck about this project"):
- Read README, docs/, architecture notes, CONTEXT.md if present
- Skim recent git history for the narrative arc (what was built, in what order, what was hard)
- Note the project's brand signals: design tokens, Tailwind config, logo assets, existing brand guideline files
From the current conversation (e.g. "turn this into slides"):
- Distill the conversation into its load-bearing points: the problem, the journey, the insights, the punchlines
- Confirm the intended audience and duration with the user if not obvious
From the vault (e.g. "a talk about agentic coding from my notes"):
- Use the
read-up-onskill's discovery approach against$HOME/dev/personal/vault: filename find + full-text grep (Norwegian and English variants), rank, read top notes - Learnings, brags, and project notes are the richest slide material
Whatever the source, produce a slide outline (10-20 bullets) and confirm it with the user before writing code, unless they asked you to just go ahead.
3. Pick or create the brand theme
- Check the themes table in
$PRES/AGENTS.mdand$PRES/src/styles/themes/tokens/. If the audience or company matches an existing theme (capra, gjensidige, reitan, anthropic, ...), reuse it. - If the deck needs a new brand (e.g. derived from the code repo's design system or a client's visual identity), follow the repo's
presentation-themingskill: add theThemeunion member, create the token file (single source of truth; OG palette, background palette, and contract CSS are derived), register it, add bespoke CSS and fonts only if needed. - When deriving a brand from a code repo: pull primary/accent colors, font choices, and logo from the repo's actual design tokens, not from memory.
4. Scaffold the deck
Follow the "Creating a New Presentation" section of AGENTS.md exactly:
src/routes/presentations/<name>.tsxwithssr: false,head()viagenerateHead, and aslidesarray passed to<Deck>- Register in
src/data/presentations.ts(title, description, date, lang, theme) - Static assets to
public/presentations/<name>/assets/ - Content in Norwegian unless the audience is international
5. Verify
cd $PRES && bunx tsc --noEmitmust exit 0- The dev server is assumed already running (port 3000); do not start it
- Sanity-check the deck at
http://localhost:3000/presentations/<name>(agent-browser or playwright skills) if the user wants visual confirmation
Heuristics
- Don't duplicate
AGENTS.mdknowledge from memory; it changes, this skill doesn't. Always re-read it. - One idea per slide. Overflowing content splits into more slides, never scrolls.
- Match an existing deck's tone: skim one recent route file in
src/routes/presentations/as a style reference before writing slides. - Deployment is a separate, explicit step (
deploy-presentationskill). Never deploy unless asked.