---
name: Slides & Pitch Decks — Polished Presentations
priority: 5
keywords: slides, slide, deck, pitch deck, presentation, ppt, pptx, keynote, google slides, بريزنتيشن, برزنتيشن, عرض تقديمي, عرض, شرائح, شريحة, بيتش, pitch, investor deck, sales deck, product launch
---

# Slides & Pitch Decks — العروض التقديمية

## When to use
The user wants a slide deck — investor pitch, sales pitch, product launch, internal review, conference talk. Triggers in Arabic ("اعمللي بريزنتيشن", "عرض تقديمي عن المنتج", "بيتش ديك للمستثمرين") and English ("pitch deck", "slides for the launch", "investor presentation"). NOT triggered by "report" (use PDF Report Creation skill).

## Iron Rules

1. **Output format priority:**
   - **Primary path:** Build polished HTML with one `<section class="slide">` per slide, then call `html_to_pdf` → final PDF with each slide as a page. This is the most reliable, no external dep.
   - **NotebookLM path** (optional, requires user to install `notebooklm-mcp` separately + Google auth): When the `notebooklm` MCP is available in `list_tools`, use it to generate research-grounded slides from sources the user attaches. Detect availability — don't assume it's there.
   - **DO NOT** try to output `.pptx` directly. We don't have a PPTX writer; trying to write PPTX as raw `write_file` produces broken XML.

2. **Design quality is non-negotiable.** Decks die on slide 3 if they look stale. Iron rules from Impeccable Design apply:
   - OKLCH color palette, not hex
   - ONE display font (slide titles) + ONE body font (bullets). Default pairing: "Inter Display" + "IBM Plex Sans" (English) / "IBM Plex Sans Arabic" + "Cairo" (Arabic).
   - 16:9 aspect ratio: `width: 1280px; height: 720px` per slide.
   - Real imagery — call `browser_screenshot` of relevant pages or `analyze_image` on user-provided images. No Unsplash food clichés.
   - Motion: subtle slide-in animations between sections (CSS `@keyframes`) with `prefers-reduced-motion` override.

3. **Pitch-deck structure (the 10 essentials):**
   1. Cover (one bold sentence + logo)
   2. Problem (visceral, customer-voice)
   3. Solution (one clear sentence)
   4. Market size (TAM/SAM/SOM with sources)
   5. Product (1-2 screenshots)
   6. Traction (real numbers — never fabricate)
   7. Business model
   8. Competition (matrix, not flat list)
   9. Team (names, roles, prior wins)
   10. Ask + use of funds
   For non-pitch decks, adapt — but always have a clear narrative arc.

4. **Real data only — never fabricate numbers.** If the user asks for "investor deck for my SaaS", actually ask them for revenue/MRR/users. Don't invent. If they give you placeholders ("XX customers"), keep them as placeholders — don't smooth them over with fake numbers.

5. **Auto-display.** After `html_to_pdf` succeeds, the brain's auto-display hook will surface the PDF. The dashboard renders it inline as an iframe — the user can flip slides immediately.

## Procedure

1. Discover requirements:
   - Audience (investor / customer / internal)?
   - Slide count target (default: 10 for pitch, 12-15 for sales, 6-8 for internal)?
   - Brand colors / logo URL?
   - Real data the user can share (revenue, customers, market info)?
2. Outline ALL slides as headlines first. Show user a one-line-per-slide outline. ONLY if they confirm or fail to push back within one message, proceed.
3. Build HTML with the slide CSS template (below).
4. Call `html_to_pdf` with the HTML.
5. One-sentence confirmation to user. The deck is now visible.

## Slide CSS template (use this — don't reinvent)

```html
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
<meta charset="UTF-8">
<style>
  @page { size: 1280px 720px; margin: 0; }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body { font-family: "IBM Plex Sans Arabic", "Cairo", sans-serif; }
  .slide {
    width: 1280px; height: 720px;
    padding: 80px 96px;
    page-break-after: always;
    display: flex; flex-direction: column;
    background: linear-gradient(135deg, oklch(98% 0.02 75) 0%, oklch(95% 0.03 75) 100%);
    color: oklch(20% 0 0);
    position: relative;
    overflow: hidden;
  }
  .slide.cover {
    background: linear-gradient(135deg, oklch(35% 0.10 75) 0%, oklch(25% 0.08 75) 100%);
    color: oklch(98% 0 0);
    justify-content: center;
    text-align: center;
  }
  .slide h1 {
    font-family: "Inter Display", "IBM Plex Sans Arabic", sans-serif;
    font-size: 64px; font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: oklch(20% 0 0);
    margin-bottom: 24px;
  }
  .slide.cover h1 { font-size: 96px; color: oklch(98% 0 0); }
  .slide h2 {
    font-size: 22px; font-weight: 500;
    color: oklch(45% 0.05 75);
    margin-bottom: 48px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .slide p, .slide li {
    font-size: 24px; line-height: 1.5;
    color: oklch(30% 0.005 60);
  }
  .slide ul { padding-inline-start: 32px; }
  .slide li + li { margin-top: 16px; }
  .slide .footer {
    position: absolute;
    bottom: 32px;
    inset-inline-start: 96px;
    inset-inline-end: 96px;
    display: flex; justify-content: space-between;
    font-size: 14px;
    color: oklch(55% 0.01 60);
  }
  /* (Domain 4) Subtle motion — when the deck opens in dashboard preview */
  @keyframes slide-in {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .slide h1 { animation: slide-in 600ms cubic-bezier(0.16, 1, 0.3, 1); }
  @media (prefers-reduced-motion: reduce) { .slide h1 { animation: none; } }
</style>
</head>
<body>
  <section class="slide cover">
    <h1>عنوان البيتش</h1>
    <p style="font-size:28px; opacity:0.85; margin-top:24px;">الجملة الجاذبة في سطر واحد</p>
  </section>
  <!-- ... 9 more slides ... -->
</body>
</html>
```

## NotebookLM path (when available)

If `list_tools` shows a `notebooklm_*` tool, the user has installed the optional `notebooklm-mcp`. Workflow:
1. User uploads source PDFs / docs / URLs to NotebookLM via its web UI (one-time auth).
2. You call the MCP's `notebooklm_create_audio_overview` or `notebooklm_query_notebook` tool to get research-grounded content.
3. Use the returned summaries as the SOURCE for slide content — every claim cited.

This path is preferred when the user emphasizes "research-backed" or "based on these sources". Not required.

## Examples

**User:** "ابي بيتش ديك للمستثمرين لشركتي taseesai"
**You:** First confirm: "اعطني 3 أرقام: MRR الحالي، عدد العملاء، أكبر شريحة من السوق المستهدف. وعندك شعار جاهز؟" Then build 10-slide deck with their real numbers, OKLCH palette, RTL layout. Call `html_to_pdf`. Reply: "الديك جاهز ☝️"

**User:** "make a 6-slide sales deck for the kafaat-re product"
**You:** Pull product info from `internal_knowledge_search` (kafaat-re memory) → outline → build → `html_to_pdf`. Reply: "Deck attached — 6 slides, you can flip through it above."

## Anti-patterns

- ❌ Writing PPTX as a string via `write_file` — produces a corrupt file.
- ❌ Flat lists of bullet points with no narrative — the deck dies on slide 3.
- ❌ Stock photos / generic clipart — kills credibility.
- ❌ Inventing investor metrics ("revenue: $2M ARR") when the user didn't provide them.
- ❌ Skipping the outline-confirmation step — most users want a 30s sanity check before you generate 10 slides.
- ❌ Calling `create_excel` for slides (different tool, different output).
