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 danielrosehill/Claude-Data-Analyst-plugin --skill data-enrichmentgit clone --depth 1 https://github.com/danielrosehill/Claude-Data-Analyst-pluginWrote 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/danielrosehill/claude-data-analyst-plugin/data-enrichment)<a href="https://agentmods.dev/skills/danielrosehill/claude-data-analyst-plugin/data-enrichment"><img src="https://agentmods.dev/badge/skills/danielrosehill/claude-data-analyst-plugin/data-enrichment.svg" alt="Measured on agentmods" height="20"></a>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.00064 | $0.01620 |
| Opus 5 | $0.00032 | $0.00810 |
| Sonnet 5 | $0.00013 | $0.00324 |
| Haiku 4.5 | $0.00006 | $0.00162 |
Grade A, and why
data-enrichment 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 6d 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 — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Enrichment
Turn an under-powered dataset into one that can actually answer the user's question, by identifying gaps and fusing in external data.
Inputs
- Path to the primary dataset (CSV / Parquet / Excel / DuckDB table).
- The user's analytical goal — what question are they trying to answer? If not stated, ask.
- Optional: constraints (offline only, no paid APIs, must be open-data-licensed, etc.).
Procedure
Step 1 — Understand the goal
Restate the user's question in one sentence. Identify the analytical unit (row = customer? transaction? country-year?) and the target (what are we trying to explain, predict, compare, or rank?).
If the goal is vague ("analyse this data"), push back: ask what decision or insight they want. Enrichment without a target is busywork.
Step 2 — Profile what's already there
Run a quick schema + sample on the dataset:
duckdb -c "DESCRIBE SELECT * FROM '<file>'"
duckdb -c "SELECT * FROM '<file>' LIMIT 5"
Note the columns grouped by role:
- Identifiers / join keys — IDs, codes, names, dates, locations (these are the hooks for enrichment).
- Dimensions — categories, segments.
- Measures — the numeric columns the user will want to explain.
- Time — any date/datetime columns.
Step 3 — Diagnose gaps
Compare the data to the goal and list concrete gaps. Each gap should name a missing variable or missing context, not just "more data". Examples:
- Goal: "Why did Q3 sales drop?" — dataset has sales but no marketing spend, weather, competitor pricing, or macro indicators for that period.
- Goal: "Which customers are highest value?" — dataset has transactions but no customer demographics or acquisition channel.
- Goal: "Compare our countries' performance fairly" — raw numbers exist but no population, GDP, or currency conversion to normalise by.
For each gap, note: what variable is missing, why it matters for the goal, and what join key would connect it (country code, date, customer ID, postcode, ...).
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.
- 6d ago First seen · 134 lines · 64 tokens per session scan A e5d046ad3be0
data-enrichment is a skill published in the GitHub repository danielrosehill/Claude-Data-Analyst-plugin (11 stars, last pushed 4mo ago), licensed MIT. It adds 64 tokens to every session and 1,620 once invoked, about $0.0003 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
sn-search-academic
An academic research tool for finding papers and encyclopedia entries, reading papers in full or by section, and tracing references and citations. It supports structured literature research.
ppt-analysis
A parser for PowerPoint presentations in .pptx or older .ppt format that extracts their contents and flags slides needing image-based inspection.
sn-image-base
Base-layer skill for the SenseNova-Skills project, providing low-level APIs for image generation, recognition (VLM), and text optimization (LLM). This skill does not preprocess inputs; it only calls backend services and returns results. This skill is not user-facing and is intended for upper-layer skills only.
outlier-detection-and-quality-assessment
A data-quality workflow that finds unusually high or low values and examines how numerical data is distributed. The interquartile range, or IQR, is a spread measure used here to flag possible outliers.
category-statistics
A data-analysis procedure for counting the values in a chosen category column and showing their proportions in charts.
pie-chart-data-analysis
A data-analysis workflow for pie charts that reads CSV or Excel files, counts rows across worksheets, and identifies category and numeric columns using built-in rules.