conference-talk-deck
Skill1 starsChanged 57 days agoMITView on GitHub
Use when the user wants to create a new conference talk / presentation deck (a slide deck), or asks to "make a deck", "start a talk deck", "scaffold slides", or mentions building a PlumDeck-style presentation. Interviews the user, then generates a self-contained, offline HTML slide deck with built-in author mode.
In this repository64 other files it gives its agents.
- accioSkill
- anthropic-doc-validatorSkill
- archifySkill
- cavecrewSkill
- caveman-compressSkill
- caveman-exploreSkill
- caveman-helpSkill
- cavemanSkill
- codebase-designSkill
- config-gcSkill
- context-budgetSkill
- domain-modelingSkill
- excalidrawSkill
- explain-yogi-like-he-is-5Skill
- field-guide-builderSkill
- gateguardSkill
- geo-contentSkill
- goal-creatorSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- hindsightSkill
- implementSkill
- improve-codebase-architectureSkill
- loop-design-checkSkill
- mental-modelsSkill
- migrationSkill
- modern-pythonSkill
- no-ai-slopSkill
- onboard-lightSkill
- onboard-repoSkill
- ponytail-auditSkill
- ponytail-reviewSkill
- ponytailSkill
- primitive-classifierSkill
- prompt-fixerSkill
- prompt-optimizerSkill
- prototypeSkill
- qa-deckSkill
- read-wikiSkill
- researchSkill
- resolving-merge-conflictsSkill
- safe-refactorSkill
- scope-creep-checkSkill
- sdd-workshop-walkthroughSkill
- setup-matt-pocock-skillsSkill
- skill-complySkill
- skill-scoutSkill
- smellsSkill
- spec-interviewSkill
- surgical-patchSkill
- teachSkill
- the-llm-councilSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wait-whatSkill
- watchSkill
- wayfinderSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Ask these conversationally, one per message, waiting for each answer.
- Very specific: line 35
Accent color: default to the PlumDeck coral (#ef7d24 / light #f0a672).
- Distinctive: line 39
If the user says "just scaffold it" or gives terse answers, fill reasonable defaults and move on.
- Very specific: line 44
Pick a target path: Default deck.html in the current project (or ask).
- Very specific: line 52
Verify no {{ remains.
- Distinctive: line 61
Write the file. Do not run a live server unless asked.
- Very specific: line 116
Self-contained and offline: No build step, no external assets except the Google Fonts link already in the template.
- Very specific: line 118
Never touch the engine: Keep the <script> block, the chrome (#bar, #hud, #hint, #grid, #help, #authorbar, .zone), and the author-mode CSS …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Conference Talk Deck
Generate a self-contained, offline, projector-ready HTML slide deck styled like PlumDeck, with the full presentation engine built in (keyboard nav, overview grid, inline author/edit mode, save, help overlay, fullscreen, progress bar). You interview the user first, then produce a real first-draft deck they refine in author mode.
The engine is in template/deck.html (in this skill's directory). Never rebuild it from scratch and
never strip its <script> engine or author-mode CSS; clone it and inject content.
Step 1: Interview (one question at a time)
Ask these conversationally, one per message, waiting for each answer. Prefer to offer a sensible default in the question so the user can just confirm. Keep it tight; this is a draft, not an interrogation.
- Talk title and subtitle (one line that frames it).
- Event and speaker (e.g. "KCDC 2026" · the user's name). Default the event if known from memory.
- Audience and level: who's in the room, and is it introductory or deep-dive? (Shapes tone and density.)
- The thesis: the single sentence the audience must leave with.
- Length: talk duration, and the minimum number of slides to scaffold. Convert duration to a floor if they're unsure (rough guide: ~1 slide per minute for fast talks, ~1 per 1.5–2 min for dense ones), then confirm the minimum with them. The deck must have at least this many slides.
- Section arc: the 3–6 sections the talk moves through (e.g. hook → problem → framework → demo → takeaway). Get a name for each.
- Key point per section: one or two sentences per section on what it must land. This is the "interview me on the deck" substance that becomes the drafted slide content.
- Accent color: default to the PlumDeck coral (
#ef7d24/ light#f0a672). Offer to change it (teal#0f8f86/#4fd0c4, magenta#c4407e/#e57ea9, or a hex they give). Everything else stays the plum theme.
If the user says "just scaffold it" or gives terse answers, fill reasonable defaults and move on; a draft they can edit beats a long interview.
Step 2: Generate the deck
- Pick a target path. Default
deck.htmlin the current project (or ask). Confirm before overwriting an existing file. - Read
template/deck.htmlfrom this skill's directory. - Replace the top placeholders:
{{DECK_TITLE}}(plain text, used in<title>, the engineTITLEvar, and the grid header),{{DECK_TITLE_HTML}}(the title slide headline; you may wrap a word in<i>…</i>for the accent),{{SUBTITLE}},{{EYEBROW}}(e.g. "EVENT · SESSION"),{{SPEAKER}},{{EVENT}},{{ACCENT}}/{{ACCENT_LT}}with the chosen hex pair. Verify no{{remains.
- Replace the slides between
<!-- SLIDES_START -->and<!-- SLIDES_END -->with the real deck: the title slide, then a section-divider before each section, then content slides drafted from the key points, then a closing slide. Meet or exceed the minimum slide count. Use the slide patterns below verbatim (they carrydata-ekso author mode can edit them). Leave.pgas01 / 01; the engine renumbers on load. - Draft real content (option: hybrid): every slide gets a true title and a first-pass bullet or two / a short body from the interview, not empty placeholders. Keep bullets short and specific; one idea each. This is a starting draft; the user refines in author mode.
- Write the file. Do not run a live server unless asked; it's a static file the user opens.
Step 3: Hand off
Tell the user: the deck is at <path>; open it in a browser; arrows/space to present, O for
the overview (drag to reorder, + duplicate, × delete in author mode), E for author mode to
click-edit any text, Ctrl+S to save (writes the file back via the browser's save picker, download
fallback otherwise), F fullscreen, ? for help. Offer to adjust content or add sections.
Slide patterns (use verbatim; data-ek marks editable text)
Section divider ({{NN}} = zero-padded section number, e.g. 02):
<div class="slide section-slide"><section>
<div class="snum" data-ek>{{NN}}</div>
<h2 data-ek>Section title <i>here.</i></h2>
<div class="pg">01 / 01</div>
</section></div>Content slide with bullets:
<div class="slide content-slide"><section>
<div class="eyebrow" data-ek>Section name</div>
<h2 class="title" data-ek>The slide's point as a short sentence</h2>
<ul class="bullets">
<li data-ek>One idea, with a <b>key phrase</b> emphasized.</li>
<li data-ek>Another idea, kept to one line.</li>
</ul>
<div class="pg">01 / 01</div>
</section></div>Content slide with a body statement (for a single big idea):
<div class="slide content-slide"><section>
<div class="eyebrow" data-ek>Section name</div>
<h2 class="title" data-ek>The claim</h2>
<div class="body" data-ek>One or two sentences that make the case, with room to breathe.</div>
<div class="pg">01 / 01</div>
</section></div>Closing slide:
<div class="slide close-slide"><section>
<div class="eyebrow" data-ek>Takeaway</div>
<h1 class="big" data-ek>The one thing to <i>remember.</i></h1>
<div class="sub" data-ek>A closing line that lands the thesis.</div>
<div class="pg">01 / 01</div>
</section></div>Rules
- Self-contained and offline. No build step, no external assets except the Google Fonts link
already in the template. Everything inline. Ships as one
.htmlthe user double-clicks. - Never touch the engine. Keep the
<script>block, the chrome (#bar,#hud,#hint,#grid,#help,#authorbar,.zone), and the author-mode CSS intact so every deck has full parity. - PlumDeck look. Playfair Display (display), Hanken Grotesk (body), JetBrains Mono (mono), plum background. Only the accent changes per the interview.
- Writing: sentence case, plain verbs, one idea per bullet. No em dashes in authored copy (use a comma, colon, or parentheses). Keep the deck's own thesis in view on every section.
- See
references/features.mdfor the full feature-parity checklist and palette spec.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

