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.
Installs into .claude/skills of the current project.
Are you the author of Insights Deck?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/flonat-insights-deck)
---
name: insights-deck
description: "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."
allowed-tools: Bash(latexmk*), Bash(pdflatex*), Bash(xelatex*), Bash(mkdir*), Bash(ls*), Bash(cp*), Read, Write, Edit, Glob, Grep, Task
argument-hint: (no arguments)
---
# 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 |