Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate self-contained HTML visual explanations for systems, code changes, plans, data, and technical concepts. Use for diagrams, architecture overviews, diff or plan reviews, project recaps, comparison tables, slide decks, and other visual explanations.
.claude/skills/coco-research-visual-explainer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-10 | ✓→✗ | ▼ Worse | 40% | 0% |
| case-14 | ✓→✗ | ▼ Worse | -68% | 0% |
Generate self-contained HTML pages that explain systems, code changes, plans, data, and technical concepts visually. Use this skill for diagram requests, architecture overviews, diff/plan reviews, project recaps, comparison tables, slide decks, and any visual explanation.
~/.agent/diagrams/ or the explicit eval output path. Use descriptive filenames.visual_explainer with prepare for planning/context and render only after the complete HTML document exists.Read only the references needed for the current output:
| Need | Read | |---|---| | Text-heavy architecture/cards | ./templates/architecture.html | | Mermaid flowcharts, sequence, ER, state, class, C4, data flow | ./templates/mermaid-flowchart.html, Mermaid sections in ./references/libraries.md | | Data tables, comparisons, audits | ./templates/data-table.html | | Slide decks | ./templates/slide-deck.html, ./references/slide-patterns.md | | CSS layout, overflow, depth, collapsibles, SVG connectors, generated images | ./references/css-patterns.md | | Pages with 4+ major sections | ./references/responsive-nav.md | | Prose-heavy pages | “Prose Page Elements” in css-patterns.md, typography sections in libraries.md |
| Content | Default representation | |---|---| | Flowchart, pipeline, state machine, decision tree | Mermaid | | Sequence, ER/schema, class, C4, topology-focused architecture | Mermaid | | Text-heavy architecture, module internals, implementation plans | CSS grid cards, optionally with a Mermaid overview | | 15+ element architecture | Hybrid: small Mermaid overview + CSS detail cards | | Comparison/audit/status matrix | Semantic HTML <table> | | Timeline/roadmap | CSS timeline | | Dashboard/metrics | CSS grid + charts/KPIs | | Slide deck | 100dvh slides using slide template patterns |
theme: 'base' with custom themeVariables matching the page palette.<pre class="mermaid">.diagram-shell pattern from templates/mermaid-flowchart.html: .diagram-shell > .mermaid-wrap > .zoom-controls + .mermaid-viewport > .mermaid-canvas.flowchart TD for complex diagrams. Use LR only for simple 3–4 node linear flows.<br/> in quoted flowchart labels. Do not use escaped \n labels..node; Mermaid uses it internally. Use namespaced page classes such as .ve-card.<table>, headings, lists, <details>, captions.--bg, --surface, --border, --text, --text-dim, and 3–5 accents.#8b5cf6, #7c3aed, #a78bfa, #d946ef); no cyan+magenta+purple neon dashboard; no gradient-mesh blobs.min-width: 0 on grid/flex children, overflow-wrap: break-word for long text, and scroll containers for wide tables/code.display: flex directly on <li> when list markers matter.prefers-reduced-motion. Do not use continuous glow, pulse, or breathing effects on static content.Use slides only when explicitly requested or when a command asks for slides. Slides are a different medium, not a paginated article:
100dvh) with no page-level scrolling.slide-deck.html: prev/next controls, slide count, keyboard navigation, and carousel dots/indicators.slide-patterns.md: Title, Section Divider, Content, Split, Diagram, Dashboard, Table, Code, Quote, Full-Bleed.If surf is available, generated images may be embedded as base64 for hero banners, conceptual illustrations, or educational visuals. Skip images for data-heavy, structural, or Mermaid/CSS-suitable content. Pages must stand on CSS, typography, and diagrams without images.
Before delivery, verify:
diagram-shell with zoom/pan/expand;| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-15 | fail→fail | 49,985 | 38,696 | -23% | 1 | 1 | 0% | 8,215 | 9,746 | +19% | 0 | 0 | — |
case-01 | fail→fail | 36,155 | 80,138 | +122% | 1 | 1 | 0% | 5,799 | 6,391 | +10% | 0 | 0 | — |
case-02 | fail→fail | 48,619 | 88,655 | +82% | 1 | 1 | 0% | 3,919 | 10,069 | +157% | 0 | 0 | — |
case-03 | fail→fail | 14,876 | 31,153 | +109% | 1 | 1 | 0% | 1,763 | 2,122 | +20% | 0 | 0 | — |
case-04 | pass→pass | 11,784 | 13,268 | +13% | 1 | 1 | 0% | 2,185 | 3,913 | +79% | 0 | 0 | — |
case-05 | pass→pass | 10,164 | 19,263 | +90% | 1 | 1 | 0% | 1,771 | 4,132 | +133% | 0 | 0 | — |
case-06 | pass→pass | 8,272 | 29,465 | +256% | 1 | 1 | 0% | 1,436 | 6,933 | +383% | 0 | 0 | — |
case-07 | fail→pass | 42,862 | 62,221 | +45% | 1 | 1 | 0% | 7,603 | 9,748 | +28% | 0 | 0 | — |
case-08 | fail→fail | 44,150 | 73,855 | +67% | 1 | 1 | 0% | 8,255 | 9,786 | +19% | 0 | 0 | — |
case-09 | fail→pass | 36,909 | 41,574 | +13% | 1 | 1 | 0% | 8,228 | 9,759 | +19% | 0 | 0 | — |
case-10 | pass→fail | 51,455 | 70,302 | +37% | 1 | 1 | 0% | 8,225 | 11,512 | +40% | 0 | 0 | — |
case-11 | fail→fail | 21,747 | 30,165 | +39% | 1 | 1 | 0% | 2,891 | 2,202 | -24% | 0 | 0 | — |
case-12 | fail→pass | 43,294 | 48,033 | +11% | 1 | 1 | 0% | 8,221 | 9,752 | +19% | 0 | 0 | — |
case-13 | fail→fail | 53,467 | 48,834 | -9% | 1 | 1 | 0% | 8,219 | 10,084 | +23% | 0 | 0 | — |
case-14 | pass→fail | 36,570 | 24,170 | -34% | 1 | 1 | 0% | 6,725 | 2,139 | -68% | 0 | 0 | — |
case-16 | fail→fail | 41,119 | 50,763 | +23% | 1 | 1 | 0% | 7,986 | 9,753 | +22% | 0 | 0 | — |
case-17 | pass→fail | 38,799 | 35,823 | -8% | 1 | 1 | 0% | 7,016 | 5,991 | -15% | 0 | 0 | — |
case-18 | fail→fail | 65,534 | 12,920 | -80% | 1 | 1 | 0% | 854 | 2,010 | +135% | 0 | 0 | — |
case-19 | fail→fail | 50,650 | 41,376 | -18% | 1 | 1 | 0% | 8,231 | 9,762 | +19% | 0 | 0 | — |
case-20 | pass→fail | 25,446 | 15,763 | -38% | 1 | 1 | 0% | 5,172 | 2,523 | -51% | 0 | 0 | — |
case-21 | fail→fail | 63,163 | 18,425 | -71% | 1 | 1 | 0% | 8,242 | 2,136 | -74% | 0 | 0 | — |
case-22 | pass→fail | 33,838 | 85,880 | +154% | 1 | 1 | 0% | 8,230 | 2,025 | -75% | 0 | 0 | — |
case-23 | fail→fail | 32,424 | 21,703 | -33% | 1 | 1 | 0% | 6,621 | 2,749 | -58% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 14 counted toward the lift figure. The other 9 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -9 percentage points is the difference between those two pass rates over the 14 comparable cases. 8 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.