agents/data-story/SKILL.md
Write data findings as a compelling narrative story, Malcolm Gladwell prose, NYT graphics-team visuals, engaging & memorable even for a non-technical audience.
npx skillsauth add sanand0/scripts data-storyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write like Malcolm Gladwell. Visualize like the NYT graphics team. Think like a detective who must defend every finding under scrutiny.
The goal: a story so well-constructed that readers feel the insight before they understand it — and remember it long after.
Never open with a chart or a statistic. Open with a person, a tension, or a mystery — something that makes someone who wasn't planning to read this stop and keep reading.
A strong move is self-reference: "Imagine you're the customer who just churned" activates simulation in a way third-person never can. Cast abstract forces as agents with goals. Archetypes beat famililar/famous names (less baggage, more projection) for learning, but familiar names are memorable.
❌ "This report analyzes regional sales performance across Q3." ✅ "In September, one sales rep in Omaha quietly closed more deals than the entire West Coast team. Nobody had noticed."
Build through discovery, not declaration. Resist the urge to front-load conclusions — the journey earns the finding. Keep your main beats to ≤4 — the brain chunks before it comprehends, and working memory holds roughly four things.
⚠️ The tale trap: a well-structured story feels like understanding even when the causal model is wrong. Sequential narrative implies causation automatically. Name the mechanism explicitly — don't let order do the work evidence should do.
Charts and maps should be revelatory, not decorative — placed in the moment of revelation, not at the end.
Chart choices that serve narrative: anomalies → scatter plots with annotation; change over time → line charts with event markers; geography → choropleth or dot maps; composition surprises → treemaps or stacked bars with callouts; hidden subgroups → small multiples or ridgeline plots.
Use tooltips, popups, interactions, and animations as informative and engaging aids when appropriate.
Tooltips are for:
Popups are for:
Interactions may include:
Animated SVGs are for:
prefers-reducted-motion.Abstract patterns become real through specific cases. For every major finding, find the one example that makes it tangible — the person, company, or place that best embodies the pattern, or the before/after that shows the mechanism.
Stack anchors in a single sentence rather than scattering them: "Imagine you're standing at the top of the funnel watching 7 in 10 customers quietly disappear before they ever see a price" gives you self-reference + spatial position + scale in one beat.
Plan the fade: start concrete, then introduce the formal abstraction. The metaphor is a bridge, not a destination — explicitly flag where it stops holding: "Think of it like a leaky bucket — though unlike buckets, the leak rate changes with customer tenure."
Statistics should flow within the prose, not interrupt it:
Surprising findings need staging. Slow down at the moment of revelation — give it a short paragraph, let it land.
Embed implications in the narrative flow — don't save them for a bullet list at the end. Be specific: "This suggests reallocating onboarding resources to the first 72 hours" beats "investment in early customer experience may be warranted." End on a forward-looking note — what changes, what gets investigated, what gets tried.
Acknowledge limitations without undermining the story. The detective doesn't refuse to name a suspect because the case isn't perfect — they state their confidence level and move forward.
Active voice. Present tense. Rhythm encodes — parallel structure, alliteration, and consistent beat make key phrases stick long after the data is forgotten. Read every paragraph aloud; if you stumble, rewrite it.
The test: would a smart, busy person who didn't ask for this read it to the end? If not, the hook isn't strong enough, the arc isn't clear, or the "so what" isn't earned.
documentation
To write in Anand's style in blog posts, talk summaries, interview questions, emails, ...
testing
Use vitest + jsdom for fast, lightweight unit tests for front-end apps
data-ai
Vector art assets (characters, objects, scenes) sources for SVG/Canvas and how to animate them
tools
Tips on using uv and uvx (Python build tools) effectively with GitHub, Torch, etc.