visualization-choice-reporting
Matches visualization types to data questions and creates narrated reports that highlight insights and recommend actions. Covers chart selection (comparison, trend, distribution, relationship, composition, geographic), perceptual best practices, and narrative reporting (headline, pattern, context, meaning, action). Use when analyzing data for patterns, building dashboards, presenting metrics, monitoring KPIs, or when user mentions "visualize this", "what chart should I use", "create a dashboard", "analyze this data", "show trends", "report on".
What this skill does
# Visualization Choice & Reporting
## Workflow
Copy this checklist and track your progress:
```
Visualization Choice & Reporting Progress:
- [ ] Step 1: Clarify question and profile data
- [ ] Step 2: Select visualization type
- [ ] Step 3: Design effective chart
- [ ] Step 4: Narrate insights and actions
- [ ] Step 5: Validate and deliver
```
**Step 1: Clarify question and profile data**
Define the question you're answering (What's the trend? How do X and Y compare? What's the distribution? What drives Z? What's the composition?). Profile your data: type (categorical, numerical, temporal, geospatial), granularity (daily, user-level, aggregated), size (10 rows, 10K, 10M), dimensions (1D, 2D, multivariate). See [Question-Data Profiling](#question-data-profiling).
**Step 2: Select visualization type**
Match question type to chart family using [Chart Selection Guide](#chart-selection-guide). Consider data size (small → tables, medium → standard charts, large → heatmaps/binned), number of series (1-3 → standard, 4-10 → small multiples, 10+ → interactive/aggregated), and audience expertise (executives → simple with insights, analysts → detailed exploration).
**Step 3: Design effective chart**
For simple cases → Apply [Design Checklist](#design-checklist) (clear title, labeled axes, legend if needed, annotations, accessible colors). For complex cases (multivariate, dashboards, interactive) → Study [resources/methodology.md](resources/methodology.md) for advanced techniques (small multiples, layered charts, dashboard layout, interaction patterns).
**Step 4: Narrate insights and actions**
Lead with insight headline ("Revenue up 30% YoY driven by Enterprise segment"), annotate key patterns (arrows, labels, shading), provide context (vs benchmark, target, previous), interpret meaning ("Suggests product-market fit in Enterprise"), recommend actions ("Double down on Enterprise sales hiring"). See [Narrative Framework](#narrative-framework).
**Step 5: Validate and deliver**
Self-assess using [resources/evaluators/rubric_visualization_choice_reporting.json](resources/evaluators/rubric_visualization_choice_reporting.json). Check: Does chart answer the question clearly? Are insights obvious at a glance? Are next actions clear? Create `visualization-choice-reporting.md` with question, data summary, visualization spec, narrative, and actions. See [Delivery Format](#delivery-format).
---
## Question-Data Profiling
**Question Types → Chart Families**
| Question Type | Example | Primary Chart Families |
|---------------|---------|------------------------|
| **Trend** | How has X changed over time? | Line, area, sparkline, horizon |
| **Comparison** | How do categories compare? | Bar (horizontal for names), column, dot plot, slope chart |
| **Distribution** | What's the spread/frequency? | Histogram, box plot, violin, density plot |
| **Relationship** | How do X and Y relate? | Scatter, bubble, connected scatter, hexbin |
| **Composition** | What are the parts? | Treemap, pie/donut, stacked bar, waterfall, sankey |
| **Geographic** | Where is it happening? | Choropleth, bubble map, flow map, dot map |
| **Hierarchical** | What's the structure? | Tree, dendrogram, sunburst, circle packing |
| **Multivariate** | How do many variables interact? | Small multiples, parallel coordinates, heatmap, SPLOM |
**Data Type → Encoding Considerations**
- **Categorical** (product, region, status): Use position, color hue, shape. Bar length better than pie angle for accuracy.
- **Numerical** (revenue, count, score): Use position, length, size. Prefer linear scales; use log only when spanning orders of magnitude.
- **Temporal** (date, timestamp): Always use consistent intervals. Annotate events. Show seasonality if relevant.
- **Geospatial** (lat/lon, region): Use maps for absolute location; use tables/charts if geography not central to insight.
---
## Chart Selection Guide
| Question Type | Chart Types | When to Use |
|---------------|-------------|-------------|
| **Comparison** | Bar (horizontal), Column, Grouped bar, Dot plot, Slope chart | Categorical → Numerical. Horizontal bar for long names/ranking. Grouped for 2-3 metrics. Slope for before/after. |
| **Trend** | Line, Area, Sparkline, Step, Candlestick | Time → Numerical. Line for continuous trends. Area for cumulative/part-to-whole. Sparkline for inline. Step for discrete changes. |
| **Distribution** | Histogram, Box plot, Violin, Density plot | Numerical → Frequency. Histogram for shape/outliers. Box for quartiles across groups. Violin for full density. |
| **Relationship** | Scatter, Bubble, Hexbin, Connected scatter | Numerical X → Numerical Y. Scatter for correlation. Bubble for 3rd/4th variable (size/color). Hexbin for dense data. |
| **Composition** | Treemap, Pie/Donut, Stacked bar (100%), Waterfall, Sankey | Parts of whole. Treemap for hierarchy. Pie for 2-5 categories (part-to-whole key). Waterfall for cumulative. Sankey for flow. |
| **Geographic** | Choropleth, Bubble map, Flow map | Spatial patterns. Choropleth for regions. Bubble for precise locations. Flow for origin-destination. |
| **Multivariate** | Small multiples, Heatmap, Parallel coordinates | Many variables. Small multiples for consistent comparison. Heatmap for matrix (time×day). Parallel for dimensions. |
---
## Design Checklist
**Essential Elements**
- [ ] **Insight headline title:** Not "Revenue by Month" but "Revenue Up 30% YoY, Driven by Enterprise"
- [ ] **Clear axis labels with units:** "Revenue ($M)", "Month (2024)", not just "Revenue", "Date"
- [ ] **Legend if multiple series:** Position near chart, use direct labels on lines when possible
- [ ] **Annotations for key points:** Arrows, labels, shading for important events/patterns
- [ ] **Source and timestamp:** "Source: Analytics DB, as of 2024-11-14" builds trust
**Perceptual Best Practices**
- [ ] **Start Y-axis at zero for bar/column charts** (to avoid exaggerating differences)
- [ ] **Use position over angle/area** (bar > pie for accuracy, scatter > bubble when size isn't critical)
- [ ] **Colorblind-safe palette:** Avoid red-green only; use blue-orange or add patterns
- [ ] **Limit colors to 5-7 distinct hues** (more requires legend lookup, slows comprehension)
- [ ] **Use pre-attentive attributes** (color, size, position) to highlight signal, not decoration
**Declutter**
- [ ] **Remove chart junk:** No 3D, no gradients, no heavy gridlines, no background images
- [ ] **Mute non-data ink:** Light gray gridlines, thin axes, subtle colors for reference lines
- [ ] **Use white space:** Don't cram; let data breathe
**Accessibility**
- [ ] **Alt text describing insight:** "Line chart showing revenue grew from $2M to $2.6M (30% increase) from Q1 to Q4 2024, with Enterprise segment contributing 80% of growth."
- [ ] **Sufficient contrast:** Text readable, lines distinguishable
- [ ] **Patterns in addition to color** for critical distinctions (dashed/solid lines, hatched fills)
---
## Narrative Framework
**Structure: Headline → Pattern → Context → Meaning → Action**
**1. Headline (one sentence, insight-first):**
- Not: "This chart shows monthly revenue."
- **But:** "Revenue grew 30% YoY, driven by Enterprise segment."
**2. Pattern (what do you see?):**
- "Q1-Q2 flat at $2M/month, then steady climb to $2.6M in Q4."
- "Enterprise segment grew 120% while SMB declined 10%."
**3. Context (compared to what?):**
- "vs target: 15% above plan"
- "vs last year: Q4 2023 was $2.0M, now $2.6M"
- "vs industry: Our 30% growth vs 10% industry average"
**4. Meaning (why does it matter?):**
- "Suggests product-market fit in Enterprise; SMB churn indicates pricing mismatch."
- "If sustained, Q1 2025 could hit $3M/month."
**5. Action (what should we do?):**
- "Prioritize: Hire 2 Enterprise AEs, launch SMB annual plans to reduce churn."
- "Monitor: Enterprise win rate, SMB churn by plan type."
**Example Full Narrative:**
> **Headline:** Enterprise revenue up 120% YoY while SMB dRelated in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.