Data storytelling
Skill fabioc-aloha/Alex_Skill_Mall/plugins/data-analytics/data-storytelling
284 curated plugins for AI assistants across 16 categories: security, Azure, documentation, code quality, cloud infrastructure, and more. Works with GitHub Copilot. Drop into .github/skills/local/ and go.
npx -y skills add fabioc-aloha/Alex_Skill_Mall --skill data-storytellingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
End-to-end data narrative construction -- three-act structure, Knaflic/Duarte methodology, audience-first framing, and orchestration across analysis, visualization, and dashboard skills
SKILL.md
8.9 KB, as published. Nobody here has run it
Data Storytelling
| Property | Value |
|---|---|
| Domain | Data Analytics |
| Category | Narrative & Orchestration |
| Components | SKILL.md + data-storytelling.instructions.md + datastory.prompt.md |
| Depends | data-analysis (findings), data-visualization (charts), dashboard-design (layout) |
Overview
This is the orchestrator skill. It transforms raw data into a complete, coherent narrative by activating analysis, visualization, and dashboard skills in sequence. The output is a self-contained artifact -- typically an HTML dashboard or scrollable report -- where every chart, annotation, and KPI serves the story.
The cardinal rule: data stories have arguments, not just observations. A collection of charts with captions is a report. A data story says "here's what happened, here's why it matters, and here's what we should do."
Module 1: Three-Act Data Structure
Every data story follows this arc:
| Act | Purpose | Content |
|---|---|---|
| Setup | Establish context and baseline | Who, what, when, where + "here's how things were" |
| Conflict | Reveal the surprise, problem, or gap | "But then this happened" / "X is not what we expected" |
| Resolution | Deliver insight and recommendation | "This means X, and we should do Y" |
Act Mapping to Dashboard Components
| Act | Dashboard Element |
|---|---|
| Setup | KPI cards showing baseline stats |
| Conflict | Hero chart revealing the anomaly |
| Resolution | Supporting charts + annotated insight |
Module 2: Audience-First Framing
Before choosing a single chart, identify who will read this and what decision it supports.
| Audience | Time Budget | What They Need | Artifact Style |
|---|---|---|---|
| Executive | 30 seconds | Headline + action recommendation | KPI dashboard, 5-Visual |
| Manager | 2 minutes | Context + options + trade-offs | Dashboard with filters |
| Analyst | Unlimited | Full data + methodology + caveats | Detailed report with drill |
| General | 1 minute | Simple story, familiar visuals | Scroll narrative, annotated |
Module 3: Knaflic Method ("Storytelling with Data")
The 5-step framework from Cole Nussbaumer Knaflic:
| Step | Action |
|---|---|
| 1. Understand context | Who is the audience? What do they need to do? |
| 2. Choose an effective visual | Story intent → chart type (SKILL cross-ref) |
| 3. Eliminate clutter | Remove everything that isn't data or supporting story |
| 4. Focus attention | Use color, size, position to direct the eye |
| 5. Tell a story | Connect visuals with narrative text |
Module 4: Duarte Contrast ("What Is" vs. "What Could Be")
Nancy Duarte's tension pattern drives engagement:
What Is: "Today, we process 500 support tickets per day"
What Could Be: "With the new model, we could process 2000 with the same team"
What Is: "Current SLA breach rate is 12%"
What Could Be: "Top performers achieve 3% -- the gap is process, not people"
Use this pattern when the story needs to motivate action, not just inform.
Module 5: Big Idea Worksheet
Force the story into one sentence before building anything:
[Subject/audience] should [action/decision]
because [evidence from data].
Examples:
- "The exec team should double Q4 marketing spend because every $1 of email marketing generates $3.20 in pipeline"
- "Engineering should prioritize Region B support because resolution time is 2.5x the company average"
If you can't write the Big Idea sentence, the analysis isn't done yet.
Module 6: Explanatory vs. Exploratory
| Mode | You Know the Story? | Goal | Output |
|---|---|---|---|
| Explanatory | Yes | Guide viewer to a conclusion | Annotated dashboard/report |
| Exploratory | No (yet) | Let viewer discover patterns | Interactive dashboard |
Default to explanatory for executives and general audiences. Use exploratory for analysts.
Module 7: Annotation as Narration
Annotations carry the argument. The chart is evidence; the annotation is the lawyer.
| Annotation Type | Purpose | Example |
|---|---|---|
| Title | State the insight (not the metric) | "Revenue grew 34% but growth is slowing" |
| Subtitle | Provide context | "Quarterly actuals, FY2024-FY2025" |
| Callout | Highlight the key data point | Arrow + "Q3 peak: $4.2M" |
| Caption | Add nuance below the chart | "Note: Q1 2025 includes one-time adjustment" |
| Footnote | Source, methodology, caveats | "Source: Internal CRM, excludes returns" |
Module 8: Orchestration Protocol
When /datastory is invoked, execute these phases in order:
Phase 0: Ingest
- Activate
data-ingest.cjs(or inline parse) - Output: clean columnar data + metadata
Phase 1: Discover
- Activate
data-analysisskill - Output: 3-5 insight statements with story intents
Phase 2: Visualize
- Activate
data-visualizationskill for each insight - Match story intent → chart type
- Output: chart specs with titles-as-insights
Phase 3: Arrange
- Activate
dashboard-designskill - Choose layout by audience
- Place KPIs, hero, supporting, table, drill-down
- Output: dashboard scaffold
Phase 4: Narrate
- Apply three-act structure
- Write Big Idea sentence
- Add annotations as narration
- Validate: top-to-bottom read tells the story
- Output: self-contained HTML with narrative
Module 9: Quality Checks
Before delivering the final output:
| Check | Pass Criteria |
|---|---|
| Big Idea exists | One sentence captures the entire story |
| Three-act present | Setup → Conflict → Resolution identifiable |
| Titles are insights | No chart titled "Revenue by Quarter" (must be a sentence) |
| Color consistency | Same category = same color across all visuals |
| Source attribution | Every chart cites its data source |
| Audience match | Executive gets 5 visuals, analyst gets drill-down |
| 3-second test | Each chart conveys its point in 3 seconds |
| Annotation coverage | Hero chart has at least 1 callout annotation |
| Data freshness | Date range stated; "as of" timestamp included |
Anti-Patterns
| Anti-Pattern | Problem | Fix |
|---|---|---|
| Chart collection | Charts exist but don't connect | Apply three-act structure |
| Data dump | Every metric shown "just in case" | Write Big Idea first, cut everything else |
| Insight-free annotations | "This is a bar chart showing revenue" | State what the data means, not what it is |
| Wrong audience depth | Analyst-level detail for C-suite | Match artifact to audience time budget |
| No recommendation | Story ends at "here's what happened" | Always include "so here's what we should do" |
| Over-designed | Fancy visuals, weak argument | Substance over aesthetics |