deck

Installation
SKILL.md

/octave:deck - Octave-Powered Deck Builder

Build compelling, self-contained HTML presentations powered by your Octave GTM knowledge base. Unlike generic slide builders, this skill leverages your library's personas, competitors, Motion ICP narratives, proof points, and real conversation data to research, structure, and generate presentations grounded in your actual go-to-market intelligence.

HTML presentation engine inspired by frontend-slides by Zara Zhang (MIT license). Decks render on a fixed 1920×1080 stage scaled to the viewport (see references/viewport-base.css).

On-brand styling — use a brand kit if one exists

Before generating, decide whose brand this deck should match (usually the target company; sometimes your own company). Then:

  1. Resolve the company to a <slug> and check for a cached brand kit at ~/.octave/brands/<slug>/manifest.json.
  2. If a kit exists → offer it: "I found a saved brand kit for — want this deck rendered in their brand?" If yes, style the output with the kit instead of a generic preset:
    • inline the kit's tokens.css (:root + the embedded @font-face) and get-brand-components/assets/kit_base.css into the output <style>;
    • follow brand-kit.mdSignature moves, and reuse the kit's real logo, images/, and icons.json;
    • for doc-shaped output you can compose directly with get-brand-components/scripts/render_kit.py (hero / split / logos / pricing / cta / footer blocks).
  3. If no kit exists → offer to build one first: "No brand kit for yet — want me to capture it (~1 min) so this is on-brand?" → run /octave:get-brand-components <domain>, then proceed.
  4. If the user declines → generate with the default style/preset.

The brand kit is the strongest styling signal — when one is available, prefer it over generic --style presets. See the get-brand-components skill for the kit format, token contract, and renderer.

Installs
5
Repository
octavehq/lfgtm
GitHub Stars
11
First Seen
Feb 27, 2026
deck — octavehq/lfgtm