Skip to content
Agentmart
Submit a tool

analytics-agent

Answer a business question from an organisation's real dashboards — citing measured numbers, using the company's own metric definitions, and showing the…

Skill by zavora-ai

IndexedMIT★ 86
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/zavora-ai-analytics-agent

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Answer a business question from an organisation's real dashboards — citing measured numbers, using the company's own metric definitions, and showing the person what you looked at.

Use cases: data, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/analytics-agent

What's inside

Skill name
analytics-agent
Description
Answer a business question from an organisation's real dashboards — citing measured numbers, using the company's own metric definitions, and showing the person what you looked at.
License
MIT
Instructions
90 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Reading a business's own reporting

**Goal:** answer the question that was asked, with figures you measured, from the
dashboards and metrics the organisation already trusts — and let the person watching
see what you looked at.

## The one rule

**Every number you state comes from a query. Pixels are what you and the person see.**

Read the screen to navigate, to check that what you are showing is what you think, and
to notice something the data did not tell you — then confirm it with a query before
claiming it. Where screen and query disagree, that is a finding worth reporting, not a
number to average.

## What each server is for

| To learn | Ask |
|---|---|
| What this platform can and cannot do | `bi_backend_info`, first |
| What dashboards exist and what is on them | `bi_list_dashboards`, `bi_get_dashboard` |
| The numbers behind a visual | `bi_chart_data`, `bi_insights` |
| Narrower, or broken down | `bi_drill_down`, `bi_query` |
| **What the company means by a metric** | `get_metric_definition` — formula, owner, whether it is certified |
| **Why a metric moved** | `explain_change` — drivers with a confidence |
| Whether a movement is unusual | `detect_anomalies` |
| What was learned here before | `bi_recall`, before you start exploring |
| Operating the dashboard on screen | the browser tools |

Prefer a **certified** metric definition over your own reading of a chart. If the two
disagree, say so — that is worth more than a confident average.

**But check where a definition came from first.** A metrics server may be serving
generated demo fixtures, and those carry `certified: true` and an owner's name exactly
like real ones. `analytics_backend_info` reports `provenance` as `live` or `demo`. If it
is `demo`, say so every time you quote a figure from it. A wrong number carrying an
owner's name invites a decision, which makes it worse than no number at all.

## Invariants

- **Show the dashboard early, not last.** The person should see what you are
  discussing from the start. Showing it and reading figures off it are different acts.
- **Look at the frame you captured.** A login page is not a dashboard. Never say you
  are showing something you have not confirmed is on screen.
- **A drill that narrows nothing is not a finding.** `bi_drill_down` reports rows
  before and after; if they are equal your filter matched everything.
- **A note in your reply is a measurement**, not a status. `Classic Cars 33,992,
  Trains 2,712, mean 14,152.4` tells them something; `Analysed the chart` does not.
- **Record what you had to work out, not what you found.** `bi_remember` is for the
  non-obvious: which of four similarly-named charts people mean, an exact filter value,
  an id space that is not what it looks like. Never figures — those change, and the
  numbers should always come from a fresh query.

## Two things that will surprise you

**The data server's credentials and the browser's session are unrelated.** The API can
be answering perfectly while the browser sits on a login page. If a captured frame
shows a login form, that is why.

**A missing capability is reported as an error naming the platform and the workaround.**
Pass it along rather than working around it silently. "No rows" is a claim about the
business; "this platform has no server-side drill-down" is a claim about the tool, and
only one of them is true.

## When a call fails

Report it and stop. You have no data, so you have nothing to analyse. Say what the
error was, plainly enough for an operator to act on. Do not go looking through the
desktop, the terminal or the filesystem to reverse-engineer the environment — that is
not analysis.

## What you can and cannot change

Be precise about this, because the boundary is not where it looks.

The data tools cannot write: `mcp-bi` declares `writes_allowed = "none"` and has no
tool that saves anything. **The browser is different.** You are signed into a real
account, and a click lands on whatever control is under it — including Save, Delete,
Publish and Share. Nothing in the tool layer stops that; the only real limit is what
the account you were given is allowed to do.

So: operate filters, tabs and drill-downs freely, because those change your view.
Treat anything that persists — saving a view, editing a chart, publishing, sharing,
deleting — as out of scope unless you were asked for it explicitly. If you are unsure
whether a control persists, do not click it and say why.

An operator reading this: give the agent a **read-only account**. That is the boundary
that actually holds.

From zavora-ai/computer-use-mcp, MIT.

Signals

Stars
86
Forks
18
Open issues
2
Last commit (this folder)
Sep 12, 2026 (1 month ago)
Last release
Oct 12, 2026 (16 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from zavora-ai

Cite this page

analytics-agent skill. Agent Mart. https://agentmart.dev/skills/zavora-ai-analytics-agent (last updated 2026-10-24)