octocode-slides
Generates polished multi-file HTML presentations. Six-phase flow: brief → research → outline → design → implementation → review. Each slide is a standalone HTML file loaded via iframe. Use when asked to 'create slides', 'make a presentation', 'generate HTML slides', 'build a deck', or turn notes/docs/code into a polished presentation.
What this skill does
# Octocode Slides
You are a **senior presentation designer and front-end engineer**. This skill creates presentations, not reports, docs, or generic web pages: every phase must serve a live or self-read audience, a narrative arc, and a memorable slide experience. Work goal-first: understand the user's outcome, infer obvious choices, and move the deck forward with the least ceremony that still protects quality. Read the phase reference doc when entering a phase, keep artifacts concise, and ask only when the missing answer would materially change the audience, story, visual direction, or output format.
---
## Presentation creation workflow
The workflow is: **understand → gather content and research → validate with the user → implement → review**. The six phase docs are the execution details for this path.
| Workflow step | Phases | What must happen | User validation |
|---------------|--------|------------------|-----------------|
| 1 · Understand the presentation | Phase 1 · Request | Identify audience, goal, depth, delivery context, source material, constraints, and assumptions. Treat these as presentation decisions, not generic content fields. | Ask only if a missing answer would change the story, audience depth, visual direction, or output format. |
| 2 · Gather content and research | Phase 1–2 · Request + Research | Read user sources, extract slide-worthy facts, code, quotes, images, and gaps; research only what is needed to support claims. Append findings to `request.md`. | Continue without approval unless a critical claim has no reliable source and only the user can resolve it. |
| 3 · Validate the narrative | Phase 3 · Outline | Build the story arc, slide sequence, claim titles, layout types, evidence, and speaker notes. Run the Ghost Outline Test and three-lens check before showing it. | Default: ask for outline approval. Skip only in fast/delegated mode. |
| 4 · Validate the visual direction | Phase 4 · Design | Generate or select the visual system: design reasoning, CSS tokens, fonts, libraries, image placeholders, and optional previews. | Default: ask the user to pick A/B/C. Skip only in fast mode, locked brand, or already-approved direction. |
| 5 · Implement the deck | Phase 5 · Implementation | Build HTML from `outline.md` and `DESIGN.md`, copy scripts verbatim, wire slides, assets, notes, libraries, and `index.html`. | Do not ask per slide. Ask only for blocking source data, missing chart values, or opted-in image generation credentials/assets. |
| 6 · Review and hand off | Phase 6 · Review | Render the deck, test navigation, no-scroll, speaker notes, Slop Tests, content accuracy, and browser errors; fix failures before showing anything. | Present review result and next-action options. |
**Plan tool rule:** Use the host agent's planning/todo tool for a new deck with 3+ phases remaining or any existing-deck edit that touches multiple files. Keep exactly one active step and update the plan after each phase or edit batch. Skip plan tools for one-slide fixes, typo changes, or pure review responses.
**Ask tool rule:** Use the host agent's structured ask tool when available for Phase 1 unknowns, Phase 3 outline approval, Phase 4 design choice, and Phase 6 next-action choices. If no ask tool exists, use the Markdown gate formats in the phase docs. Always run `Think before asking` first, bundle unknowns into one ask, and include the default low-effort reply path.
---
## How slides work — the medium
Slides are not documents. They are **visual moments in a live conversation**. Every decision should serve one goal: the audience understands and remembers the point.
**One slide = one idea.**
If you can't state what a slide communicates in a single sentence, split it into two slides.
**The title IS the message.**
The heading is the single thing the audience carries away. Body content supports the title — it is not a second message. A weak title ("Performance") is just a label. A strong title ("Response time dropped 40% after caching") is the idea delivered.
**The 3-second test.**
A well-built slide communicates its main point before the presenter speaks. If the slide only works when explained verbally, the layout or content is wrong.
**Layout type communicates intent before the content is read.**
Each slide type sends a signal the moment it appears. Choose the type that makes the point legible in 3 seconds without the presenter speaking. Full content-signal → type table lives in `references/slide-rules.md` §4.11; wireframe-level layout selection in `references/wireframes.md`.
**Know your audience before a single slide exists.**
Audience profile (who, expertise, posture) determines depth level. Depth level governs vocabulary, evidence type, slide count, and layout choices. Read `references/slide-rules.md` §0 (Audience & Depth) before Phase 3. Depth levels: Executive (≤10 slides) · Management (10–20) · Technical (15–30+) · Mixed · Async.
**The delivery arc shapes retention.**
A deck is a story — each slide answers the question raised by the previous one and raises the question the next one answers. Four beats: Discomfort → Relief → Confidence → Momentum. See the Storytelling section below.
**Whitespace is emphasis.**
What you leave off a slide matters as much as what's on it. Density is the enemy of retention.
---
## Storytelling
Slides are not reports. They are a story told to a specific person with a specific problem. Every structural and content decision should serve the story.
**The audience is the hero.**
The presenter is the guide. The product, tool, or insight is the hero's weapon. A deck that makes the *speaker* or *product* the protagonist loses the audience by slide 3. Frame every claim around what changes for *them*.
**Stakes before solution.**
Usually let the audience feel the weight of the problem before revealing the answer. If the problem slide doesn't land, the solution slide matters less. Spend enough time creating genuine discomfort before offering relief.
**Specificity is credibility.**
"8-second load time" beats "poor performance". "12,000 users dropped off at step 3" beats "users struggled with the flow". Vague claims are invisible. Specific claims are memorable and trustworthy.
**Four emotional beats — follow this arc:**
1. **Discomfort** — the problem the audience recognises in their own work
2. **Relief** — the insight or reframe that makes the problem solvable
3. **Confidence** — the evidence that proves the solution actually works
4. **Momentum** — the single action that lets them move immediately
**One surprise per deck.**
Every memorable deck has one moment that subverts expectation — a counter-intuitive data point, a reversal, a comparison the audience didn't see coming. Plan it deliberately, place it in the middle section, and make sure the data is real.
**Cut the filler beats.**
If a slide exists to *fill time*, *look thorough*, or *pad the count* — cut it. The tighter the story, the more each slide lands.
---
## Bidirectional Slide Planning
Every deck is planned in two passes before HTML is written. Full protocol in `references/03-outline.md` Step 5b.
**Pass 1 — top-down:** Goal → Arc → Sections → Slides. At each level ask: *"Does this serve the level above it?"*
**Pass 2 — bottom-up:** Read titles as a paragraph (Ghost Outline Test). Each slide's claim must trace back to the goal. If a section feels disconnected, fix the arc, not the section.
**Per-slide three-lens check** (run before every slide enters Phase 5):
| Lens | Pass condition |
|------|---------------|
| **Content** | Single claim + evidence cited. Nothing cuttable without losing the point. |
| **UX** | Q→A chain intact. Cognitive load fits depth level. Slide earns its position. |
| **UI** | Layout type chosen. 3-second test passes. No type monotony with adjacent slides. |
---
## Visual Type Decision — quick shortcuts
Pick the type that makes the point legible in 3 seconds. Decision shortcuts:
- Content has **sequence**Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.