visual-explainer
visual-explainer generates self-contained HTML pages that present technical information visually, including system diagrams, architecture overviews, code diffs, implementation plans, and data tables. Use it when explaining complex systems, reviewing changes, comparing options, or presenting structured data that would otherwise appear as ASCII tables with four or more rows or three or more columns.
git clone --depth 1 https://github.com/NikiforovAll/claude-code-rules /tmp/visual-explainer && cp -r /tmp/visual-explainer/plugins/handbook-visual-explainer/skills/visual-explainer ~/.claude/skills/visual-explainerSKILL.md
# Visual Explainer Generate self-contained HTML files for technical diagrams, visualizations, and data tables. Always open the result in the browser. Never fall back to ASCII art when this skill is loaded. **Proactive table rendering.** When you're about to present tabular data as an ASCII box-drawing table in the terminal (comparisons, audits, feature matrices, status reports, any structured rows/columns), generate an HTML page instead. The threshold: if the table has 4+ rows or 3+ columns, it belongs in the browser. Don't wait for the user to ask — render it as HTML automatically and tell them the file path. You can still include a brief text summary in the chat, but the table itself should be the HTML page. ## Available Commands | Command | What it does | |---------|-------------| | `generate-web-diagram` | Generate an HTML diagram for any topic | | `generate-visual-plan` | Generate a visual implementation plan for a feature | | `generate-slides` | Generate a magazine-quality slide deck | | `diff-review` | Visual diff review with architecture comparison and code review | | `plan-review` | Compare a plan against the codebase with risk assessment | | `project-recap` | Mental model snapshot for context-switching back to a project | | `fact-check` | Verify accuracy of a document against actual code | ## Workflow ### 1. Think (5 seconds, not 5 minutes) Before writing HTML, commit to a direction. Don't default to "dark theme with blue accents" every time. **Visual is always default.** Even essays, blog posts, and articles get visual treatment — extract structure into cards, diagrams, grids, tables. Prose patterns (lead paragraphs, pull quotes, callout boxes) are **accent elements** within visual pages, not a separate mode. Use them to highlight key points or provide breathing room, but the page structure remains visual. For prose accents, see "Prose Page Elements" in `./references/css-patterns.md`. For everything else, use the standard freeform approach with aesthetic directions below. **Who is looking?** A developer understanding a system? A PM seeing the big picture? A team reviewing a proposal? This shapes information density and visual complexity. **What type of content?** Architecture, flowchart, sequence, data flow, schema/ER, state machine, mind map, class diagram, C4 architecture, data table, timeline, dashboard, or prose-first page. Each has distinct layout needs and rendering approaches (see Diagram Types below). **What aesthetic?** Pick one and commit. The constrained aesthetics (Blueprint, Editorial, Paper/ink) are safer — they have specific requirements that prevent generic output. The flexible ones (IDE-inspired) require more discipline. **Constrained aesthetics (prefer these):** - Blueprint (technical drawing feel, subtle grid background, deep slate/blue palette, monospace labels, precise borders) — see `websocket-implementation-plan.html` for reference - Editorial (serif headlines like Instrument Serif or Crimson Pro, generous whitespace, muted earth tones or deep navy + gold) - Paper/ink (warm cream `#faf7f5` background, terracotta/sage accents, informal feel) - Monochrome terminal (green/amber on near-black, monospace everything, CRT glow optional) **Flexible aesthetics (use with caution):** - IDE-inspired (borrow a real, named color scheme: Dracula, Nord, Catppuccin Mocha/Latte, Solarized Dark/Light, Gruvbox, One Dark, Rosé Pine) — commit to the actual palette, don't approximate - Data-dense (small type, tight spacing, maximum information, muted colors) **Explicitly forbidden:** - Neon dashboard (cyan + magenta + purple on dark) — always produces AI slop - Gradient mesh (pink/purple/cyan blobs) — too generic - Any combination of Inter font + violet/indigo accents + gradient text Vary the choice each time. If the last diagram was dark and technical, make the next one light and editorial. The swap test: if you replaced your styling with a generic dark theme and nobody would notice the difference, you haven't designed anything. ### 2. Structure **Read the reference material** before generating. Don't memorize it — read it each time to absorb the patterns. - For text-heavy architecture overviews (card content matters more than topology): read `./templates/architecture.html` - For flowcharts, sequence diagrams, ER, state machines, mind maps, class diagrams, C4: read `./templates/mermaid-flowchart.html` - For data tables, comparisons, audits, feature matrices: read `./templates/data-table.html` - For slide deck presentations (when `--slides` flag is present or `/generate-slides` is invoked): read `./templates/slide-deck.html` and `./references/slide-patterns.md` - For prose-heavy publishable pages (READMEs, articles, blog posts, essays): read the "Prose Page Elements" section in `./references/css-patterns.md` and "Typography by Content Voice" in `./references/libraries.md` **For CSS/layout patterns and SVG connectors**, read `./references/css-patterns.md`. **For pages with 4+ sections** (reviews, recaps, dashboards), also read `./references/responsive-nav.md` for section navigation with sticky sidebar TOC on desktop and horizontal scrollable bar on mobile. **Choosing a rendering approach:** | Content type | Approach | Why | |---|---|---| | Architecture (text-heavy) | CSS Grid cards + flow arrows | Rich card content (descriptions, code, tool lists) needs CSS control | | Architecture (topology-focused) | **Mermaid** | Visible connections between components need automatic edge routing | | Flowchart / pipeline | **Mermaid** | Automatic node positioning and edge routing | | Sequence diagram | **Mermaid** | Lifelines, messages, and activation boxes need automatic layout | | Data flow | **Mermaid** with edge labels | Connections and data descriptions need automatic edge routing | | ER / schema diagram | **Mermaid** | Relationship lines between many entities need auto-routing | | State machine | **Mermaid** | State transitions with labeled edges need automatic l
Analyze a task and produce an Architecture Decision Record with implementation steps.
Generate a .NET code coverage report scoped to files changed in the current branch. Runs tests with coverage collection and produces filtered HTML reports.
This skill should be used when investigating .NET project dependencies, understanding why packages are included, listing references, or auditing for outdated/vulnerable packages.
Run script-like CSharp programs using dotnet run file.cs. Use this skill when users want to execute CSharp code directly, write one-liner scripts via stdin, or learn about run file directives.
This skill should be used when working with Verify snapshot tests in .NET projects. Use when updating verified snapshots after intentional code changes, accepting new snapshots, discovering verify tests, or troubleshooting snapshot mismatches. Trigger phrases include "verify tests", "update snapshots", "accept snapshots", "verified files", ".verified.txt".
>
This skill should be used when the user wants to manage Git worktrees - creating worktrees from local or remote branches, listing active worktrees with details, deleting worktrees, or switching between worktrees. Ideal for working on multiple branches simultaneously without stashing changes.
Expert guidance for using the GitLab CLI (glab) to manage GitLab issues, merge requests, CI/CD pipelines, repositories, and other GitLab operations from the command line. Use this skill when the user needs to interact with GitLab resources or perform GitLab workflows.