Creates visualizations using native artifacts, Mermaid diagrams, or file-based output. Matches: "visualize this", "create a diagram", "draw a flowchart", "chart this data", "show me a chart", "create a visualization", "diagram this", "map this out", "mind map", "timeline of", "compare X vs Y visually", "org chart", "architecture diagram", "show the flow", "illustrate how". Do NOT use for: AI image generation, photos, pictures of objects or scenes, photorealistic images, artistic illustrations of real things (use nano-banana) — e.g. "generate an image of", "create a picture of", "draw a cat", "photo of a sunset", "make me an illustration of a dragon", brainstorm or ideation (use brainstorm) — e.g. "brainstorm ideas", "think through options", "explore alternatives", prompt optimization or rewriting (use prompt-master) — e.g. "improve my prompt", "optimize this prompt", "rewrite for ChatGPT", meeting preparation or debrief (use meeting-prep / meeting-debrief), general writing without visual output (just answer directly).
From tandemnpx claudepluginhub binatrixai/tandem-marketplace --plugin tandemThis skill is limited to using the following tools:
evals/evals.jsonreferences/charts.mdreferences/design-anti-patterns.mdreferences/design-system.mdreferences/diagrams.mdtemplate.mdExecutes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Generate high-quality visualizations using Claude's native artifact capabilities as primary output, with Mermaid and file-based alternatives for portability. The skill auto-detects visualization type from natural language and applies a design system for consistent, readable output.
Output follows ${CLAUDE_SKILL_DIR}/template.md and saves to
~/Tandem/creative/visualizations/.
For design tokens, load ${CLAUDE_SKILL_DIR}/references/design-system.md once
per conversation when generating native or file-based output.
For quality guardrails, also load ${CLAUDE_SKILL_DIR}/references/design-anti-patterns.md alongside design-system.md -- it describes patterns to AVOID.
For diagram types, load ${CLAUDE_SKILL_DIR}/references/diagrams.md when needed.
For data charts, load ${CLAUDE_SKILL_DIR}/references/charts.md when needed.
See METHODOLOGY.md language mirror rule. Reply in the user's language.
When activated through normal conversation (not a direct visualization request), detect if the current discussion contains complex information that would benefit from a visual:
Detection signals:
When detected, offer via AskUserQuestion:
AskUserQuestion: "This might be clearer as a [type]. Want me to visualize it?"
Options: ["Yes, create a [type]", "No thanks"]
Rules:
Read ~/Tandem/creative/MEMORY.md if it exists. Extract visualization preferences:
If preferences found, briefly show them: "Using your preferred [dark mode, blue palette, standard detail]. Override with 'use light mode' or similar."
If no preferences found, use sensible defaults: light mode, teal/purple/coral palette, standard detail, native output.
Auto-detect visualization type from the user's natural language. Do NOT ask "what type of diagram?" unless genuinely ambiguous.
| User Phrase Pattern | Visualization Type | Reference to Load |
|---|---|---|
| "how does X work", "explain X" (spatial) | Illustrative diagram | diagrams.md |
| "walk me through", "steps to", "process for" | Flowchart | diagrams.md |
| "compare X vs Y", "X versus Y", "differences between" | Comparison layout | diagrams.md |
| "show me the data", "chart this", "graph of" | Data chart (Chart.js) | charts.md |
| "map out", "mind map", "brainstorm map" | Mind map | diagrams.md |
| "timeline of", "history of", "sequence of events" | Timeline | diagrams.md |
| "org chart", "hierarchy", "reporting structure" | Org chart / hierarchy | diagrams.md |
| "architecture of", "system design", "components of" | Architecture / structural | diagrams.md |
| "ER diagram", "database schema" | ER diagram (Mermaid preferred) | diagrams.md |
| Ambiguous ("visualize this") | Infer from content; default to illustrative | diagrams.md |
Load the appropriate reference file from ${CLAUDE_SKILL_DIR}/references/ based
on the detected type.
Determine the best output mode. Do NOT ask unless the user has a stored preference or the situation is genuinely ambiguous.
Mode priority:
Native artifact (primary): Generate inline artifacts using Claude's native visualization -- React components, SVG, HTML/CSS/JS, interactive charts. Use this by default.
Mermaid (alternative): Auto-suggest when:
File-based HTML/SVG (fallback): Use when:
If user's stored preference overrides default, use their preference.
Load ${CLAUDE_SKILL_DIR}/references/design-system.md and ${CLAUDE_SKILL_DIR}/references/design-anti-patterns.md once per conversation (not
per request). Apply design system tokens to all outputs and check against anti-patterns before finalizing:
Generate the visualization using the selected type and output mode.
For native artifacts:
For Mermaid:
For file-based:
<noscript> fallback with text-based data table<!-- Requires internet connection for CDN libraries -->Complexity guard: Before generating raw SVG, assess complexity. If >8-10 nodes, recommend Mermaid: "This has [N] elements. Mermaid's auto-layout engine will handle this more reliably. Want me to use Mermaid instead?" Only ask if native was the selected mode and complexity is genuinely high.
Present the visualization. Then offer to save:
AskUserQuestion: "What would you like to do with this visualization?"
Options: ["Save as-is", "Refine it", "Try a different style", "Try Mermaid version", "Done -- don't save"]
If "Refine it": ask what to change, regenerate, re-present. If "Try Mermaid version": regenerate same content as Mermaid, re-present.
1. Save visualization file:
viz-YYYY-MM-DD-slug.md with artifact code in
fenced blockviz-YYYY-MM-DD-slug.md with mermaid code blockviz-YYYY-MM-DD-slug.htmlviz-YYYY-MM-DD-slug.svg~/Tandem/creative/visualizations/. Create directory if needed.2. Log to stats.json:
Read ~/Tandem/stats.json. If it does not exist, create it as []. Append:
{
"type": "visualize",
"action": "created",
"count": 1,
"timeSavedMinutes": 10,
"description": "Viz: [slug] ([type] via [mode])",
"timestamp": "<current ISO 8601 UTC>"
}
3. Run /sync:
Follow the /sync workflow from tandem-skills/core/sync/SKILL.md. If /sync
fails, continue.
4. Confirm to user:
Report the saved file path.
When the user asks to explain a concept visually (detected phrases: "explain X visually", "make an infographic about", "help me understand X"), activate analogy-first mode.
The rule: Find the killer analogy FIRST, then build the visual around it.
Search these categories for the best fit:
| Category | Example Analogies | Best For |
|---|---|---|
| Everyday Life | Kitchen, closet, mailbox, filing cabinet | Organization, storage, interfaces |
| Jobs and Roles | Receptionist, translator, bouncer, librarian | Routing, filtering, managing |
| Construction | Blueprint, foundation, scaffolding, plumbing | Architecture, infrastructure |
| Cooking | Recipe, ingredients, oven, mise en place | Processes, combining inputs |
| Sports | Playbook, coach, relay race, referee | Strategy, teamwork, handoffs |
| Nature | Root system, beehive, food chain, ecosystem | Networks, hierarchies, cycles |
Analogy criteria:
| Real Concept | Analogy Equivalent | Visual Element | Why It Works |
|---|---|---|---|
| [Part 1] | [Analogy part] | [What to draw] | [Connection] |
| [Part 2] | [Analogy part] | [What to draw] | [Connection] |
| [Part 3] | [Analogy part] | [What to draw] | [Connection] |
Every part of the concept MUST map to something in the analogy. If a piece doesn't map cleanly, the analogy is wrong — pick a better one.
Generate the visualization using the mapped analogy. The analogy elements become the visual elements. Apply the standard design system and component catalog.
Max 50 words of text on the entire graphic. The visual should make sense even without reading the text.
Standard components for consistent, high-quality visual output. Use these across all visualization types (native, Mermaid, file-based).
| Component | When to Use | Structure |
|---|---|---|
| Stat Cards | Key numbers, KPIs | Horizontal row: large number + label + optional trend arrow |
| Section Cards | Feature lists, grouped info | Grid of cards: icon/emoji + title + description |
| Comparison Grid | Side-by-side analysis | 2-3 columns, rows with checkmarks or values |
| Flow Steps | Sequential processes | Numbered circles connected by lines + title + description |
| Status Badges | Tags, categories, states | Colored pill badges (green/yellow/red/blue) |
| Callout Boxes | Important notes, warnings | Accent left border, icon, highlighted background |
| Progress Bars | Completion, capacity, scores | Horizontal bar with fill percentage and label |
| Tables | Structured data, specs | Striped rows, sticky header, responsive scroll |
| Timelines | Chronological events | Vertical line with dots, alternating left/right cards |
| Quote Blocks | Testimonials, key statements | Large quotation mark, italic text, attribution |
| Icon Grids | Feature overviews, tool lists | 2-3 column grid: emoji + title + one-line description |
| Card Grid | Features, benefits, categories | 2-4 cards with icon, title, one-line description |
Rules:
When generating workflow diagrams, system maps, or process flows, use this standard color scheme for node types:
| Node Type | Background | Border | Icon Style |
|---|---|---|---|
| Trigger | #1e3a5f | #3B82F6 (blue) | Lightning bolt, clock, webhook |
| Processing | #1a3d2e | #10B981 (green) | Gear, wand, filter |
| Tool / Service | #3d2e1a | #F59E0B (amber) | Tool logo or wrench |
| Output | #3d1a1a | #EF4444 (red) | Check, send, export |
| Data Store | #1a1a2e | #6366F1 (indigo) | Database, folder, file |
| Decision | #2e1a3d | #A855F7 (purple) | Question mark, fork |
Connection lines:
Interactivity (file-based HTML output):
Include a color-coded legend at the bottom of every workflow diagram: Blue = Triggers | Green = Processing | Amber = Tools | Red = Outputs | Indigo = Data Stores | Purple = Decisions
Memory is user-triggered only. After completing a visualization, offer to remember preferences:
"Want me to remember your [dark mode / blue palette / standard detail] preferences for next time?"
If user agrees, write to ~/Tandem/creative/MEMORY.md using memory-create
patterns. Include: