presentations — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited presentations (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
End-to-end content design for slide decks. Five sequential phases produce: an audience brief, a message architecture, a storyboard, per-slide drafts, and a critique report. The deliverable is a single deck.md file with YAML front-matter per slide. Rendering, recording, and image generation are out of scope.
Use this skill when the user wants to plan or refine the content of a slide deck: who the audience is, what message moves them, how to order the slides, what each slide should say and show, what speaker notes back it up, and whether the result will land.
Disambiguate against three nearby skills:
deck.md; the user can invoke workbench:crafting-presentations next and pass deck.md as the source brief.Two entry modes:
deck.md and runs only Phase 5 (heuristic audit plus three critic personas). Triggered when the user provides a path to an existing deck.Filesystem operations only. The skill reads templates from its own references/ directory, writes phase artifacts to the working directory, and (in Phase 5) dispatches three critic personas as parallel subagents using workbench:dispatching-parallel-agents. No external services, no APIs, no rendering. Use the host platform's read/write/edit primitives directly.
Use the host platform's equivalent tools without changing the workflow:
| Capability | Claude Code | Codex |
|---|---|---|
| Subagent dispatch (Phase 5 critics) | Agent tool | spawn_agent when available; otherwise run critics sequentially in the orchestrator |
| Progress list | TaskCreate, TaskUpdate | update_plan |
| User questions (Phase 1 intake) | AskUserQuestion | Ask a concise direct question, or use the host structured question tool when available |
| File reads | Read | shell reads such as sed, rg, or equivalent file read tools |
| File writes and edits | Write, Edit | apply_patch or equivalent file edit tools |
| Shell | Bash | shell command tool |
When a platform cannot dispatch subagents, run the three Phase 5 critic personas inline in the orchestrator: load each persona prompt from references/critic-prompts.md, run its analysis, append its findings to audit-report.md, and continue.
Five phases, each writing its own artifact to the working directory. File presence determines state: a phase is complete iff its artifact file exists and is non-empty. The user may resume at any later phase if the upstream artifacts are present.
Working directory: .workbench/presentations/<topic-slug>/ by default. Override via .workbench/config.md ## Output paths Presentations:. The topic slug comes from the user's intake (Phase 1) and is kebab-cased.
Goal: establish who the audience is, what the deck must accomplish, and what success looks like.
Inputs: the user's request, references/audience-brief-template.md, references/time-budget.md.
Process: ask the user the following questions, one at a time (in autonomous runs, self-answer each):
Output: audience-brief.md, filled in from the template.
Pass condition: every field in audience-brief.md is populated and the governing idea fits one sentence.
Goal: turn the intake into an answer-first argument and a transformation arc.
Inputs: audience-brief.md, references/message-architecture-template.md.
Process:
Output: message-architecture.md.
Pass condition: the four artifacts (SCQA, pyramid, transformation arc, CTA) are present and the pyramid's reasons stated as conclusions not topics.
Goal: order the slides and assign each one a slide_type, a one-line sentence headline, and a one-line visual brief.
Inputs: audience-brief.md, message-architecture.md, references/storyboard-template.md, references/slide-type-catalog.md, references/time-budget.md.
Process:
references/time-budget.md and read off the band (for example a 20-minute executive briefing recommends 8 to 12 slides).references/slide-type-catalog.md: Title, Agenda, SectionDivider, Decision, Evidence, Transformation, Closing, Appendix. The recommended ordering is Title, Agenda (optional for talks under 10 minutes), SectionDivider blocks for the body, Decision and Evidence and Transformation slides inside the body, Closing, then any Appendix slides parked at the end.Output: storyboard.md.
Pass condition: every slide has a sentence headline (not a noun phrase), slide count falls within the recommended band (or the user explicitly overrides), and the body covers each reason from the message architecture's pyramid.
Goal: expand every slide in the storyboard to the full per-slide YAML front-matter schema plus an ASCII layout sketch.
Inputs: storyboard.md, audience-brief.md, message-architecture.md, references/slide-brief-template.md, references/slide-type-catalog.md, references/assertion-evidence-pattern.md.
Process: for each slide in the storyboard, produce a ## Slide NN: <headline> block followed by a fenced yaml block matching the schema in references/slide-brief-template.md. The schema's six top-level keys are slide_type, headline, visual, speaker_notes, accessibility, and sources. Below the YAML, include an ASCII layout sketch using only plain ASCII characters (-, |, +, no Unicode box drawing) so the storyboard reader sees the spatial intent without needing an HTML render.
Apply the assertion-evidence pattern: the slide states (headline) and shows (visual); the speaker explains (speaker_notes). Do not duplicate the headline in the visual brief; do not duplicate the visual brief in the speaker notes.
Output: deck.md.
Pass condition: every slide in the storyboard has a corresponding block in deck.md; every block contains all six required YAML keys; ASCII layout sketches are present.
Goal: audit deck.md against deterministic constraints and qualitative critic personas, then either pass or surface remaining issues for user decision.
Inputs: all earlier artifacts, references/audit-checklist.md, references/critic-prompts.md, references/accessibility-preflight.md.
Process (two tiers, in order):
deck.md and check each item in references/audit-checklist.md. Slide types SectionDivider and Appendix are exempt from item (a) (sentence-headline requirement). Append a numbered violation list to audit-report.md with slide references.workbench:dispatching-parallel-agents). Each persona reads its assigned upstream artifacts and deck.md, then returns CRITICAL, MAJOR, or MINOR findings. The three personas are documented in references/critic-prompts.md:Append the consolidated critic findings to audit-report.md.
Output: audit-report.md.
Pass condition: zero CRITICAL findings, or explicit user decision to proceed with known issues.
Triggered when the user provides a path to an existing deck.md instead of a fresh request. The skill skips Phases 1 to 4 and runs Phase 5 directly against the input deck. Output audit-report.md is written next to the input deck unless the user supplies an output path.
Audit mode is markdown-only. If the user asks to audit a PowerPoint, Keynote, or Google Slides export, ask them to paste or convert the content into a deck.md first. Binary slide-format import is out of scope.
Audit mode skips the upstream artifacts (audience-brief.md, message-architecture.md, storyboard.md) which the critic personas would normally read. In their absence, the critics work from deck.md alone and flag any missing context they need; the user may then provide a one-paragraph audience and intent summary and request a re-run.
Working directory: .workbench/presentations/<topic-slug>/ by default. Resolvable via .workbench/config.md ## Output paths Presentations:.
File-presence rule: a phase is complete iff its named artifact file exists and is non-empty. The artifact file names are audience-brief.md, message-architecture.md, storyboard.md, deck.md, audit-report.md.
On re-invocation, scan the working directory and report the latest completed phase to the user. Offer two options:
Never silently overwrite a later artifact when restarting an earlier phase.
Format: markdown only. There is no HTML output mode for this skill; rendering is delegated to workbench:crafting-presentations.
Path resolution order, highest precedence first:
.workbench/autopilot.md ## Documentation paths Presentations:..workbench/config.md ## Output paths Presentations:..workbench/presentations/<topic-slug>/ (default).The deck.md artifact's per-slide YAML front-matter is the hand-off contract to workbench:crafting-presentations. The full schema is documented in references/slide-brief-template.md. The content-side slide_type enum is intentionally distinct from workbench:crafting-presentations' rendering-side template catalog; the mapping is documented in references/slide-type-catalog.md as a recommendation, not a constraint.
--phase 4 and storyboard.md is missing, ask via the host question primitive whether to (a) run Phase 3 first, (b) accept a degraded run where Phase 4 reads the message architecture directly without a storyboard, or (c) cancel.deck.md inputs are usually prose-outline markdown (one ## Slide N: <title> per slide with bullet body) rather than the skill's per-slide YAML schema. When the input lacks the YAML schema, audit mode runs in advisory mode: the heuristic audit walks each check against the visible content as best it can (treating slide headings as headline values, bullets as implied body, and flagging the absence of every other required key as a structural finding), and the critic personas are not dispatched because they need the structural fields to operate reliably. The audit-report's "Recommended next steps" then prominently recommends reformatting the deck into the schema before a full Phase 5 dispatch. If the input is in YAML schema but has missing required keys per slide, that is a true malformation: the heuristic audit reports the missing keys and stops before dispatching critics. The user fixes the structure and re-runs.audit-report.md under a "User overrides" heading so reviewers can see the deviation is intentional.tests/unit/test-presentations-skill.sh enforces the lint with grep -rqP '[\x{2014}\x{2013}]' over the entire skill tree.For a deeper reading list (Minto, Duarte, Mayer, Tufte, Knaflic, Alley, Reynolds, Atkinson, plus the WCAG and TEDx primary sources), see references/canonical-sources.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.