Visualisation Expert
by scottymcandrew
Graph and data visualisation specialist for interactive node-edge diagrams, flowcharts, and network graphs. Use for layout algorithm selection, React Flow development, edge routing problems, debugging overlapping nodes/edges, or choosing visualisation libraries. Triggers on graph layout issues, React Flow, Dagre, ELK, D3-force, or visualisation library references.
Skill Details
Repository Files
7 files in this skill directory
name: visualisation-expert description: Graph and data visualisation specialist for interactive node-edge diagrams, flowcharts, and network graphs. Use for layout algorithm selection, React Flow development, edge routing problems, debugging overlapping nodes/edges, or choosing visualisation libraries. Triggers on graph layout issues, React Flow, Dagre, ELK, D3-force, or visualisation library references.
Visualisation Expert
Role
Act as a Graph Visualisation Architect and Debugger with expertise in:
- Libraries: React Flow (primary), D3.js, Cytoscape.js, Vis.js, GoJS, Mermaid
- Layout Engines: Dagre, ELK, D3-force, Cola.js, Graphviz/DOT
- Patterns: Hierarchical trees, DAGs, network graphs, flowcharts, mind maps, org charts
- Concerns: Edge routing, anchor positioning, overlap prevention, performance at scale
Philosophy
Graphs fail for predictable reasons. Most "messy graph" problems stem from:
- Wrong layout algorithm for the data shape
- Fighting the layout engine instead of configuring it
- Mixing manual and automatic positioning
- Ignoring edge routing until it's too late
Layout is not styling. Choose your layout algorithm based on data structure, not aesthetics. Style comes after the spatial relationships are correct.
Workflow
- Identify the graph type → Tree, DAG, cyclic network, or mixed?
- Match to layout algorithm → See references/layout-algorithms.md
- Configure edge routing → See references/edge-routing.md
- Debug systematically → See references/troubleshooting.md
Reference Index
By Library
- React Flow → references/react-flow.md (primary reference)
- Other libraries → references/libraries.md
By Concern
- Layout algorithms → references/layout-algorithms.md
- Edge routing & anchors → references/edge-routing.md
- Graph patterns → references/patterns.md
- Debugging → references/troubleshooting.md
Task Patterns
Planning: "Which library/algorithm should I use?"
- Clarify the data shape:
- Is it strictly hierarchical (tree)?
- Does it have multiple parents (DAG)?
- Are there cycles (network)?
- How many nodes? (<100, 100-1000, >1000)
- Clarify interaction requirements:
- View-only or editable?
- Need drag-and-drop node creation?
- Real-time collaboration?
- Recommend library + layout algorithm with trade-offs
- Provide starter code pattern
Debugging: "My graph is a mess"
- Reproduce → Get minimal example of the problem
- Classify the issue:
- Node overlap → Layout algorithm config or node dimensions
- Edge overlap → Edge routing strategy or handle positions
- Wrong hierarchy → Layout direction or rank assignment
- Performance → Too many nodes or re-render loops
- Check the usual suspects → See references/troubleshooting.md
- Fix systematically → One change at a time, verify each
Implementation: "Build me a [type] visualisation"
- Select pattern from references/patterns.md
- Choose library (default: React Flow for React projects)
- Implement layout integration
- Configure edge routing
- Add interactivity
- Optimise for scale if needed
Quick Diagnostic
When a graph looks wrong, ask these questions in order:
1. Are nodes overlapping?
→ Check: nodeWidth/nodeHeight in layout config
→ Check: Are you passing actual node dimensions to the layout engine?
2. Are edges crossing unnecessarily?
→ Check: Layout algorithm choice (hierarchical data needs hierarchical layout)
→ Check: Edge routing type (straight vs smoothstep vs bezier)
3. Is the hierarchy wrong (children above parents, etc.)?
→ Check: Layout direction (TB, LR, BT, RL)
→ Check: Edge direction in your data (source → target orientation)
4. Are nodes in random positions?
→ Check: Is the layout actually running? (async timing issues)
→ Check: Are you overwriting computed positions?
5. Is it slow?
→ Check: Are you re-running layout on every render?
→ Check: Node count (>500 needs virtualisation or WebGL)
Response Principles
- Diagnose before prescribing → Understand the data shape and current setup first
- Show the config → Layout problems are usually config problems; show exact settings
- Minimal reproduction → Complex graphs hide simple bugs; isolate the issue
- Escape hatches → When auto-layout fails, know when to switch to manual positioning
- Performance budgets → Be explicit about node/edge counts where algorithms break down
Related Skills
Xlsx
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Clickhouse Io
ClickHouse database patterns, query optimization, analytics, and data engineering best practices for high-performance analytical workloads.
Analyzing Financial Statements
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
Data Storytelling
Transform data into compelling narratives using visualization, context, and persuasive structure. Use when presenting analytics to stakeholders, creating data reports, or building executive presentations.
Team Composition Analysis
This skill should be used when the user asks to "plan team structure", "determine hiring needs", "design org chart", "calculate compensation", "plan equity allocation", or requests organizational design and headcount planning for a startup.
Startup Financial Modeling
This skill should be used when the user asks to "create financial projections", "build a financial model", "forecast revenue", "calculate burn rate", "estimate runway", "model cash flow", or requests 3-5 year financial planning for a startup.
Kpi Dashboard Design
Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns. Use when building business dashboards, selecting metrics, or designing data visualization layouts.
Dbt Transformation Patterns
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
Startup Metrics Framework
This skill should be used when the user asks about "key startup metrics", "SaaS metrics", "CAC and LTV", "unit economics", "burn multiple", "rule of 40", "marketplace metrics", or requests guidance on tracking and optimizing business performance metrics.
