--- 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 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 |