presentation
Presentation Composer — assembles delivery-team contributions into cohesive presentations via a 6-step flow. Supports 9 types (Sprint Review, Feature Pitch, Stakeholder Update, Technical Deep-Dive, Investor Pitch, Roadmap, Product Demo, Onboarding, Retrospective Summary) and 4 formats (structured-markdown, marp, paste-ready, pptx). Triggers on phrases like "create presentation", "sprint review", "pitch", "deep dive", "roadmap", "demo", "retro". Full per-type triggers in references/types/.
What this skill does
# Presentation Composer
## Design Principle: Compose, Don't Create
This skill is a **mini-orchestrator**, not a content creator. The Composer assembles contributions from delivery team roles (PO, Data Analyst, Developer, Architect, QA) into a cohesive presentation. Each contributing role loads its own skill to produce domain-accurate content. The Composer shapes tone, flow, density, and format — the team creates the content.
**Context isolation**: Contributing roles run as sub-agents with only their relevant artifacts. The Composer reads their draft outputs from disk. No role's full context leaks into another.
**Signal**: `SKILL_LOADED: presentation`
---
## Phase 1: Type Detection
Detect type from user request using keyword matching. If ambiguous, ask — never guess.
| Type | Keywords | Detail |
|------|----------|--------|
| Sprint Review | "sprint review", "what we delivered", "sprint demo", "end of sprint" | `references/types/sprint-review.md` |
| Feature Pitch | "pitch", "propose", "sell this feature", "why we should build" | `references/types/feature-pitch.md` |
| Stakeholder Update | "status update", "executive update", "progress report", "stakeholder" | `references/types/stakeholder-update.md` |
| Technical Deep-Dive | "technical presentation", "architecture overview", "deep dive", "how it works" | `references/types/technical-deep-dive.md` |
| Investor Pitch | "investor pitch", "fundraising deck", "pitch to investors" | `references/types/investor-pitch.md` |
| Roadmap | "roadmap", "quarterly plan", "what's coming next" | `references/types/roadmap.md` |
| Product Demo | "product demo", "feature demo", "show what we built", "demo for publisher" | `references/types/product-demo.md` |
| Onboarding | "onboarding", "project handoff", "team orientation", "getting started" | `references/types/onboarding.md` |
| Retrospective Summary | "retro summary", "retrospective presentation", "what we learned" | `references/types/retrospective-summary.md` |
### Pipeline Auto-Detection (when type not explicit)
| Stage | Default Type |
|-------|-------------|
| Idea checkpoint | Feature Pitch |
| Design after DoD | Technical Deep-Dive |
| Plan after sprint planning | Stakeholder Update |
| UAT after acceptance | Sprint Review |
| UAT release | Stakeholder Update |
| UAT stage with `audience: investor` | Investor Pitch |
| Plan after roadmap/quarterly | Roadmap |
| Development after feature completion | Product Demo |
| Post-onboarding or handoff | Onboarding |
| Post-retrospective | Retrospective Summary |
Per-type required artifacts, narrative arcs, audience defaults, and overrides are in `references/types/<type>.md`. Load only the matched type.
### Light Mode
Reduces sub-agent dispatch for simpler types. Config: `presentation.light_mode` (default `auto` — activates when 3 or fewer roles in Step 3; `always` / `never` override). User flags `present --full` / `present --light` override config.
Effects: Step 3 dispatches required roles only; Step 5 uses single reviewer (TW). Steps 1, 2, 4, 6 unchanged. Step 4 never degrades (per ADR-03).
### Threshold and Graceful Degradation
Tracks elapsed time from Step 1 start. Threshold resolution (first match wins): `presentation.thresholds.{type}` → `presentation.thresholds_default` → 90s default. Value `0` = unlimited.
At 75%: warning + Step 5 degrades to single reviewer (TW), MUST-FIX scope. Step 4 never degrades. At 100%: notice appended in Step 6.
Light mode and threshold are independent controls converging on the same levers — effects are the union, not the sum. Reviewer count never drops below 1.
### GAME_DEV Vocabulary
When `project.type: GAME_DEV` in config, adapt vocabulary across steps: sprint→milestone, features→mechanics, UAT→playtesting, modules→systems, stories→tasks, velocity→throughput. Per-type GAME_DEV variants in `references/types/<type>.md`.
---
## Phase 2: 6-Step Collaboration Flow
Load only the matched flow step file when executing each step.
| # | Step | Detail |
|---|------|--------|
| 1 | Assemble (PO) | `references/flow/assemble.md` |
| 2 | Content Gate (Automated) | `references/flow/content-gate.md` |
| 3 | Draft (Parallel — 5 Roles) | `references/flow/draft.md` |
| 4 | Compose (this skill, never degrades) | `references/flow/compose.md` |
| 5 | Review Gate (TW + UX) | `references/flow/review-gate.md` |
| 6 | User Review | `references/flow/user-review.md` |
Step 4 contains the 4 editorial passes (Emphasis > Cutting > Framing > Tension — strict order, per ADR-02). Each pass checks its `presentation.narrative.<pass>` config key; `false` skips the pass.
---
## Output Format Specifications
| Format | Detail | When to Use |
|--------|--------|-------------|
| structured-markdown (default) | `references/formats/structured-markdown.md` | Default; human-readable; wikis |
| marp | `references/formats/marp.md` | HTML/PDF slide rendering with theme |
| paste-ready | `references/formats/paste-ready.md` | Paste into PowerPoint/Google Slides templates |
| pptx | `references/formats/pptx.md` | Native PPTX with branding via template |
---
## Error Handling
| Error | Detection | Behavior |
|-------|-----------|----------|
| Missing config | `.delivery/config.yml` not found | STOP: "No delivery config found. Run setup wizard or create config." |
| Missing required artifacts | Content Gate: required paths do not exist | STOP: list missing artifacts, expected locations, creation instructions |
| Empty artifacts | File exists but 0 bytes or template-only | WARN + ask user to confirm. Affected slides use [TBD]. |
| Stale artifacts | Last modified > staleness threshold | WARN but proceed. Staleness notice on affected slides. |
| Unknown type | Type not in supported set | STOP: list supported types from Phase 1 table. |
| No pipeline state | `.delivery/state/` empty or missing | WARN: proceed with artifacts only, [TBD] for progress data |
| Partial data | Role finds insufficient data for slides | Role outputs what it can with [TBD]. Composer flags in summary. |
| python-pptx missing | format=pptx but `import pptx` fails | WARN + fall back to structured-markdown (see `references/formats/pptx.md`). |
| PPTX template missing | `--template` or config path does not exist | STOP: "Template file not found: {path}. Check the path in your config or --template flag." |
| Invalid JSON intermediate | `composed-draft.json` malformed or missing `slides` array | STOP: "Invalid JSON intermediate. Re-run Step 4 (Compose) to regenerate." |
Error message format: **what** is wrong, **where** to fix it, **how** to fix it.
---
## User Commands
| Command | Action |
|---------|--------|
| `present` | Start presentation flow (detect type from context) |
| `present [type]` | Start with explicit type |
| `present --format [fmt]` | Set output format: structured-markdown, marp, paste-ready, pptx |
| `present --audience [mode]` | Set audience: technical, executive, investor, client-facing, casual |
| `present --notes` | Enable speaker notes |
| `present --full` / `present --light` | Force full / light mode |
| `approve` / `changes` / `abort` | Step 6 outcomes |
| `no reorder` / `keep chronological` | Disable emphasis reordering |
| `restore {slide title}` | Reinsert a cut slide |
| `regenerate` | Re-run full flow with current artifacts |
---
## References
| File | Loaded When | Purpose |
|------|------------|---------|
| `references/types/<type>.md` | Type detected (Phase 1) | Per-type detection, artifacts, narrative arc, overrides |
| `references/flow/<step>.md` | Step executing (Phase 2) | Per-step detail, dispatch instructions, editorial passes |
| `references/formats/<format>.md` | Format selected | Per-format output conventions and rendering |
| `references/slide-structure.md` | Always (Step 4) | Slide types, density rules, sequencing, boundary conventions |
| `references/narrative-patterns.md` | Always (Step 4) | Per-type narrative arcs, adaptation rules, audience framing rules |
| `references/marp-templates.mRelated in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.