Install
$ agentstack add skill-jameshemson-slides-presentation-craft ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
This skill holds the presentation craft that the slides skill pack is built on. It is not invoked on its own. The teach-slides, narrative, build-deck, slop-check, and revise skills each load it first, so the premise, the method, and the slop detector govern every deck the pack produces.
Premise
Three ideas shape everything below.
A presentation is communication, not information transfer. The slides are what stands behind the speaker. The communication is what happens in front: the speaker and the audience, in a room together. A deck that only moves information is a document. The job is to change what the audience thinks, feels, and does.
The audience is the hero. The presenter is the mentor, and a mentor's job is to get the hero somewhere. A deck that is about the presenter, or about how good the product is, has the roles reversed.
Story moves people; facts alone do not. Faced with facts that contradict them, people dig in. A story lets the audience reach the conclusion on their own and make it theirs. Story leads, facts support. A pile of facts is not persuasion.
The method: Plan, Create, Deliver
Plan, Create, Deliver is the arc of making any presentation. Most of the work sits in Plan and Create, the thinking, before a single slide exists.
- Plan. Who the deck is for and the job it has to do. The register, the
audience, the common ground, what they should think, feel, and do, and the gap from where they are to where they need to be.
- Create. What the deck says and the shape it takes. The one idea, a storyboard
worked before any slide, every message tested past bare facts, and a deliberate story structure.
- Deliver. How the deck is presented. Kept lean: the skill builds decks, not
speakers. It shapes the speaker notes and offers a short primer.
Context Gathering Protocol
A deck built without the user's brand context comes out generic and off-brand. You MUST have confirmed brand context before doing any deck work.
Required context. The user's brand profile: their fonts, colours, voice, and audience norms — plus, for template fidelity, their template and layout map. This lives in a .slides/ directory at the project root, written by the teach-slides skill, with brand.json as its core file.
Gathering order:
- Check for
.slides/(fast). Read.slides/brand.jsonfrom the project root.
If it exists and carries the required keys, proceed. The required keys are fonts and colours (brand fidelity, the default); template and layout_map are required only when the profile says "fidelity": "template".
- Capture the brand (REQUIRED). If
.slides/is absent or incomplete, set it
up NOW, before anything else. Do NOT infer a brand from guesswork and do NOT impose a default look. Two ways:
- Fast path. If the user has a template or an existing deck they like, copy
it to .slides/template.pptx and run build-deck/scripts/init_brand.py .slides/template.pptx --template-ref template.pptx > .slides/brand.json. It reads the fonts and colours from the file's theme and writes a brand-fidelity profile (--fidelity template emits the legacy placeholder-fill shape with a proposed layout_map instead). Show the user what it captured, let them confirm or adjust, then resume. This is the one-step path build-deck and narrative offer.
- Full path. Otherwise, or for voice, audience, logo, and (in template
fidelity) a hand-checked layout map, run the teach-slides skill — the authoritative brand capture. Once .slides/brand.json exists, resume the original task.
Every command skill in the pack performs this check before it builds. The brand profile is the join between the constant craft and the user's own look.
The operational slop detector
The slop detector runs in two phases. Reflex Rejection fires pre-generation. The Deck Slop Test fires post-generation. Both must pass. The full taxonomy, both layers, and the score live in reference/slop.md; the version below is the operational, always-loaded one.
Reflex Rejection (pre-generation)
Before writing a slide, a title, or a speaker note, name the reflex you are about to reach for, and reject it. Common reflexes to catch and replace:
- A title, then content, then a slogan floated at the bottom of the slide.
- A slide written as a wall of text, or as a script to be read aloud.
- A bullet list of six or more loose, unrelated sentences.
- A title that restates the body, or a body that restates the title.
- A deck about the presenter or the product instead of the audience.
- Superlatives, hype, and urgency with nothing concrete beneath them.
- A chart or diagram that decorates rather than clarifies.
- A hero number, a dumbbell, or a big-text line reached for by default rather than earned by the beat — or one such device carried across the whole deck.
- Throat-clearing openers, business jargon, em dashes, passive voice.
Replace each with the craft in the reference files before generating.
Deck Slop Test (post-generation)
Before delivering a deck or an outline, check every item:
- [ ] No tacked-on strapline on any slide.
- [ ] No slide is a wall of text or a script to be read aloud.
- [ ] No bullet-soup slide; every list shares one parent point.
- [ ] No title and body restating each other.
- [ ] The audience is the hero, not the presenter or the product.
- [ ] Story carries the deck; facts support it.
- [ ] Every emotional beat is earned by something true and concrete.
- [ ] Every chart, diagram, and image makes its idea clearer than words alone.
- [ ] The treatment matches the deck's register.
- [ ] No leftover scaffolding, placeholder text, or filler slides.
- [ ] Prose passes the Layer 2 quick checks in
slop.md.
The detector returns severity-ranked findings, not a pass-or-fail verdict.
Absolute bans
Match and refuse on sight, every time:
- The tacked-on strapline. A title, the content, then a tagline floated along
the bottom of a slide. An AI tic, not a design. A slide has its content; it does not need a motto. Rebuild the slide without it.
- Leftover scaffolding. Placeholder text, lorem ipsum, unedited template
furniture, and sample names never ship.
- Unearned emotion. Sensationalism, ad-copy voice, and hype with nothing
concrete beneath them. Earned emotion, grounded in a true and specific thing, is kept; the unearned kind is refused.
Devices are not on this list. A hero metric, a dumbbell, big text — each is right when the content earns it. The pack governs them by the earn-it check (name what the beat moves the audience FROM → TO), never by a ban: refuse the reflexive reach and the deck-wide repetition, not the device itself.
The reference library
The reference files below carry the full craft. Read the one the task needs.
reference/narrative.md: Plan and Create. Read when working the story, the
audience, and the slide-by-slide outline.
reference/slides.md: visual craft. Read when designing how the slides look.reference/composition.md: what good looks like for a composed slide — the
advisory rules per primitive. Read when composing boxes (card grid, comparison, process, timeline, stat row).
reference/composing-in-code.md: how a deck is composed as code under the
brand tokens — the deck-level decisions, the per-slide rules, what reads as AI, the script contract, the execution boundary and the gates. Read when build-deck writes a build script.
reference/design-research.md: the committed evidence base behind the
compositions (the design system, the four primitives, the myths kept out). Read to know why a composition is shaped the way it is.
reference/data-viz.md: charts and diagrams. Read when a slide carries data
or a concept that needs a picture.
reference/delivery.md: delivery and speaker notes. Read when writing the
notes or the delivery primer.
reference/slop.md: the full slop detector, three layers and the score. Read
when running the slop check or when in doubt about a slop call.
reference/ai-voice.md: Layer 3 of the detector, the AI-voice tells (the
Claudism catalogue, vocabulary watchlist, assistant-artifact slop). Read with slop.md when running the slop check.
reference/deck-spec.md: the deck spec format. Read when writing or reading
a .deck.md file.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jameshemson
- Source: jameshemson/slides
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.