Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/QinghongLin/data2story-skillnpx agentmods add skills/qinghonglin/data2story-skill/data2story-proWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/qinghonglin/data2story-skill/data2story-pro)<a href="https://agentmods.dev/skills/qinghonglin/data2story-skill/data2story-pro"><img src="https://agentmods.dev/badge/skills/qinghonglin/data2story-skill/data2story-pro/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/qinghonglin/data2story-skill/data2story-pro"><img src="https://agentmods.dev/badge/skills/qinghonglin/data2story-skill/data2story-pro.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 42 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00128 | $0.14102 |
| Opus 5 | $0.00064 | $0.07051 |
| Sonnet 5 | $0.00026 | $0.02820 |
| Haiku 4.5 | $0.00013 | $0.01410 |
Grade A, and why
data2story-pro scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 317 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Journalist Agent (Data2Story)
Turn $ARGUMENTS into a blog. Orchestrates the roles below in sequence.
Orchestration rituals
Five process rules earned from real runs. Each is one rule + why it exists; follow them across every run regardless of topic.
- (D1) Candidate-image review loop. For any hero/cover image of a named person or specific real object, generate N candidates, then run a VLM (or human) review and select one — never ship the first render. Why: text2image of named people intermittently refuses outright and quality varies shot-to-shot, so a single render is a coin-flip; a small candidate pool plus a review step is the only reliable way to land a usable, correctly-identified image.
- (D2) Audit-before-finalize. Run the read-only multi-agent audit (provenance / repro / assets / IP lenses) to find every defect FIRST, collect them, and only THEN make one editing pass to fix them. Why: interleaving find-and-fix makes agents edit the same file against a moving target and re-introduce each other's defects; separating the finding phase from the fixing phase prevents that churn.
- (D3) Single owner of one big file. Parallel agents may produce data and assets concurrently, but exactly ONE agent writes
index.html. Why: the HTML is one indivisible artifact; concurrent edits to it interleave and corrupt it, so it must have a single writer even when everything feeding it is parallel. - (D4) Headless-verify-then-defer-render. Prove everything you can without a browser —
node --checkthe scripts, recompute a known model output and compare, byte-compare each inline JSON island to itsverify/file — then hand the final visual/browser sign-off to the user. Why: deterministic checks catch the failures that don't need eyes cheaply and early, while genuine render correctness needs a real browser this harness can't drive, so the human does that last mile (see also the chart-width-0 class of bug, invisible to node shims). - (D5) Verify-coexistence-with-zero-engine-edits. New interactive features layer on top of the frozen Verify engine (the in-page Inspector panel +
verify/artifacts); never edit the engine to make a feature fit. Why: the Verify layer is the paper's coding verifier and a hard gate — editing it to accommodate a feature risks silently breaking provenance, so features adapt to it, not the reverse.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 665 B
- analyst/references/data_table_rules.json 1.6 KB
- analyst/references/field_rules.json 1.7 KB
- analyst/references/paper_mode.json 2.6 KB
- analyst/references/schema.json 1.6 KB
- analyst/SKILL.md 9.4 KB
- auditor/references/checks.json 19 KB
- auditor/references/fix_patterns.json 16 KB
- auditor/references/flagship_contract.json 50 KB
- auditor/references/report_types.json 20 KB
- auditor/scripts/playtest_drive.js 61 KB runs code
- auditor/scripts/render_capture.js 36 KB runs code
- auditor/SKILL.md 25 KB
- cinematographer/references/cinematic_recipes.json 19 KB
- cinematographer/references/example_cinematic_scroll.html 19 KB
- cinematographer/references/schema.json 6.4 KB
- cinematographer/SKILL.md 17 KB
- copywriter/references/schema.json 7.4 KB
- copywriter/SKILL.md 15 KB
- critic/references/rubric.json 24 KB
- critic/SKILL.md 18 KB
- data/.gitkeep 0 B
- designer/references/audio_rules.json 23 KB
- designer/references/diversity_rules.json 9.2 KB
- designer/references/field_rules.json 5.2 KB
- designer/references/schema.json 9.1 KB
- designer/references/tools.json 2.1 KB
- designer/references/video_pipeline.json 10 KB
- designer/references/visual_modes.json 8.1 KB
- designer/scripts/openrouter-embeddings/config.json 176 B
- designer/scripts/openrouter-embeddings/scripts/embed.py 3.7 KB runs code
- designer/scripts/openrouter-embeddings/SKILL.md 2.0 KB
- designer/scripts/openrouter-image2video/config.json 319 B
- designer/scripts/openrouter-image2video/scripts/generate_video_from_image.py 14 KB runs code
- designer/scripts/openrouter-image2video/SKILL.md 3.4 KB
- designer/scripts/openrouter-text2image/config.json 181 B
- designer/scripts/openrouter-text2image/scripts/generate_image.py 5.8 KB runs code
- designer/scripts/openrouter-text2image/SKILL.md 1.4 KB
- designer/scripts/openrouter-text2music/config.json 450 B
- designer/scripts/openrouter-text2music/scripts/generate_music.py 6.5 KB runs code
- designer/scripts/openrouter-text2music/SKILL.md 2.4 KB
- designer/scripts/openrouter-text2video/config.json 321 B
- designer/scripts/openrouter-text2video/scripts/generate_video.py 7.2 KB runs code
- designer/scripts/openrouter-text2video/SKILL.md 1.9 KB
- designer/scripts/optimize_assets.py 15 KB runs code
- designer/SKILL.md 37 KB
- detective/examples/fetch_hle_images.py 6.3 KB runs code
- detective/examples/fetch_venue_weather.py 7.0 KB runs code
- detective/examples/README.md 1.7 KB
- detective/references/categories.json 676 B
- detective/references/field_rules.json 2.8 KB
- detective/references/instance_verification.json 5.3 KB
- detective/references/paper_mode.json 5.0 KB
- detective/references/schema.json 1.7 KB
- detective/scripts/fetch_flags.py 6.3 KB runs code
- detective/scripts/fetch_images.py 9.7 KB runs code
- detective/scripts/fetch_logos.py 7.1 KB runs code
- detective/scripts/fetch_openverse.py 10 KB runs code
- detective/SKILL.md 15 KB
- editor/references/editor_md_template.json 1.5 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 317 lines · 128 tokens per session scan A 8b6e66d00811
data2story-pro is a skill published in the GitHub repository QinghongLin/data2story-skill (155 stars, last pushed 2mo ago), licensed MIT. It adds 128 tokens to every session and 14,102 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
chdb-sql
Use when the user wants to run SQL — especially analytical SQL — on local files (parquet/csv/json), URLs, S3 paths, or remote databases (Postgres, MySQL, MongoDB, ClickHouse Cloud, Iceberg, Delta Lake) without setting up a server. Provides chDB — embedded ClickHouse SQL in Python with 1000+ functions, Session for…
wax
Swift framework guidance for Wax on-device memory/RAG. Use when writing Swift code with the public Memory facade, experimental PhotoMemory / VideoMemory, BuiltInMultimodalEmbeddings, embedding providers, retrieval modes, or hybrid search. For agent operators using the Wax MCP server tools, use the separate wax-mcp…
wax-memory-maintenance
Maintain the Wax memory store used by the Hermes wax-memory provider.
alterlab-paper-writer
Drafts and revises academic papers through a 12-agent pipeline with hardened LaTeX output (apa7 document class, justified text, table column-width formula, centered bilingual abstracts, standardized font stack, PDF compiled from LaTeX), supporting IMRaD, literature review, theoretical, case study, policy brief, and…
alterlab-molecular-dynamics
Runs and analyzes molecular dynamics simulations with OpenMM and MDAnalysis — setting up protein and small-molecule systems, assigning force fields, running energy minimization and production MD, and analyzing trajectories (RMSD, RMSF, contact maps, free energy surfaces). Use when simulating protein or ligand…
alterlab-timesfm
Zero-shot univariate time-series forecasting with Google's TimesFM foundation model, producing point forecasts and prediction intervals from CSV/DataFrame/array inputs, with a preflight system checker for RAM/GPU. Use to forecast any univariate series (sales, sensors, energy, vitals, weather) without training a custom…