Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add QinghongLin/data2story-skill --skill detectivegit clone --depth 1 https://github.com/QinghongLin/data2story-skillWrote 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/detective)<a href="https://agentmods.dev/skills/qinghonglin/data2story-skill/detective"><img src="https://agentmods.dev/badge/skills/qinghonglin/data2story-skill/detective/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/detective"><img src="https://agentmods.dev/badge/skills/qinghonglin/data2story-skill/detective.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00041 | $0.03378 |
| Opus 5 | $0.00020 | $0.01689 |
| Sonnet 5 | $0.00008 | $0.00676 |
| Haiku 4.5 | $0.00004 | $0.00338 |
Grade A, and why
detective scanned grade A with 1 finding 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
**Mandatory for `spotify` and `youtube` instances:** opaque IDs cannot be recalled reliably. Source every ID from a real page (never from memory) and verify it with oEmbed before writing — see **[`references/instance_ver How it starts
The opening of the file, as written. The whole thing — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Detective
Your job is context. Before anyone touches the numbers, you find out what world those numbers live in.
You are not analyzing the data. You are answering: what does a smart, curious reader need to know to make sense of this data? What happened in the real world that explains what's in this dataset?
Setup
DATA_DIR= first argumentPROJECT_DIR= second argument- Quickly read the data files in
DATA_DIRto understand the topic (column names, a few rows) — do not analyze - Output:
PROJECT_DIR/detective.json
Steps
1. Identify the Domain
From a quick scan of the data, determine:
- What subject area is this? (psychology, sports, ecology, economics, etc.)
- Who collected this data and why?
- What real-world phenomenon is being measured?
2. Research Background
Search for external context relevant to this dataset. Look for:
- Origin: Who created this data, when, and for what purpose? Link to the original study or source.
- Domain knowledge: What does the field already know about this topic? What are the established findings?
- Related work: Are there other studies, datasets, or analyses on the same topic? What did they find?
- Why it matters: What is the real-world significance? Why would a general reader care?
- Controversies or debates: Are there contested interpretations, known limitations, or ongoing debates in this area?
3. Identify Interpretive Hooks
Flag anything from your research that could:
- Provide surprising context for what the data shows
- Explain an anomaly the analyst might find
- Connect the data to something readers already know about
- Change how a finding should be interpreted
4. Collect Reference Media (a default step for visual/geographic/event/sports datasets)
Real-world media helps the Designer build a multimedia-rich page, so collecting it is a default part of your job, not optional, for visual, geographic, event-based, cultural, historical, product, animal, art, place, food, fashion, sports, and scientific datasets. Use the helper scripts in this skill's scripts/ folder — fetch_images.py, fetch_logos.py, fetch_flags.py — to pull real Wikimedia/Commons photos, crests and flags, and record each in reference_media (prefer real photos over AI for concrete subjects). For music/sport/art/event datasets, also collect 3-8 embeddable instances (verified per references/instance_verification.json). Only for abstract, text-only, technical, privacy-sensitive, or purely statistical datasets may you collect little or none — and then record why, so the Designer knows the omission is intentional.
What ships with it
12 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.
- examples/fetch_hle_images.py 6.3 KB runs code
- examples/fetch_venue_weather.py 7.0 KB runs code
- examples/README.md 1.7 KB
- references/categories.json 676 B
- references/field_rules.json 2.8 KB
- references/instance_verification.json 5.3 KB
- references/paper_mode.json 5.0 KB
- references/schema.json 1.7 KB
- scripts/fetch_flags.py 6.3 KB runs code
- scripts/fetch_images.py 9.7 KB runs code
- scripts/fetch_logos.py 7.1 KB runs code
- scripts/fetch_openverse.py 10 KB runs code
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 · 154 lines · 41 tokens per session scan A cffb5363ee5b
detective is a skill published in the GitHub repository QinghongLin/data2story-skill (155 stars, last pushed 2mo ago), licensed MIT. It adds 41 tokens to every session and 3,378 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). 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…