Sales deck
Build a 10-slide sales deck for a prospect meeting: insight-driven slide titles, speaker notes per slide, sourced claims, exportable to PPTX, Google Slides, or Google Docs. Markdown outline first, then format on user approval.
Doctrine inherited (Step 7 — 0626 rollout)
Output complies with:
Refinements applied to this skill:
| Code |
Refinement |
How it lands in sales-deck |
| R1 |
Source placement (three layers) |
The rendered deck is client-team-facing (prospect meeting). Cleaned [VERIFIED: source, MMM YYYY] tags live in speaker notes (rep references them on the call) and in an appendix slide if the deal requires sources. No inline source tags on the customer-facing slides themselves. |
| R2 |
Single-doc-with-toggles |
Multi-deck variants for a single deal (cold pitch / discovery / pricing-conversation) ship as one Notion doc with one toggle per variant — not three separate PPTX exports until the variant is locked. |
| R3 |
Product-update tone |
Slide titles + speaker notes frame as "we ship X" not "we are thrilled to announce." Even hero capability slides. |
| R5 |
Blog as voice anchor |
When the deck is paired with an anchor blog or whitepaper, the opening slide's headline mirrors the blog's opening line. Voice consistency across deck + blog reads as one story. |
| R6 |
CTA hierarchy |
Closing slide names the next step appropriate to the deal stage. Trial / pilot for cold pitch; signed proposal for warm; PoC scope for enterprise. Never "thanks for your time" close. |
| R9 |
Action-oriented section names |
Insight-driven slide titles (verb-led claim) beat status-titles ("Overview / Background / About us"). |
When to run
- User says "sales deck", "pitch deck", "sales presentation", "slide deck", or "deck for [prospect]"
- After
/messaging completes — natural chain into a sales asset
- Sales asks for a customizable prospect deck before a demo or pitch
- Skip when the ask is competitor research (
/competitor-research), a battlecard (/battlecards), a demo script (/demo-script), or marketing slides (different asset type)
Inputs
Required (at least one of each):
- Product context — capabilities, what it does (from
/messaging, URL, or attachment)
- Target audience — persona or segment (from
/icp-behavioural or user)
Recommended: /messaging (value props, proof), /icp-behavioural (pain, triggers), /competitor-research (differentiation), /positioning (anchors), /win-loss (FAQ + proof).
Optional: brand source — /brand-identity DESIGN.md tokens, brand doc, or inline color/font specs. Existing template — PPTX file, Google Slides URL, or markdown outline (overrides the default 10-slide structure).
If both required inputs are missing: ask for product/company and target audience. Offer to run /messaging or /icp-behavioural first. Full input checklist + auto-routing in the premium reference.
Steps
- Gather context. Pull
/messaging, /icp-behavioural, /competitor-research, /positioning outputs. Note brand source (DESIGN.md preferred). Note any user-provided template.
- Confirm structure. Default = 10-slide structure (cover, social proof, problem, capabilities, differentiation, use cases/personas, how it works, pricing, CTA, FAQ — full specs in the premium reference). If user template differs, adapt: merge if fewer slides, split if more, preserve layout patterns.
- Apply DESIGN.md tokens. Read
projects/consulting/{client}/brand/{MMYY}-brand-kit.md. Quote exact token values in the spec (colors.primary (#…), typography.display-lg). One primary color per slide. Two font weights max. Body slides never compete with title-slide primary strength. Full contract: the premium reference and .claude/rules/design-production.md. If no DESIGN.md exists, recommend /brand-identity first — never invent tokens.
- Generate slide outline. Slide titles + 3-4 key points each, with content-source mapping. Insight-driven titles only ("Cut reporting time by 60%", not "Our Product Features"). Present for user approval before full content.
- Generate slide content. One idea per slide, 6×6 rule (max 6 bullets, 6 words each). Headline = takeaway. Visuals over text. No invented metrics, logos, pricing, or quotes — mark unverifiable claims
[UNVERIFIED] and ban "industry-leading", "best-in-class", "innovative".
- Write speaker notes per slide. Format: WHAT TO SAY (2-3 talking-point sentences) → KEY DATA (specific numbers/dates/sources) → TRANSITION (bridge to next slide) → OBJECTION PREP (likely questions + responses).
- Source-validate. Every factual claim cites a source per
.claude/rules/ontology.md ([VERIFIED: source] / [INFERRED: from X + Y] / [UNVERIFIED]). Customer quotes verbatim only.
- Run pre-delivery checks. Pre-delivery + self-eval rubric in the premium reference. Flag any check that fails: would this survive a CFO in the room? Does the problem slide create urgency? Is differentiation specific?
- Review gate (Level 2). Present markdown deck for user approval. Actions: approve / adjust slides / change structure.
- Ask output format. Markdown (default), PPTX, Google Slides, Google Docs.
- Export.
- PPTX → invoke
/pptx (local, brand-aware) with slide content + speaker notes; /pptx resolves the brand kit and applies it. Falls back to document-skills:pptx only if the local skill is unavailable.
- Google Slides →
cd.claude/mcp/gdrive && node create-slides.mjs "[deck.md]" "[Company]" --client {slug}
- Google Docs →
cd.claude/mcp/gdrive && node create-doc-unified.mjs "[deck.md]" "[Company]" --client {slug}
- Suggest chains. If approved →
/demo-script (deck narrative informs demo flow), /battlecards (per competitor), /product-launch (deck as launch asset), /outreach (deck value props inform email copy).
What good looks like
Examples:
Evaluations (the deck is good when):
- All 10 slides have insight-driven titles (passes "so what" test) and pass the 6×6 rule
- Every slide has speaker notes with WHAT TO SAY / KEY DATA / TRANSITION / OBJECTION PREP
- Every factual claim has
[VERIFIED] / [INFERRED] / [UNVERIFIED] per ontology — no invented metrics, logos, or quotes
- Brand tokens applied: title slide uses primary color, body slides don't; two font weights max; WCAG AA on all text
- Prospect can self-identify by slide 6; clear CTA on slide 9; FAQ addresses top 5 objections from
/win-loss
- Sales would present it without rewriting 80% of it
Final ship gate
Run /premortem --output before ship. See /premortem skill for the 5 execution domains (will-it-resonate / will-it-convert / will-it-stay-on-brand / will-stakeholder-push-back / will-it-degrade-over-time) and output template.
Then run /scope-guardian-reviewer — the client-deliverable ship gate: scope-creep check on proposals/SOWs (pm-loop.md).
Trivial-case escape: ## Premortem\nNo failure modes — trivial change satisfies the contract for genuinely trivial outputs.
1---2name: sales-deck3description: Sales deck4---56# Sales deck78Build a 10-slide sales deck for a prospect meeting: insight-driven slide titles, speaker notes per slide, sourced claims, exportable to PPTX, Google Slides, or Google Docs. Markdown outline first, then format on user approval.910## Doctrine inherited (Step 7 — 0626 rollout)1112Output complies with:1314- [`output-tenets.md`](../../../../rules/output-tenets.md) — the seven tenets15- [`output-simplicity.md`](../../../../rules/output-simplicity.md) — length caps, three-layer source placement, robot-tells ban16- [`design-production.md`](../../../../rules/design-production.md) — DESIGN.md contract for the rendered deck17- Step 6 calibration: see [[feedback_execution_doctrine_refinements_step6]]1819**Refinements applied to this skill:**2021| Code | Refinement | How it lands in sales-deck |22|---|---|---|23| **R1** | Source placement (three layers) | The rendered deck is **client-team-facing** (prospect meeting). Cleaned `[VERIFIED: source, MMM YYYY]` tags live in speaker notes (rep references them on the call) and in an appendix slide if the deal requires sources. No inline source tags on the customer-facing slides themselves. |24| **R2** | Single-doc-with-toggles | Multi-deck variants for a single deal (cold pitch / discovery / pricing-conversation) ship as **one Notion doc with one toggle per variant** — not three separate PPTX exports until the variant is locked. |25| **R3** | Product-update tone | Slide titles + speaker notes frame as "we ship X" not "we are thrilled to announce." Even hero capability slides. |26| **R5** | Blog as voice anchor | When the deck is paired with an anchor blog or whitepaper, the opening slide's headline mirrors the blog's opening line. Voice consistency across deck + blog reads as one story. |27| **R6** | CTA hierarchy | Closing slide names the next step appropriate to the deal stage. Trial / pilot for cold pitch; signed proposal for warm; PoC scope for enterprise. Never "thanks for your time" close. |28| **R9** | Action-oriented section names | Insight-driven slide titles (verb-led claim) beat status-titles ("Overview / Background / About us"). |2930## When to run3132- User says "sales deck", "pitch deck", "sales presentation", "slide deck", or "deck for [prospect]"33- After `/messaging` completes — natural chain into a sales asset34- Sales asks for a customizable prospect deck before a demo or pitch35- Skip when the ask is competitor research (`/competitor-research`), a battlecard (`/battlecards`), a demo script (`/demo-script`), or marketing slides (different asset type)3637## Inputs3839**Required (at least one of each):**40- Product context — capabilities, what it does (from `/messaging`, URL, or attachment)41- Target audience — persona or segment (from `/icp-behavioural` or user)4243**Recommended:** `/messaging` (value props, proof), `/icp-behavioural` (pain, triggers), `/competitor-research` (differentiation), `/positioning` (anchors), `/win-loss` (FAQ + proof).4445**Optional:** brand source — `/brand-identity` DESIGN.md tokens, brand doc, or inline color/font specs. Existing template — PPTX file, Google Slides URL, or markdown outline (overrides the default 10-slide structure).4647If both required inputs are missing: ask for product/company and target audience. Offer to run `/messaging` or `/icp-behavioural` first. Full input checklist + auto-routing in the premium reference.4849## Steps50511. **Gather context.** Pull `/messaging`, `/icp-behavioural`, `/competitor-research`, `/positioning` outputs. Note brand source (DESIGN.md preferred). Note any user-provided template.522. **Confirm structure.** Default = 10-slide structure (cover, social proof, problem, capabilities, differentiation, use cases/personas, how it works, pricing, CTA, FAQ — full specs in the premium reference). If user template differs, adapt: merge if fewer slides, split if more, preserve layout patterns.533. **Apply DESIGN.md tokens.** Read `projects/consulting/{client}/brand/{MMYY}-brand-kit.md`. Quote exact token values in the spec (`colors.primary (#…)`, `typography.display-lg`). One primary color per slide. Two font weights max. Body slides never compete with title-slide primary strength. Full contract: the premium reference and `.claude/rules/design-production.md`. If no DESIGN.md exists, recommend `/brand-identity` first — never invent tokens.544. **Generate slide outline.** Slide titles + 3-4 key points each, with content-source mapping. Insight-driven titles only ("Cut reporting time by 60%", not "Our Product Features"). Present for user approval before full content.555. **Generate slide content.** One idea per slide, 6×6 rule (max 6 bullets, 6 words each). Headline = takeaway. Visuals over text. No invented metrics, logos, pricing, or quotes — mark unverifiable claims `[UNVERIFIED]` and ban "industry-leading", "best-in-class", "innovative".566. **Write speaker notes per slide.** Format: WHAT TO SAY (2-3 talking-point sentences) → KEY DATA (specific numbers/dates/sources) → TRANSITION (bridge to next slide) → OBJECTION PREP (likely questions + responses).577. **Source-validate.** Every factual claim cites a source per `.claude/rules/ontology.md` (`[VERIFIED: source]` / `[INFERRED: from X + Y]` / `[UNVERIFIED]`). Customer quotes verbatim only.588. **Run pre-delivery checks.** Pre-delivery + self-eval rubric in the premium reference. Flag any check that fails: would this survive a CFO in the room? Does the problem slide create urgency? Is differentiation specific?599. **Review gate (Level 2).** Present markdown deck for user approval. Actions: approve / adjust slides / change structure.6010. **Ask output format.** Markdown (default), PPTX, Google Slides, Google Docs.6111. **Export.**62 - PPTX → invoke `/pptx` (local, brand-aware) with slide content + speaker notes; `/pptx` resolves the brand kit and applies it. Falls back to `document-skills:pptx` only if the local skill is unavailable.63 - Google Slides → `cd.claude/mcp/gdrive && node create-slides.mjs "[deck.md]" "[Company]" --client {slug}`64 - Google Docs → `cd.claude/mcp/gdrive && node create-doc-unified.mjs "[deck.md]" "[Company]" --client {slug}`6512. **Suggest chains.** If approved → `/demo-script` (deck narrative informs demo flow), `/battlecards` (per competitor), `/product-launch` (deck as launch asset), `/outreach` (deck value props inform email copy).6667## What good looks like6869**Examples:**7071**Evaluations (the deck is good when):**72- All 10 slides have insight-driven titles (passes "so what" test) and pass the 6×6 rule73- Every slide has speaker notes with WHAT TO SAY / KEY DATA / TRANSITION / OBJECTION PREP74- Every factual claim has `[VERIFIED]` / `[INFERRED]` / `[UNVERIFIED]` per ontology — no invented metrics, logos, or quotes75- Brand tokens applied: title slide uses primary color, body slides don't; two font weights max; WCAG AA on all text76- Prospect can self-identify by slide 6; clear CTA on slide 9; FAQ addresses top 5 objections from `/win-loss`77- Sales would present it without rewriting 80% of it7879## Final ship gate8081Run `/premortem --output` before ship. See [`/premortem` skill](../../../meta/orchestration/premortem/SKILL.md) for the 5 execution domains (will-it-resonate / will-it-convert / will-it-stay-on-brand / will-stakeholder-push-back / will-it-degrade-over-time) and output template.8283Then run `/scope-guardian-reviewer` — the client-deliverable ship gate: scope-creep check on proposals/SOWs (pm-loop.md).8485Trivial-case escape: `## Premortem\nNo failure modes — trivial change` satisfies the contract for genuinely trivial outputs.