@booklib/skills 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +105 -0
  3. package/animation-at-work/SKILL.md +246 -0
  4. package/animation-at-work/assets/example_asset.txt +1 -0
  5. package/animation-at-work/references/api_reference.md +369 -0
  6. package/animation-at-work/references/review-checklist.md +79 -0
  7. package/animation-at-work/scripts/example.py +1 -0
  8. package/bin/skills.js +85 -0
  9. package/clean-code-reviewer/SKILL.md +292 -0
  10. package/clean-code-reviewer/evals/evals.json +67 -0
  11. package/data-intensive-patterns/SKILL.md +204 -0
  12. package/data-intensive-patterns/assets/example_asset.txt +1 -0
  13. package/data-intensive-patterns/references/api_reference.md +34 -0
  14. package/data-intensive-patterns/references/patterns-catalog.md +551 -0
  15. package/data-intensive-patterns/references/review-checklist.md +193 -0
  16. package/data-intensive-patterns/scripts/example.py +1 -0
  17. package/data-pipelines/SKILL.md +252 -0
  18. package/data-pipelines/assets/example_asset.txt +1 -0
  19. package/data-pipelines/references/api_reference.md +301 -0
  20. package/data-pipelines/references/review-checklist.md +181 -0
  21. package/data-pipelines/scripts/example.py +1 -0
  22. package/design-patterns/SKILL.md +245 -0
  23. package/design-patterns/assets/example_asset.txt +1 -0
  24. package/design-patterns/references/api_reference.md +1 -0
  25. package/design-patterns/references/patterns-catalog.md +726 -0
  26. package/design-patterns/references/review-checklist.md +173 -0
  27. package/design-patterns/scripts/example.py +1 -0
  28. package/domain-driven-design/SKILL.md +221 -0
  29. package/domain-driven-design/assets/example_asset.txt +1 -0
  30. package/domain-driven-design/references/api_reference.md +1 -0
  31. package/domain-driven-design/references/patterns-catalog.md +545 -0
  32. package/domain-driven-design/references/review-checklist.md +158 -0
  33. package/domain-driven-design/scripts/example.py +1 -0
  34. package/effective-java/SKILL.md +195 -0
  35. package/effective-java/assets/example_asset.txt +1 -0
  36. package/effective-java/references/api_reference.md +1 -0
  37. package/effective-java/references/items-catalog.md +955 -0
  38. package/effective-java/references/review-checklist.md +216 -0
  39. package/effective-java/scripts/example.py +1 -0
  40. package/effective-kotlin/SKILL.md +225 -0
  41. package/effective-kotlin/assets/example_asset.txt +1 -0
  42. package/effective-kotlin/references/api_reference.md +1 -0
  43. package/effective-kotlin/references/practices-catalog.md +1228 -0
  44. package/effective-kotlin/references/review-checklist.md +126 -0
  45. package/effective-kotlin/scripts/example.py +1 -0
  46. package/kotlin-in-action/SKILL.md +251 -0
  47. package/kotlin-in-action/assets/example_asset.txt +1 -0
  48. package/kotlin-in-action/references/api_reference.md +1 -0
  49. package/kotlin-in-action/references/practices-catalog.md +436 -0
  50. package/kotlin-in-action/references/review-checklist.md +204 -0
  51. package/kotlin-in-action/scripts/example.py +1 -0
  52. package/lean-startup/SKILL.md +250 -0
  53. package/lean-startup/assets/example_asset.txt +1 -0
  54. package/lean-startup/references/api_reference.md +319 -0
  55. package/lean-startup/references/review-checklist.md +137 -0
  56. package/lean-startup/scripts/example.py +1 -0
  57. package/microservices-patterns/SKILL.md +179 -0
  58. package/microservices-patterns/references/patterns-catalog.md +391 -0
  59. package/microservices-patterns/references/review-checklist.md +169 -0
  60. package/package.json +17 -0
  61. package/refactoring-ui/SKILL.md +236 -0
  62. package/refactoring-ui/assets/example_asset.txt +1 -0
  63. package/refactoring-ui/references/api_reference.md +355 -0
  64. package/refactoring-ui/references/review-checklist.md +114 -0
  65. package/refactoring-ui/scripts/example.py +1 -0
  66. package/storytelling-with-data/SKILL.md +238 -0
  67. package/storytelling-with-data/assets/example_asset.txt +1 -0
  68. package/storytelling-with-data/references/api_reference.md +379 -0
  69. package/storytelling-with-data/references/review-checklist.md +111 -0
  70. package/storytelling-with-data/scripts/example.py +1 -0
  71. package/system-design-interview/SKILL.md +213 -0
  72. package/system-design-interview/assets/example_asset.txt +1 -0
  73. package/system-design-interview/references/api_reference.md +582 -0
  74. package/system-design-interview/references/review-checklist.md +201 -0
  75. package/system-design-interview/scripts/example.py +1 -0
  76. package/using-asyncio-python/SKILL.md +242 -0
  77. package/using-asyncio-python/assets/example_asset.txt +1 -0
  78. package/using-asyncio-python/references/api_reference.md +267 -0
  79. package/using-asyncio-python/references/review-checklist.md +149 -0
  80. package/using-asyncio-python/scripts/example.py +1 -0
  81. package/web-scraping-python/SKILL.md +259 -0
  82. package/web-scraping-python/assets/example_asset.txt +1 -0
  83. package/web-scraping-python/references/api_reference.md +393 -0
  84. package/web-scraping-python/references/review-checklist.md +163 -0
  85. package/web-scraping-python/scripts/example.py +1 -0
