Scaffold presentation
Skill magnusrodseth/dotfiles/.claude/skills/scaffold-presentation
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.From its SKILL.md
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.
SKILL.md
4.6 KB, ~1.0k tokens by cl100k_base, 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.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.