# Insights Deck

> Archive an exported Claude Code insights HTML report and turn it into a timestamped Beamer presentation usable from either client. Use when the insights export is the source artifact for a presentation. Not for a general research talk; use $talk-deck.

- Skill: `flonat/insights-deck` (Agent Skill)
- Install (CLI): `npx skillmds@latest add flonat/insights-deck`
- Raw SKILL.md: https://api.skillmd.com/api/skills/flonat/insights-deck/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: flonat (https://skillmd.com/u/flonat)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/flonat/insights-deck

---


# Insights Deck Skill

> Archive a Claude Code insights HTML export and generate a Beamer presentation summarising the findings. All outputs go to `log/insights/` with date stamps.

## When to Use

- After exporting the built-in Claude Code insights report
- When you want a shareable deck summarising how you use Claude Code
- For periodic self-reflection on AI-assisted workflow

## Scope

This skill produces **two outputs only**: an archived HTML report and a Beamer deck. Do NOT use insights suggestions to create plans, rules, CLAUDE.md edits, or other follow-up actions during this skill's execution. If the user wants to act on suggestions, that happens after the deck is delivered — as a separate conversation.

---

## Phase 1 — Generate & Archive Insights

### Step 1: Obtain the exported HTML

The insights export is produced by a built-in Claude Code command and cannot be generated by Codex. If no HTML path was provided, tell the user:

> Please export the Claude Code insights report, then provide the generated HTML path. I can build the archive and deck from either client.

If an HTML path was supplied, continue directly. Do not require the active client itself to be Claude Code.

### Step 2: Locate the generated HTML

After the export completes, find the most recent insights HTML file:

```bash
ls -t /tmp/claude-insights-*.html 2>/dev/null | head -1
```

If not found in `/tmp/`, check the user's home directory and common download locations. Ask the user for the path if it can't be located automatically.

### Step 3: Archive the HTML

Each insights run gets its own date folder:

```bash
mkdir -p log/insights/YYYY-MM-DD
cp <source-html> log/insights/YYYY-MM-DD/insights-YYYY-MM-DD-log.html
```

Use today's date for the timestamp.

---

## Phase 2 — Build Beamer Deck

### Step 1: Read and extract findings

Read the archived HTML file (`log/insights/YYYY-MM-DD/insights-YYYY-MM-DD-log.html`). Extract:

1. **Usage patterns** — most-used tools, session frequency, typical session length
2. **Strengths** — what's working well in the workflow
3. **Friction points** — repeated failures, slow patterns, underused features
4. **Recommendations** — suggested improvements

### Step 2: Design the deck structure

Apply rhetoric principles from the `beamer-deck` skill (condensed — no sub-agent reviews needed for an internal deck):

- **Assertion titles** — every frame title states a claim, not a label
- **One idea per slide** — split if a slide has two ideas
- **Three-act arc:**
  - Act I (Tension): Current usage snapshot — what does the data show?
  - Act II (Development): Patterns, strengths, friction points
  - Act III (Resolution): Recommendations and next steps
- **MB/MC balance** — vary dense and light slides deliberately
- **Pyramid principle** — lead with conclusions, then support

### Step 3: Generate the `.tex` file

Write to `log/insights/YYYY-MM-DD/insights-YYYY-MM-DD-deck.tex` with:

- `\documentclass[aspectratio=169,11pt]{beamer}`
- Original inline theme (no default Beamer themes)
- Professional colour palette:
  ```latex
  \definecolor{Midnight}{HTML}{1A1A2E}
  \definecolor{DeepBlue}{HTML}{16213E}
  \definecolor{RoyalBlue}{HTML}{0F3460}
  \definecolor{Coral}{HTML}{E94560}
  \definecolor{SoftGray}{HTML}{BDC3C7}
  \definecolor{CloudWhite}{HTML}{FAFBFC}
  ```
- Suggested structure (adapt based on findings):
  1. Title slide — "Claude Code Usage: [Month Year]"
  2. Opening claim — lead with the most striking finding
  3. Usage overview — session count, tool distribution, time patterns
  4. Top strengths (1–2 slides)
  5. Key friction points (1–2 slides)
  6. Recommendations (1–2 slides)
  7. Closing — single actionable takeaway

### Step 4: Compile

Install the fail-closed canonical `.latexmkrc` in the date folder if it is
missing by invoking the `latex` pre-flight, which resolves its bundled canonical
artifact. Never reconstruct a shortened recipe. If a file already exists and
differs, classify it before migration.

Then compile:

```bash
cd log/insights/YYYY-MM-DD && latexmk -pdf insights-YYYY-MM-DD-deck.tex
```

### Step 5: Fix all warnings

Parse `out/*.log` for overfull/underfull hbox/vbox warnings. Fix every one. Recompile until clean.

The canonical `.latexmkrc` copies the requested PDF from `out/` back to the date folder only after a successful build.

---

## Output

When complete, the date folder should contain:

```
log/insights/YYYY-MM-DD/
├── insights-YYYY-MM-DD-log.html     # Archived insights HTML
├── insights-YYYY-MM-DD-deck.tex     # Beamer source
├── insights-YYYY-MM-DD-deck.pdf     # Compiled PDF
├── .latexmkrc                       # Canonical build config
└── out/                             # Build artifacts
```

Each `insights-deck` run creates a new date folder, keeping the parent `log/insights/` clean.

---

## Cross-References

| Skill | Relationship |
|-------|-------------|
| `beamer-deck` | Full rhetoric framework and multi-agent review (this skill uses a condensed version) |
| `latex` | **Default compiler** — use for compilation with auto error resolution |
| `latex` | Manual compilation config details, `.latexmkrc` setup |
| `session-log` | Complements insights with session-level detail |

