By QinghongLin
Transform datasets into verifiable, polished multimedia blog posts with interactive charts, images, and audit artifacts through a 14-agent newsroom pipeline. Includes data validation, design system, and runnable verification layer.
Use to turn a dataset into a verifiable multimedia blog (a data story / data-driven article / interactive dashboard from a dataset). Orchestrator for the Data Journalist Agent (Data2Story): a 7-team newsroom (14 agents) running detective → scout → analyst → imagineer → editor → copywriter → designer → interaction → hero → cinematographer → programmer → auditor → critic → inspector in sequence. Trigger when the user hands over a dataset (CSV/JSON/folder/path) and wants a published story, blog post, or interactive report built from it. Creates a versioned project folder per run.
Data Journalist Agent (Data2Story) — orchestrator: turn a dataset into a blog. Runs detective → analyst → editor → designer → programmer → auditor → inspector in sequence. Creates a versioned project folder for each run.
A shared reference library for editorial-grade data-visualization craft — Vega-Lite-first with a D3 fallback for charts Vega-Lite can't express. Read by the Designer at chart selection (intent → ranked chart type), the Programmer at implementation (editorial Vega-Lite recipes, annotation layers, axis/label de-clutter, encoding craft), and the Auditor/Critic for chart-quality review. It encodes the FT Visual Vocabulary intent taxonomy, the Cleveland–McGill channel-accuracy ordering, the BBC bbplot de-clutter ruleset, and colorblind-safe encoding rules. Not a pipeline stage — a craft source, like frontend-design.
Find a dataset for a Data2Story blog. Accepts a topic, a URL, or a DIP-style category. Downloads + validates against 4 completeness gates before handing off to /data2story-pro. Local-first: searches Economist/Pudding/TidyTuesday clones before going online. Supports --validate-only to audit a folder you already have.
Shared UI/visual-design rule library for building polished, distinctive, multimedia-rich self-contained HTML stories. The Data2Story Designer and Programmer read it to choose a visual language (theme, type pairing, layout, components, motion) and implement it so every blog looks intentional and editorial, never templated. Use when designing or reshaping a story's look, picking fonts/colors/themes, building a hero/chart/card/map/audio component, adding motion or an interactive, or fixing a visual defect (invisible chart, overflow, broken media, AI-slop look). Not a pipeline stage — a design source consulted by other roles.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A data-journalist agent skill that turns any dataset into a verifiable, evidence-grounded multimodal story — a self-contained HTML article where every sentence traces back to the data or source that justifies it.
https://github.com/user-attachments/assets/7a2e2b65-3289-431d-b06a-230252df8774
viewer.html inspector where you can click any claim to see the data, code, or citation behind it.SKILL.md holds only its instructions; bulky reference material (output schemas, field rules, lookup tables) lives in that role's references/ folder as JSON and is loaded only when needed.Two versions. The repository ships two peer skills under
skills/— the richer, current build isdata2story-pro; the paper's reproducible version isdata2story.
Skill Invoke What it is data2story-pro/data2story-proExtended 14-agent build — verified media, interactive playgrounds, a cinematic cover, and a runnable in-page verify layer. See skills/data2story-pro/README.md.data2story/data2storyThe paper's canonical 7-role pipeline — reproduces the article.
Data2Story is an agent skill. The orchestrator lives in skills/data2story/SKILL.md — it works first-class with Claude Code, and equally with Codex, Cursor, Gemini CLI, and other agents.
Set your API key. Media generation routes through OpenRouter by default:
export OPENROUTER_API_KEY=sk-or-...
Run the skill on a dataset:
Claude Code — make the skill available (place skills/data2story/ under ~/.claude/skills/, or run from inside this repo), then:
/data2story data/pick_a_card
Codex / other agents — open the repo and ask the agent to follow the orchestrator:
Read skills/data2story/SKILL.md and run the Data2Story pipeline on data/pick_a_card
Open the output: index.html (the finished article) and viewer.html (the evidence inspector).
data2story-skill/
├── skills/
│ ├── data2story/ the paper's canonical 7-role pipeline · /data2story
│ ├── data2story-pro/ the extended 14-agent build · /data2story-pro
│ │ └ self-contained: its own README, package.json, example data/
│ ├── frontend-design/ visual design system used by data2story
│ ├── frontend-design-pro/ extended design system used by data2story-pro
│ ├── dataviz-craft/ chart-craft recipes · data2story-pro helper
│ ├── find-data/ dataset discovery & validation · data2story-pro helper
│ └── sparring-partner/ idea-to-topic ideation · data2story-pro helper
├── .claude-plugin/ marketplace.json · installs either skill
└── assets/ shared images
Inside each orchestrator, a role is a SKILL.md + a references/ folder (JSON schemas & lookup tables) + any scripts/ it runs — e.g. designer/scripts/ (OpenRouter media tools), inspector/scripts/ (the verify.py / generate_viewer.py verifier), detective/scripts/ (media fetch helpers).
Think of it as a small newsroom in a box. Each role reads what the previous one produced, then adds its own artifact — a fixed pipeline that runs once, end to end.
npx claudepluginhub qinghonglin/data2story-skill --plugin data2storyTransforms Claude Code conversation transcripts into polished, first-person blog posts through an interactive 5-stage pipeline — parse, triage, outline, draft, polish — with human editorial gates at every stage
Automate Google NotebookLM at scale. Citation-backed Q&A, full Studio generation (audio, video, infographic, report, presentation, data table), multi-account rotation with auto-reauth, and batch_to_vault for offline RTFM-ingestable answer caching.
Create beautiful, self-contained HTML visualizations from any content or idea. Use for slide decks, dashboards, infographics, flowcharts, timelines, cheat sheets, posters, and more.
Create data visualizations and plots
30 specialized journalism agents for investigative reporting, fact-checking, disinformation analysis, AI content detection, foreign news de-biasing, bot & troll detection, multimedia production, and content distribution
Process skill for turning raw project data (research notes, session logs, drafts, code) into structured technical blog posts. Covers gathering, extraction, structure, and Astro frontmatter.