@@ -0,0 +1,379 @@
1
+ # Storytelling with Data — Frameworks & Visual Reference
2
+
3
+ Complete catalog of chart types, principles, frameworks, and techniques
4
+ from all 10 chapters of *Storytelling with Data* by Cole Nussbaumer Knaflic.
5
+
6
+ ---
7
+
8
+ ## Ch 1: The Importance of Context
9
+
10
+ ### The Who/What/How Framework
11
+
12
+ Before creating any visualization:
13
+
14
+ | Question | Details |
15
+ |----------|---------|
16
+ | **Who** | Your audience — their knowledge level, relationship to you, motivations, potential resistance |
17
+ | **What** | The action you want them to take — be specific (approve budget, change process, investigate further) |
18
+ | **How** | The delivery mechanism — live presentation, printed report, email, interactive dashboard |
19
+
20
+ ### Exploratory vs. Explanatory Analysis
21
+
22
+ | Type | Purpose | Audience | Analogy |
23
+ |------|---------|----------|---------|
24
+ | **Exploratory** | Find insights in data | Yourself/team | Hunting for pearls in oysters |
25
+ | **Explanatory** | Communicate a specific insight | Decision-makers | Presenting the pearl on a necklace |
26
+
27
+ Most data visualization effort should go to explanatory — you've already done the exploring.
28
+
29
+ ### The 3-Minute Story
30
+ Distill your entire analysis into what someone would tell a colleague in 3 minutes at the coffee machine. If you can't do this, your message isn't focused enough.
31
+
32
+ ### The Big Idea
33
+ A single sentence that:
34
+ 1. Articulates your unique point of view
35
+ 2. Conveys what's at stake (why should they care?)
36
+ 3. Is a complete sentence (not a topic or category)
37
+
38
+ **Template**: "[Observation about the data] — [what the audience should do about it]"
39
+
40
+ **Example**: "Customer churn increased 15% in Q3 driven by pricing complaints — we should pilot a loyalty discount for at-risk segments before Q4."
41
+
42
+ ### Storyboarding
43
+ - Use sticky notes or paper before opening any tool
44
+ - One idea per sticky note
45
+ - Arrange, rearrange, discard until the narrative flows
46
+ - This prevents wasted effort building the wrong charts
47
+
48
+ ---
49
+
50
+ ## Ch 2: Choosing an Effective Visual
51
+
52
+ ### Chart Type Decision Guide
53
+
54
+ #### Simple Text
55
+ - **Use when**: 1–2 numbers are the entire message
56
+ - **How**: Display the number prominently with brief context
57
+ - **Example**: "25% increase" in large font with "vs. prior year" as subtitle
58
+ - **Avoid**: Putting a single number in a chart (pie chart showing 25% vs 75%)
59
+
60
+ #### Tables
61
+ - **Use when**: Audience needs to look up specific values; mixed units; precise comparison
62
+ - **How**: Light or no borders; left-align text, right-align numbers; use heatmap coloring for patterns
63
+ - **Enhance**: Heatmap shading (color intensity) to make tables visual
64
+ - **Avoid**: Using tables in live presentations (too slow to process)
65
+
66
+ #### Line Charts
67
+ - **Use when**: Showing change over continuous time (months, quarters, years)
68
+ - **How**: Time on x-axis; one or multiple series; label directly (not in legend)
69
+ - **Rules**: Don't have to start at zero; can use different scales for multiple charts (but NOT dual y-axis)
70
+ - **Avoid**: More than 4–5 series (gets cluttered); connecting categorical data with lines
71
+
72
+ #### Slopegraphs
73
+ - **Use when**: Comparing values or ranks at exactly 2 time points
74
+ - **How**: Two vertical axes; lines connecting each item's values; label at both ends
75
+ - **Shows**: Direction of change, magnitude, and rank shifts simultaneously
76
+ - **Avoid**: More than 2 time points; too many items (>10–15)
77
+
78
+ #### Bar Charts (Vertical)
79
+ - **Use when**: Categorical comparison; time series with discrete periods
80
+ - **How**: Categories on x-axis; values on y-axis
81
+ - **Rules**: MUST start at zero; consistent bar width; space ≈ half bar width
82
+ - **Avoid**: More than ~12 bars; long category labels (use horizontal instead)
83
+
84
+ #### Bar Charts (Horizontal)
85
+ - **Use when**: Long category labels; many categories; ranking
86
+ - **How**: Categories on y-axis; values on x-axis; order by value (descending, top to bottom)
87
+ - **Rules**: MUST start at zero; single color or strategic color highlighting
88
+ - **Best practice**: Default to horizontal bars — they're almost always more readable than vertical
89
+
90
+ #### Stacked Bar Charts
91
+ - **Use when**: Showing composition (parts of a whole) across categories
92
+ - **How**: Segments stacked; consistent ordering of segments
93
+ - **Limitation**: Only the bottom segment has a common baseline; other segments are hard to compare
94
+ - **Alternative**: Consider multiple small bar charts or a 100% stacked bar for proportions only
95
+
96
+ #### Waterfall Charts
97
+ - **Use when**: Showing how components add/subtract to reach a total
98
+ - **How**: Starting value → incremental additions/subtractions → final total
99
+ - **Example**: Revenue → costs → profit; beginning balance → changes → ending balance
100
+
101
+ #### Scatterplots
102
+ - **Use when**: Showing relationship between 2 quantitative variables
103
+ - **How**: One variable per axis; each data point is a dot
104
+ - **Enhance**: Add trend line, color-code by category, size by third variable (bubble chart)
105
+ - **Avoid**: Too many points without visual grouping; missing axis labels
106
+
107
+ ### Charts to AVOID
108
+
109
+ | Chart Type | Problem | Better Alternative |
110
+ |------------|---------|-------------------|
111
+ | **Pie chart** | Humans can't accurately compare angles/areas | Horizontal bar chart |
112
+ | **Donut chart** | Same as pie, plus hollow center wastes space | Horizontal bar chart |
113
+ | **3D chart** | Distorts perception; adds no information | 2D version of the same chart |
114
+ | **Secondary y-axis** | Readers can't tell which axis applies to which data | Two separate charts |
115
+ | **Area chart** | Filled area rarely adds meaning; can obscure data | Line chart (unless volume matters) |
116
+
117
+ ---
118
+
119
+ ## Ch 3: Clutter is Your Enemy
120
+
121
+ ### Cognitive Load
122
+ Every element on a chart consumes processing power. The goal is to minimize extraneous cognitive load so the audience can focus on the message.
123
+
124
+ ### Gestalt Principles of Visual Perception
125
+
126
+ | Principle | Definition | Application in Data Viz |
127
+ |-----------|-----------|------------------------|
128
+ | **Proximity** | Items near each other appear grouped | Space related data points closer; separate unrelated groups |
129
+ | **Similarity** | Items that look alike appear related | Use same color for same category; same shape for same type |
130
+ | **Enclosure** | Items within a boundary appear grouped | Use light background shading to group related chart areas |
131
+ | **Closure** | Mind fills in gaps to complete shapes | You don't need full borders; partial borders/gridlines suffice |
132
+ | **Continuity** | Eyes follow smooth lines/paths | Align elements; use consistent axis progression |
133
+ | **Connection** | Physically connected items appear related | Lines connecting data points (line chart); connecting annotations |
134
+
135
+ ### Elements to Eliminate or Reduce
136
+
137
+ | Element | Action |
138
+ |---------|--------|
139
+ | Chart border/outline | Remove entirely |
140
+ | Gridlines | Remove or make very light grey (e.g., `#E0E0E0`) |
141
+ | Data markers on lines | Remove (unless sparse data) |
142
+ | Axis tick marks | Remove or minimize |
143
+ | Axis lines | Keep only if needed; often gridlines or data placement suffices |
144
+ | Bold axis labels | Reduce to regular weight |
145
+ | Legend | Replace with direct labels on data |
146
+ | Redundant axis title | Remove if axis labels are self-explanatory |
147
+ | Background color | Use white or very light neutral |
148
+ | Decimal precision | Round to meaningful precision (2 decimals rarely needed) |
149
+
150
+ ### Data-Ink Ratio
151
+ Coined by Edward Tufte: the proportion of a graphic's ink devoted to displaying data vs. non-data elements. Maximize this ratio by removing non-data ink.
152
+
153
+ ### White Space
154
+ - Not "empty" — it's strategic
155
+ - Creates visual breathing room
156
+ - Signals grouping through proximity
157
+ - Resist the urge to fill every pixel
158
+
159
+ ---
160
+
161
+ ## Ch 4: Focus Your Audience's Attention
162
+
163
+ ### Memory Types in Data Viz
164
+
165
+ | Type | Duration | Capacity | Relevance |
166
+ |------|----------|----------|-----------|
167
+ | **Iconic memory** | <1 second | Large | Preattentive attributes are processed here |
168
+ | **Short-term memory** | ~30 seconds | 3–7 items | Limit chart elements to what fits in working memory |
169
+ | **Long-term memory** | Indefinite | Huge | Leverage schemas/patterns audience already knows |
170
+
171
+ ### Preattentive Attributes Catalog
172
+
173
+ Attributes processed by the visual system in <500 milliseconds, before conscious attention:
174
+
175
+ **For text emphasis**:
176
+ | Attribute | How to Apply |
177
+ |-----------|-------------|
178
+ | **Bold** | Key words, takeaway text, important labels |
179
+ | **Italic** | Secondary emphasis, annotations, source notes |
180
+ | **UPPERCASE** | Short labels only (hard to read in long strings) |
181
+ | **Size** | Larger for headlines/key numbers; smaller for supporting text |
182
+ | **Color** | Single accent color on key text against grey/black body |
183
+
184
+ **For data emphasis**:
185
+ | Attribute | How to Apply |
186
+ |-----------|-------------|
187
+ | **Color/hue** | Highlight 1 series/bar in color; grey out the rest |
188
+ | **Intensity/saturation** | Brighter = more attention; muted = background |
189
+ | **Size** | Larger data markers, thicker lines for emphasis |
190
+ | **Enclosure** | Box, circle, or shaded region around key area |
191
+ | **Position** | First position (top of bar chart, leftmost) gets most attention |
192
+ | **Line width** | Thicker line for key series; thinner for context series |
193
+ | **Added marks** | Arrows, reference lines, callout boxes |
194
+
195
+ ### Color Strategy
196
+
197
+ **The Grey-First Approach**:
198
+ 1. Start with everything in grey
199
+ 2. Identify the ONE thing you want the audience to see
200
+ 3. Apply color ONLY to that element
201
+ 4. Use a single accent color (or at most 2)
202
+
203
+ **Color rules**:
204
+ - Grey is your default — not a boring choice, a strategic one
205
+ - Brand colors: use sparingly as accents, not for every data series
206
+ - Warm colors (red, orange) advance; cool colors (blue, green) recede
207
+ - Never use color as the only means of conveying information
208
+ - Consistent meaning: once blue = "our product", keep it blue everywhere
209
+
210
+ ### The "Where Are Your Eyes Drawn?" Test
211
+ After creating any visual:
212
+ 1. Step back (or squint)
213
+ 2. Where do your eyes go first?
214
+ 3. Is that the most important element?
215
+ 4. If not, adjust color, size, or position until it is
216
+
217
+ ---
218
+
219
+ ## Ch 5: Think Like a Designer
220
+
221
+ ### Core Design Principles for Data Viz
222
+
223
+ | Principle | Application |
224
+ |-----------|------------|
225
+ | **Affordances** | Clickable things should look clickable; readable things should look readable |
226
+ | **Accessibility** | Don't rely on color alone; use labels, patterns, shapes as backup |
227
+ | **Aesthetics** | Well-designed visuals are perceived as easier to use and more credible |
228
+ | **Form follows function** | Choose design that serves the data; never sacrifice clarity for beauty |
229
+
230
+ ### Text Alignment
231
+ - **Left-align** all text by default (including chart titles, axis labels, annotations)
232
+ - Center alignment is harder to read for anything beyond 1–2 lines
233
+ - Right-align numbers in columns so decimal points line up
234
+
235
+ ### White Space / Negative Space
236
+ - Margin around charts: don't let elements touch edges
237
+ - Breathing room between chart title and chart body
238
+ - Space between legend/annotations and data area
239
+ - White space is NOT wasted — it improves comprehension
240
+
241
+ ### Visual Hierarchy in Data Viz
242
+ 1. **Title/takeaway** — Most prominent (bold, larger, top of chart)
243
+ 2. **Data** — The actual bars/lines/points (the substance)
244
+ 3. **Annotations** — Call-outs explaining what to see
245
+ 4. **Axis labels** — Necessary but quiet
246
+ 5. **Source/footnotes** — Smallest, least prominent
247
+
248
+ ### Consistency Across a Presentation
249
+ - Same color = same meaning on every slide
250
+ - Same chart style/formatting throughout
251
+ - Same font, same font sizes
252
+ - Same axis formatting (if showing similar metrics)
253
+ - Consistency reduces cognitive load
254
+
255
+ ---
256
+
257
+ ## Ch 6: Model Visuals — Integration Examples
258
+
259
+ ### Before/After Transformation Process
260
+ The book provides detailed worked examples showing the full transformation:
261
+
262
+ 1. **Start with default chart** (Excel/Tableau output with all defaults)
263
+ 2. **Identify the message** (What is the Big Idea?)
264
+ 3. **Choose the right chart type** (Is the default appropriate?)
265
+ 4. **Declutter** (Remove borders, gridlines, markers, legends)
266
+ 5. **Focus attention** (Grey everything, add color to the story)
267
+ 6. **Add annotations** (Tell the audience what to see)
268
+ 7. **Add action title** (Replace generic title with takeaway statement)
269
+
270
+ ### Common Transformations
271
+
272
+ | From | To | Why |
273
+ |------|----|-----|
274
+ | Pie chart | Horizontal bar chart | Easier to compare values |
275
+ | Cluttered line chart | Clean line chart with 1 highlighted series | Focuses attention on the story |
276
+ | Rainbow bar chart | Grey bars with 1 highlighted in color | Draws eye to what matters |
277
+ | Generic title ("Sales by Region") | Action title ("Northeast sales declined 18% in Q3") | Tells the audience what to see |
278
+ | Legend in corner | Direct labels on data series | Reduces eye travel; faster comprehension |
279
+ | Dark/busy background | White/clean background | Reduces clutter; focuses on data |
280
+
281
+ ---
282
+
283
+ ## Ch 7: Lessons in Storytelling
284
+
285
+ ### Three-Act Narrative Structure for Data
286
+
287
+ | Act | Content | Data Viz Role |
288
+ |-----|---------|--------------|
289
+ | **Act 1: Setup** | Shared context; what the audience already knows | Background data; baseline metrics; "here's where we are" |
290
+ | **Act 2: Conflict** | What changed; the problem or opportunity; tension | Your key charts; the data that reveals the insight |
291
+ | **Act 3: Resolution** | What to do about it; the call to action | Recommendation; projected impact; next steps |
292
+
293
+ ### Horizontal Logic
294
+ - Read ONLY the slide titles in sequence
295
+ - They should tell a complete, compelling story without seeing any chart
296
+ - Each title should be an **action statement** (verb + insight), not a **label** (noun phrase)
297
+
298
+ | Bad Title (Label) | Good Title (Action) |
299
+ |-------------------|-------------------|
300
+ | "Q3 Revenue" | "Q3 revenue fell 12% as enterprise deals slipped" |
301
+ | "Customer Satisfaction" | "Satisfaction scores improved after the June product update" |
302
+ | "Regional Breakdown" | "Western region now accounts for 40% of new business" |
303
+
304
+ ### Vertical Logic
305
+ Within each slide/page:
306
+ - The title states the takeaway
307
+ - The chart/data supports that takeaway
308
+ - Annotations point to the evidence
309
+ - Nothing on the slide contradicts or distracts from the title
310
+
311
+ ### Reverse Storyboarding
312
+ After completing a presentation:
313
+ 1. Extract all slide titles into a list
314
+ 2. Read them in order
315
+ 3. Do they tell a coherent, compelling story?
316
+ 4. If not, restructure
317
+
318
+ ### The "So What?" Test
319
+ After presenting any data point or chart, ask: "So what?" The answer should be:
320
+ - Stated as an annotation on the chart
321
+ - Reflected in the slide title
322
+ - Connected to the call to action
323
+
324
+ ### Repetition in Data Storytelling
325
+ - State the Big Idea early
326
+ - Support it with data in the middle
327
+ - Restate it at the end
328
+ - Don't be afraid to repeat — audiences need it more than you think
329
+
330
+ ---
331
+
332
+ ## Ch 8: Pulling It All Together
333
+
334
+ ### Complete Workflow Checklist
335
+
336
+ 1. **Context** — Who is my audience? What action do I want? How will I deliver?
337
+ 2. **Big Idea** — Can I state my message in one sentence?
338
+ 3. **Storyboard** — Have I planned the narrative flow before building?
339
+ 4. **Chart type** — Is this the right visual for this data?
340
+ 5. **Declutter** — Have I removed everything non-essential?
341
+ 6. **Focus** — Is color used sparingly and strategically?
342
+ 7. **Design** — Is it aligned, consistent, accessible?
343
+ 8. **Annotate** — Have I told the audience what to see?
344
+ 9. **Title** — Does each title state a takeaway, not a label?
345
+ 10. **Story** — Does the horizontal logic tell a complete narrative?
346
+
347
+ ---
348
+
349
+ ## Ch 9: Case Studies — Key Patterns
350
+
351
+ ### Transformation Patterns Observed
352
+
353
+ | Pattern | Technique |
354
+ |---------|-----------|
355
+ | **Dark to light** | Replace dark/colored backgrounds with white |
356
+ | **Rainbow to grey+accent** | Replace multi-color palettes with grey + 1 highlight color |
357
+ | **Legend to direct labels** | Remove legend box; label series directly on the chart |
358
+ | **Default to decluttered** | Remove borders, gridlines, markers, unnecessary text |
359
+ | **Label title to action title** | Replace "Sales by Quarter" with "Sales declined 15% in Q4" |
360
+ | **Chart dump to narrative** | Arrange charts in story order with connecting text |
361
+ | **Table to visual** | Convert data tables into bar charts or line charts for presentations |
362
+
363
+ ### Annotation Strategies
364
+ - **Callout boxes**: Semi-transparent background with text near the relevant data point
365
+ - **Arrows**: Point from annotation text to specific data point
366
+ - **Reference lines**: Horizontal/vertical lines showing targets, averages, or thresholds
367
+ - **Color + text**: Highlighted data point + nearby text explaining significance
368
+ - **Progressive reveal**: In presentations, show the chart first, then add annotations (builds)
369
+
370
+ ---
371
+
372
+ ## Ch 10: Final Thoughts
373
+
374
+ ### Practice Framework
375
+ - **Practice constantly** — Apply these lessons to every chart you make, even internal ones
376
+ - **Seek feedback** — Ask others "where are your eyes drawn?" and "what's the message?"
377
+ - **Study great examples** — Collect data visualizations that work and analyze why
378
+ - **Iterate** — First drafts are never final; refine through multiple passes
379
+ - **Be brave** — Simplifying feels risky ("What if they want more data?") but almost always improves communication
@@ -0,0 +1,111 @@
1
+ # Storytelling with Data — Visualization Review Checklist
2
+
3
+ Systematic checklist for reviewing data visualizations against the 6 lessons
4
+ from *Storytelling with Data* by Cole Nussbaumer Knaflic.
5
+
6
+ ---
7
+
8
+ ## 1. Context (Ch 1)
9
+
10
+ - [ ] **Ch 1 — Audience defined** — Is the target audience clearly identified?
11
+ - [ ] **Ch 1 — Action specified** — Is there a specific action the audience should take?
12
+ - [ ] **Ch 1 — Mechanism appropriate** — Is the delivery method (presentation, report, email, dashboard) suited to the message?
13
+ - [ ] **Ch 1 — Explanatory focus** — Is this communicating ONE insight, not exploring all the data?
14
+ - [ ] **Ch 1 — Big Idea articulated** — Can the message be stated in one sentence with a point of view and stakes?
15
+ - [ ] **Ch 1 — 3-Minute Story passes** — Could someone retell this in 3 minutes at a coffee machine?
16
+
17
+ ---
18
+
19
+ ## 2. Chart Type (Ch 2)
20
+
21
+ - [ ] **Ch 2 — Right visual chosen** — Does the chart type match the data relationship (time→line, categories→bar, relationship→scatter)?
22
+ - [ ] **Ch 2 — No pie/donut charts** — Are pie/donut charts avoided (use horizontal bar instead)?
23
+ - [ ] **Ch 2 — No 3D effects** — Are all charts flat 2D with no 3D distortion?
24
+ - [ ] **Ch 2 — No secondary y-axis** — Are dual y-axes avoided (use two separate charts)?
25
+ - [ ] **Ch 2 — Bar charts start at zero** — Do all bar charts have a zero baseline?
26
+ - [ ] **Ch 2 — Simple text for 1–2 numbers** — Are standalone metrics shown as large text, not charts?
27
+ - [ ] **Ch 2 — Tables for lookup only** — Are tables used only when precise values are needed, not in live presentations?
28
+ - [ ] **Ch 2 — Bars ordered meaningfully** — Are bar charts ordered by value (or natural order), not alphabetically?
29
+
30
+ ---
31
+
32
+ ## 3. Clutter (Ch 3)
33
+
34
+ - [ ] **Ch 3 — Chart borders removed** — Are unnecessary chart borders/outlines eliminated?
35
+ - [ ] **Ch 3 — Gridlines minimal** — Are gridlines removed or very light grey?
36
+ - [ ] **Ch 3 — Data markers removed** — Are unnecessary data markers on line charts eliminated?
37
+ - [ ] **Ch 3 — Axis cleaned** — Are unnecessary tick marks, axis lines, and axis titles removed?
38
+ - [ ] **Ch 3 — Direct labels used** — Are data series labeled directly rather than using a legend?
39
+ - [ ] **Ch 3 — Precision appropriate** — Are numbers rounded to meaningful precision (not excessive decimals)?
40
+ - [ ] **Ch 3 — Background clean** — Is the background white or very light neutral?
41
+ - [ ] **Ch 3 — White space present** — Is there adequate breathing room (not crammed)?
42
+ - [ ] **Ch 3 — Gestalt applied** — Is proximity, similarity, or enclosure used to show grouping?
43
+ - [ ] **Ch 3 — Data-ink ratio high** — Does most of the visual's "ink" represent data, not decoration?
44
+
45
+ ---
46
+
47
+ ## 4. Attention (Ch 4)
48
+
49
+ - [ ] **Ch 4 — Color used sparingly** — Is color limited to 1–2 accent colors (not rainbow)?
50
+ - [ ] **Ch 4 — Grey-first approach** — Is most data grey with only the key story highlighted in color?
51
+ - [ ] **Ch 4 — Eyes drawn correctly** — Does the "where are your eyes drawn?" test pass?
52
+ - [ ] **Ch 4 — Preattentive attributes used** — Are size, color, bold, or position used to guide attention?
53
+ - [ ] **Ch 4 — Color consistent** — Does the same color mean the same thing across all visuals?
54
+ - [ ] **Ch 4 — Color not sole indicator** — Is information available without relying on color alone (accessibility)?
55
+ - [ ] **Ch 4 — Annotations present** — Are key data points annotated with text explaining significance?
56
+
57
+ ---
58
+
59
+ ## 5. Design (Ch 5)
60
+
61
+ - [ ] **Ch 5 — Text left-aligned** — Is text left-aligned (not centered) for readability?
62
+ - [ ] **Ch 5 — Numbers right-aligned** — Are numbers in tables/columns right-aligned?
63
+ - [ ] **Ch 5 — Visual hierarchy clear** — Is the title/takeaway most prominent, then data, then supporting elements?
64
+ - [ ] **Ch 5 — Alignment clean** — Are chart elements aligned on a consistent grid?
65
+ - [ ] **Ch 5 — White space deliberate** — Are margins and padding used intentionally?
66
+ - [ ] **Ch 5 — Consistency maintained** — Are colors, fonts, and chart styles consistent across all visuals?
67
+ - [ ] **Ch 5 — Aesthetics polished** — Does the visual look professional and credible?
68
+ - [ ] **Ch 5 — Accessible** — Is the visual readable for color-blind users and in black-and-white?
69
+
70
+ ---
71
+
72
+ ## 6. Story (Ch 7)
73
+
74
+ - [ ] **Ch 7 — Action title used** — Does each chart title state a takeaway (not a label)?
75
+ - [ ] **Ch 7 — Horizontal logic works** — Do the slide/section titles alone tell a complete story?
76
+ - [ ] **Ch 7 — Vertical logic works** — Does everything on each slide/page support its title?
77
+ - [ ] **Ch 7 — Three-act structure** — Is there a clear setup → conflict → resolution arc?
78
+ - [ ] **Ch 7 — Call to action present** — Does the presentation end with a specific, actionable recommendation?
79
+ - [ ] **Ch 7 — "So what?" answered** — Is the significance of each data point explained?
80
+ - [ ] **Ch 7 — Big Idea repeated** — Is the core message stated at the beginning, reinforced in the middle, and restated at the end?
81
+ - [ ] **Ch 7 — Narrative flow logical** — Does the sequence of visuals build a coherent argument?
82
+
83
+ ---
84
+
85
+ ## Quick Review Workflow
86
+
87
+ 1. **Context pass** — Is the audience, action, and Big Idea clear?
88
+ 2. **Chart type pass** — Is each visual the right type for the data? Any pie charts or 3D?
89
+ 3. **Clutter pass** — What can be removed? Borders, gridlines, markers, legend, decorations?
90
+ 4. **Attention pass** — Squint test: where do your eyes go? Is that the right place?
91
+ 5. **Design pass** — Alignment, white space, consistency, hierarchy all clean?
92
+ 6. **Story pass** — Read only the titles: do they tell a compelling, complete narrative?
93
+ 7. **Prioritize findings** — Context > Chart Type > Attention > Clutter > Story > Design polish
94
+
95
+ ## Title Quality Check
96
+
97
+ | Title Type | Example | Quality |
98
+ |-----------|---------|---------|
99
+ | **No title** | (blank) | Unacceptable |
100
+ | **Label title** | "Q3 Revenue by Region" | Poor — describes but doesn't inform |
101
+ | **Observation title** | "Q3 revenue varied across regions" | Mediocre — vague observation |
102
+ | **Action title** | "Northeast Q3 revenue dropped 18% — investigate staffing gaps" | Excellent — takeaway + implication |
103
+
104
+ ## Severity Levels
105
+
106
+ | Severity | Description | Example |
107
+ |----------|-------------|---------|
108
+ | **Critical** | Misleading or unreadable | Wrong chart type distorting data; bar chart not starting at zero; unreadable text; no title |
109
+ | **High** | Missing context or wrong focus | No Big Idea; rainbow colors with no focal point; no annotations; legend instead of direct labels |
110
+ | **Medium** | Clutter or inconsistency | Unnecessary gridlines/borders; inconsistent colors; excessive decimals; cluttered default styling |
111
+ | **Low** | Polish or narrative | Label title instead of action title; minor alignment issues; missing white space; weak narrative flow |