product-analytics is agent-read markdown (skill) from nahid-sparktales/agent-dispatcher: Define a product metric so it means one thing — event, denominator, population, window — and check the instrumentation exists before anyone reports a number. Use when asked "how do we measure this", when a funnel or activation/retention/conversion metric is being defined, when two dashboards disagree, or before adding tracking to a feature. Not for choosing what to build (prioritization), not for designing an A/B test (experimentation), and not for general data analysis of a dataset that is alre.
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# Product analytics
A metric is a claim about the world. Most disputed numbers are not wrong arithmetic — they are two
people using the same word for two different denominators, or a dashboard built on an event that
was never emitted on the path that matters.
## When this fires
Someone is about to define, report or argue about a product number: activation, conversion,
retention, funnel drop-off, adoption of a feature. It also fires *before* instrumentation is added,
which is the cheapest moment to get it right. It does not fire when the metric definition is
already settled and the task is only to compute or chart it.
## Four states, not one
Keep these apart in every sentence you write, because conflating them is how a metric that does not
exist ends up on a slide:
- **Defined** — written down with numerator, denominator, population, window.
- **Instrumented** — the emitting code exists on every path that should count.
- **Collecting** — events are arriving in the destination, from real traffic, since a known date.
- **Reconciled** — the number has been checked against an independent source and agrees.
Only the fourth is a number you may quote without a caveat.
## Procedure
…
Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
GET https://markdownregistry.com/api/v1/artifacts/art_exrdxixqqo4vmth3
GET https://markdownregistry.com/api/v1/resolve?ref=nahid-sparktales/agent-dispatcher/product-analytics
GET https://markdownregistry.com/api/v1/blob/1ffe500cb66fc16420af18529a8ca8539120b9ea51a091b223557e9c85e9d7b6
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
nahid-sparktales/agent-dispatcher · skills/agent-dispatcher/SKILL.md · Route work to a specialist role and load its task-specific guidance. Use when the user invokes /agent-dispatcher, names…
nahid-sparktales/agent-dispatcher · skills/ai/agent-design/SKILL.md · Scope an agent or subagent before it is built — the one job it owns, the smallest tool set that closes that job, what…
nahid-sparktales/agent-dispatcher · skills/ai/agent-evals/SKILL.md · Build an eval suite that can actually detect a regression — cases pulled from real traffic, graders that check…
nahid-sparktales/agent-dispatcher · skills/ai/context-engineering/SKILL.md · Decide what actually occupies the model's window — progressive disclosure through an index, retrieval versus inlining…
nahid-sparktales/agent-dispatcher · skills/ai/llm-observability/SKILL.md · See what an agent actually did — one trace per run with nested model, tool and retrieval spans, token and latency…
nahid-sparktales/agent-dispatcher · skills/ai/mcp-design/SKILL.md · Build an MCP server, or bring an existing one into a project — choosing the transport, deciding which tools, resources…
nahid-sparktales/agent-dispatcher · skills/ai/memory-design/SKILL.md · Decide what an agent should remember, which layer holds it, who it is scoped to, and how a stale or contradicted memory…
nahid-sparktales/agent-dispatcher · skills/ai/model-routing/SKILL.md · Pick a model per job and degrade sensibly when one fails — a quality bar per call site, candidates compared on the same…
nahid-sparktales/agent-dispatcher · skills/ai/prompt-engineering/SKILL.md · Write or revise a prompt so it holds up — output contract, instruction placement, examples that earn their place, an…
nahid-sparktales/agent-dispatcher · skills/ai/prompt-injection-defense/SKILL.md · Treat everything an agent reads but did not author as data rather than instructions — an explicit trust boundary, a…
nahid-sparktales/agent-dispatcher · skills/ai/retrieval-rag/SKILL.md · Build and fix retrieval that actually returns the right passage — structure-aware chunking, one pinned embedding model…
nahid-sparktales/agent-dispatcher · skills/ai/structured-output/SKILL.md · Get parseable, trustworthy structured results out of a model — schema design, the enforcement mechanism the provider…
nicepkg/ai-workflow · workflows/marketing-pro-workflow/.claude/skills/product-analytics/SKILL.md · Measure what matters with proper event tracking, funnels, cohorts, and metrics. Use when setting up analytics, tracking…