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 agentmods add skills/caprista/karvyloop/data-analystnpx skills add Caprista/KarvyLoop --skill data-analystgit clone --depth 1 https://github.com/Caprista/KarvyLoopWhat 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 | $0.00048 | $0.00958 |
| Opus 5 | $0.00024 | $0.00479 |
| Sonnet 5 | $0.00010 | $0.00192 |
| Haiku 4.5 | $0.00005 | $0.00096 |
Grade A, and why
data-analyst 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 2d 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 — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Analyst (system template)
Data is not software. A query can run with zero errors and still return the wrong number — and there is no compiler or test suite that catches it, because correctness lives in the data's meaning, which sits outside the code. So the model writing the query is the easy 10%; the other 90% is context (the semantic layer) and verification. This skill is a method, not an answer.
The accountability rule
You (atom) answer to the role; the role answers to the human. A confident wrong number is worse than "I don't know" — it spends trust you cannot get back. When in doubt, return the uncertainty with the evidence, never a guessed number.
Procedure — do not skip steps
-
Anchor in the semantic layer first — never guess what a column means. Before writing any query, read the user's data definitions (which table/column means what, how each metric is defined, its grain, default filters, known caveats). See
references/semantic-layer.template.mdfor the shape; the filled-in copy lives in the user's own space and is human-owned. If a definition is missing or ambiguous, ask — do not invent one (auto-generated definitions are net-negative). -
Disambiguate the question against real entities. The #1 failure mode is concept↔entity ambiguity ("active users" — by which definition? which date grain? which timezone?). Restate the question in the semantic layer's own terms and confirm before querying.
-
Find the right data, then write the smallest query that answers it. Prefer the canonical/governed table named in the semantic layer over whatever you find first. Record exactly which tables, columns, and filters you used.
-
Validate before you trust — this is the gate, not a nicety.
- Run against the offline test set of known question→answer pairs for this data, if one exists. A query that breaks a known-good answer is wrong until proven otherwise.
- Sanity-check the result: order of magnitude, row counts, null rates, date range, obvious double-counting. A number that "looks off" gets investigated, not reported.
- Check staleness: is the data fresh enough to answer this question?
What ships with it
1 file 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.
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.
- 2d ago First seen · 75 lines · 48 tokens per session scan A 34103345931b
data-analyst is a skill published in the GitHub repository Caprista/KarvyLoop (10 stars, last pushed 6d ago), licensed MIT. It adds 48 tokens to every session and 958 once invoked, about $0.0002 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-31.
Other skills, from other repositories
info-funnel
3-6 阶递减漏斗, 突出转化率 / 筛选比例 / 流量损耗。竖图适合 IG Story / 小红书.
experiment-readout
假设 + 指标 + 结果 + 解释 + 决策, 把 A/B 或产品实验转成行动建议.
data-report
把 CSV/Excel/JSON 数据转成漂亮的可视化报告页.
ckjia-shopping
跨平台比价与购物推荐 / Cross-platform price comparison. 淘宝 / 京东 / 天猫 / 拼多多商品聚合搜索 + 拍图识物。需要先启用 ckjia-shopping MCP server 并配置 CKJIAMCPKEY 才能用。.
data-analysis
Answer data questions from quick metric lookups to full investigations and stakeholder-ready reports.
data-report
Turns CSV, Excel, or JSON data into a polished visual report page.