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 wonsukchoi/domain-experts --skill business-intelligence-analystgit clone --depth 1 https://github.com/wonsukchoi/domain-expertsWrote 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/wonsukchoi/domain-experts/business-intelligence-analyst)<a href="https://agentmods.dev/skills/wonsukchoi/domain-experts/business-intelligence-analyst"><img src="https://agentmods.dev/badge/skills/wonsukchoi/domain-experts/business-intelligence-analyst/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/wonsukchoi/domain-experts/business-intelligence-analyst"><img src="https://agentmods.dev/badge/skills/wonsukchoi/domain-experts/business-intelligence-analyst.svg" alt="Reviewed on agentmods" width="80" 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.00061 | $0.02798 |
| Opus 5 | $0.00030 | $0.01399 |
| Sonnet 5 | $0.00012 | $0.00560 |
| Haiku 4.5 | $0.00006 | $0.00280 |
Grade A, and why
business-intelligence-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 9d 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 — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Business Intelligence Analyst
Identity
Builds and maintains the reporting layer between raw operational data and the numbers executives and teams make decisions on — dashboards, semantic layers, metric definitions, self-service data models. Accountable for every stakeholder trusting the same number for "revenue" or "active users" without having to ask which dashboard is right, which means the hardest part of the job is metric governance, not chart design: the moment two dashboards disagree on a headline number, trust in the entire reporting layer collapses, not just the one metric.
First-principles core
- A metric with two definitions is worse than a metric with no dashboard. When "active user" means "logged in" on one team's dashboard and "completed a core action" on another's, every downstream decision that compares the two numbers is comparing apples to oranges while looking identical — the fix is a single governed metric definition (a semantic layer or metrics catalog), not a caveat in a footnote nobody reads.
- Join fan-out silently inflates aggregates before anyone notices. Joining a one-to-many relationship (one order to many shipments, or one order to many line items) at the wrong grain and then summing a column from the "one" side duplicates it once per matching row on the "many" side — the query runs fine and returns a plausible-looking, wrong number.
- Data freshness is a cost decision, not a default-to-real-time decision. Real-time or near-real-time pipelines cost meaningfully more in infrastructure and pipeline complexity than daily batch; the freshness requirement should come from what decision the number drives (an ops dashboard triaging live incidents needs minutes, a monthly board deck doesn't), not from an assumption that fresher is always better.
- Self-service without governance produces a hundred slightly-wrong dashboards. Letting every analyst build ad-hoc SQL against raw tables scales speed but not consistency — a semantic layer that centralizes metric logic (one definition of "revenue," reused everywhere) is what lets self-service and consistency coexist, since the governance moves into the shared layer instead of living in each person's query.
- An aggregate trend can invert at the segment level, and the dashboard has to show both. A top-line metric improving while every individual segment underneath it is flat or declining (Simpson's paradox via mix shift) is a real and common failure mode — a dashboard that only shows the aggregate line will actively mislead whoever's making a decision on it.
What ships with it
3 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.
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.
- 9d ago First seen · 94 lines · 61 tokens per session scan A 82090ed56a64
business-intelligence-analyst is a skill published in the GitHub repository wonsukchoi/domain-experts (15 stars, last pushed 4d ago), licensed MIT. It adds 61 tokens to every session and 2,798 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-09-03.
Other skills, from other repositories
event-driven-architecture-saga-patterns
Designing resilient, eventual-consistency distributed transactions using the Saga Pattern (Choreography and Orchestration). Includes Outbox Pattern, Change Data Capture (CDC), idempotent consumers, compensating transactions, dual-write prevention, and saga recovery mechanisms. Use when implementing distributed…
vector-databases-qdrant-milvus-pinecone
Architect, deploy, and optimize production-grade vector search engines using Qdrant, Milvus, and Pinecone. Covers index selection (HNSW, IVF, DiskANN), vector quantization (Scalar, Product, Binary), distance metrics, payload filtering, multi-tenancy, and performance tuning.
redis-caching-and-pubsub
Architecting high-performance caching strategies, Cache-Aside/Write-Through/Write-Behind patterns, Redis Pub/Sub, Streams, eviction policies, distributed locking (Redlock), and memory optimization. Use when implementing Redis caching, real-time messaging, rate limiting, or session management.
dynamodb-single-table-design
Advanced Amazon DynamoDB Single-Table Design patterns, access pattern modeling, Partition Key (PK) and Sort Key (SK) strategies, Global Secondary Indexes (GSIs), sparse indexes, and transactions. Use when designing high-scale DynamoDB data layers.
mongodb-schema-and-indexing
Production-grade MongoDB schema design patterns, indexing strategies, ESR rule (Equality, Sort, Range), aggregation framework optimization, and sharding/partitioning architectures. Use when designing MongoDB schemas, tuning query performance, or building aggregation pipelines.
prisma-orm-patterns-and-migrations
Best practices for Prisma ORM schema design, high-performance query optimization, preventing N+1 problems, zero-downtime database migrations, connection pooling, and multi-tenant data modeling. Use when building Node.js/TypeScript applications with Prisma.