storytelling-with-data
Apply storytelling principles to create, review, and improve data visualisations and data-driven communications.
Skill by sammcj
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sammcj-storytelling-with-data
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, presentations, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/storytelling-with-data
What's inside
- Skill name
storytelling-with-data- Description
- Apply storytelling principles to create, review, and improve data visualisations and data-driven communications. Use when the message or story of a data communication (chart, dashboard, infographic, data-driven deck or report) needs structuring or review, or when structuring narrative arcs, hooks, or aha moments in data-driven communications.
- License
- Apache-2.0
- Instructions
- 241 lines in SKILL.md · view on GitHub
Files (7)
- README.md
- SKILL.md
- chart-selection.md · references/
- colour-and-emphasis.md · references/
- hooks-and-moments.md · references/
- narrative-frameworks.md · references/
- review-checklist.md · references/
SKILL.md (first lines)
# Storytelling with Data (SWD) Skill Apply the 6-lesson SWD framework from Cole Nussbaumer Knaflic for visual and design decisions, combined with narrative storytelling frameworks (Dykes, Duarte, Miller, Dicks, Cron, Heath) for structuring compelling stories that drive action. > **Format-agnostic by design**: This skill covers _what_ to communicate and _how_ to design it. Pair it with format-specific skills that handle output mechanics (e.g. pptx skill for slide decks, a web framework for dashboards). --- ## The SWD 6-Lesson Framework Every data communication task should be evaluated against these 6 lessons, applied in order: ### Lesson 1: Understand the Context Before touching any tool, answer three questions: 1. **WHO** is your audience? What do they care about? What's their relationship to you? What will motivate them? 2. **WHAT** do you need them to know or do? Define the single action or takeaway. 3. **HOW** will you communicate? Live presentation? Email? Dashboard? This changes everything about design. **Key techniques:** - **The 3-Minute Story**: Can you explain your entire message in 3 minutes? If not, you haven't distilled it enough. - **The Big Idea**: One sentence that articulates your unique point of view, what's at stake, and what you want the audience to do. Format: [situation] + [complication] → [recommended action]. - **Storyboard first**: Sketch your flow on sticky notes or paper before opening any tool. Rearrange freely. - **Exploratory ≠ Explanatory**: The audience sees only the _explanatory_ output - the curated insight, not the full analysis journey. Never dump exploratory analysis on your audience. **When reviewing existing work, ask:** - Is there a clear "so what?" on every chart, panel, or section? - Could the audience state the key message after a 3-second glance? - Is there a specific call to action? ### Lesson 2: Choose an Appropriate Visual Display Match the visual to the message. You can handle the vast majority of business communications with just a few chart types. **Read `references/chart-selection.md` for the detailed chart selection guide.** Quick decision framework: - **Comparison across categories** → Horizontal bar chart (default workhorse) - **Trend over time** → Line chart (continuous) or vertical bar chart (discrete periods) - **Part-to-whole** → Stacked bar or waterfall (NOT pie charts) - **Two data points comparison** → Slopegraph - **Single important number** → Simple text (the number itself, large, with context) - **Detailed lookup** → Table or heatmap **Charts to AVOID:** - Pie and doughnut charts (hard to compare areas/angles accurately) - 3D anything (adds clutter, distorts data, makes reading values harder) - Dual y-axes (confuse the audience about scale relationships) - Spaghetti graphs (too many overlapping lines - filter or use small multiples instead) ### Lesson 3: Eliminate Clutter Clutter is any visual element that takes up space without adding understanding. Every element increases **cognitive load** - the mental effort to process information. **Identify and remove:** - Chart borders and unnecessary outlines - Gridlines (reduce to light or remove entirely) - Data markers on every point (only mark what matters) - Redundant labels (if the axis says it, the data label doesn't need to) - Bold/italic/colour on everything (when everything is emphasised, nothing is) - Legends (can you label directly instead?) - Rotated text (hard to read - restructure the chart instead) - Decorative elements that don't encode data **Apply Gestalt Principles to structure what remains:** - **Proximity**: Group related items close together; separate unrelated ones - **Similarity**: Use consistent colours/shapes for items in the same category - **Enclosure**: Subtle backgrounds can group related content - **Closure**: Remove unnecessary borders - the eye fills in gaps - **Continuity**: Align elements so the eye flows naturally - **Connection**: Lines connecting points imply sequence or relationship **Decluttering process (step by step):** 1. Remove chart borders 2. Remove or lighten gridlines 3. Remove data markers (unless specific points need emphasis) 4. Clean up axis labels (round numbers, remove unnecessary precision) 5. Label data directly (eliminate legends where possible) 6. Use consistent, strategic colour ### Lesson 4: Focus Your Audience's Attention Use **preattentive attributes** - visual properties the brain processes before conscious thought - to guide the eye to what matters: - **Colour**: The most powerful tool. Use a single accent colour to highlight the key data; push everything else to grey. Never use colour decoratively. - **Size**: Larger elements draw attention first. Make the key number or data point bigger. - **Position**: Items at the top-left get seen first (in left-to-right reading cultures). Place the most important information there. - **Bold/weight**: Use sparingly on text to create hierarchy. Bold the key phrase, not the whole paragraph. **The Grey + One Colour rule**: Default everything to grey, then use ONE strategic accent colour to highlight the story. This is the single most impactful SWD technique. **Read `references/colour-and-emphasis.md` for the emphasis hierarchy and grey-plus-accent strategy.** This skill owns the message and emphasis strategy; for the visual rendering and colour system (validated palettes, mark specs) defer to the dataviz skill. **Memory matters:** - **Iconic memory** (~0.5 seconds): Preattentive attributes are processed here - that's why colour and size pop instantly - **Short-term memory** (~4 items): Don't overload a single view with too many competing elements - **Long-term memory**: Connect to what the audience already knows - use familiar chart types and conventions ### Lesson 5: Think Like a Designer Design serves the message. Apply these principles: - **Form follows function**: Every element earns its place by serving comprehension - **Affordances**: Make interactive elements look clickable; make important text look important - **Accessibility**: Would this work in greyscale? For colour-blind audiences? Without a narrator explaining it? - **Aesthetics build trust**: Clean, well-aligned visuals signal competence and credibility **Practical design rules:** - Use consistent alignment (create an invisible grid)
From sammcj/agentic-coding, Apache-2.0.
More from sammcj/agentic-coding
- 0.740score
release-debrief
Sam McLeod (adapted from Arjen Schwarz)
Summarises the delta between a tool's latest release and the last summary the user saw.
SkillBFreshness: B★ 167Claude Code - 0.732score
ambitious-model-use
sammcj
Use when the user asks to be more ambitious with an AI task: aim at the outcome behind it, work it like a field-leading expert from raw data, or bring in…
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
rewrite-slop
sammcj
Use when explicitly asked to review or rewrite AI-generated text or UI so it reads as human, or with phrasings like "de-slop", "humanise this", "make it sound…
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
ai-changelog
sammcj
Set up an AI-driven changelog system in any project, code or not.
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
extract-wisdom
sammcj
Extract wisdom, insights, and actionable takeaways from YouTube videos, blog posts, articles, or text files.
SkillAFreshness: A★ 167Claude Code - 0.729score
retro
sammcj
Retrospective on a coding session that proposes changes to the agent's environment (checks, pointers, steering, tooling) so the next run goes better.
SkillAFreshness: A★ 167Claude Code +9 - 0.728score
skill-creator-primer
sammcj
You **MUST** load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.
SkillAFreshness: A★ 167Claude Code +9 - 0.728score
deferred-task-execution
sammcj
Delays execution of a task until a specified time or after a duration.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
prompt-enhancer
sammcj
Transform poor or overly simple prompts with expert-level framing.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
find-docs
sammcj
Retrieves up-to-date documentation, API references and code examples for any developer technology.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
backlog
sammcj
Capture single backlog items, or list and triage an existing project backlog.
SkillAFreshness: A★ 167Claude Code +9 - 0.727score
creating-development-plans
sammcj
Creates structured development plans with phased task breakdowns, requirements, and QA checklists.
SkillAFreshness: A★ 167Claude Code +9
Signals
- Stars
- 167
- Forks
- 25
- Open issues
- 0
- Last commit (this folder)
- Jul 4, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/sammcj/agentic-coding
- Website
- smcleod.net
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sammcj
- 0.732score
extract-wisdom
sammcj
Extract wisdom, insights, and actionable takeaways from YouTube videos, blog posts, articles, or text files.
SkillAFreshness: A★ 167Claude Code - 0.732score
rewrite-slop
sammcj
Use when explicitly asked to review or rewrite AI-generated text or UI so it reads as human, or with phrasings like "de-slop", "humanise this", "make it sound…
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
ai-changelog
sammcj
Set up an AI-driven changelog system in any project, code or not.
SkillAFreshness: A★ 167Claude Code +9 - 0.732score
ambitious-model-use
sammcj
Use when the user asks to be more ambitious with an AI task: aim at the outcome behind it, work it like a field-leading expert from raw data, or bring in…
SkillAFreshness: A★ 167Claude Code +9 - 0.729score
retro
sammcj
Retrospective on a coding session that proposes changes to the agent's environment (checks, pointers, steering, tooling) so the next run goes better.
SkillAFreshness: A★ 167Claude Code +9 - 0.728score
deferred-task-execution
sammcj
Delays execution of a task until a specified time or after a duration.
SkillAFreshness: A★ 167Claude Code +9
Cite this page
storytelling-with-data skill. Agent Mart. https://agentmart.dev/skills/sammcj-storytelling-with-data (last updated 2026-10-24)