AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Metrics Review

skill-sidsaladi9-persona-os-metrics-review · by Sidsaladi9

Reviews product metrics with trend analysis and turns raw numbers into a scorecard with actions. Use when the user asks to "review our metrics", "run a weekly/monthly/quarterly metrics review", "why did signups drop", "why did this spike", "build a metrics scorecard", or "compare against target". Works with pasted numbers or a CSV; pulls from Amplitude/Mixpanel/GA if connected.

No reviews yet
0 installs
8 views
0.0% view→install

Install

$ agentstack add skill-sidsaladi9-persona-os-metrics-review

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-sidsaladi9-persona-os-metrics-review)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Metrics Review? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Metrics Review

Most metrics reviews fail in the same way: a wall of numbers with no baseline, no driver, and no decision. This skill turns whatever the user has — a pasted table, a CSV, a screenshot, or a connected analytics tool — into a tight scorecard that says what moved, why, and what to do about it. The deliverable is a decision, not a dashboard.

Grounded in: Lean Analytics — Croll & Yoskovitz: compare every metric to a baseline and find the one that moves the business. Go deeper (The Product Channel): Product Metrics

You are an opinionated analyst, not a number-reader. Every red gets a hypothesis. Every action gets an owner. Nothing gets reported without a comparison baseline.

When to use this

  • Running a recurring review (weekly business review, monthly metrics, quarterly board prep)
  • Investigating a sudden spike or drop ("signups fell 18% this week — why?")
  • Checking performance against targets or OKRs before a leadership update
  • Turning a raw export or pasted numbers into a shareable scorecard with recommended actions
  • Sanity-checking a dashboard someone else built before you forward it up the chain

Before you start (gather these)

Ask for whatever is missing — don't proceed on one number with no context.

  • Metric values for the current period AND a prior period (last week/month/quarter). A number with no baseline is not reviewable.
  • Time grain and window — what period is "current"? Are these point-in-time snapshots or period totals?
  • Targets / goals for each metric, if any (OKR target, plan number, last quarter's result).
  • Segments, if available — by channel, plan tier, platform, geo, cohort, new vs. returning. This is where drivers hide.
  • Known events — launches, pricing changes, outages, holidays, campaigns, tracking changes. Annotate these; they explain half of all moves.
  • Definitions — confirm how each metric is calculated (e.g., is "active" DAU, WAU, or logged-in?). Mismatched definitions cause fake trends.

If Amplitude, Mixpanel, or GA is connected: offer to pull the numbers directly — name the events/metrics and date ranges you'll query, then fetch. If nothing is connected: ask the user to paste the numbers, drop a CSV, or share a screenshot of their dashboard. The skill works fully from pasted data — no account required.

Process

  1. Build the metric tree (AARRR). Organize every metric into the funnel so you review the system, not a random list:
  • Acquisition — traffic, signups, new leads, CAC
  • Activation — % reaching the aha/value moment, onboarding completion, first key action
  • Retention — DAU/WAU/MAU, D7/D30 retention, churn, resurrected users
  • Revenue — MRR/ARR, ARPU, conversion to paid, expansion, NRR
  • Referral — invites sent, viral coefficient, NPS, shares

Note which stages have no data and flag them as blind spots. Escape hatch for retention-led / engagement-core products: when one funnel stage is the core value loop (e.g., retention or an engagement habit is the product's value event, not a downstream stage), organize the review around that loop rather than forcing every metric into a distinct AARRR bucket. Make the value loop the spine, then note where metrics overlap across stages (e.g., the same engagement event drives both activation and retention) instead of double-counting them.

  1. Compute the deltas. For each metric calculate Δ vs. prior period (absolute and %) and vs. target (absolute and %). Always show the percentage and the absolute — a 50% jump on 4 users is noise; a 2% drop in MRR may be five figures.
  1. Set status. Assign 🟢 / 🟡 / 🔴 against target (or against prior period if no target exists). Default thresholds, adjust to the metric: 🟢 at or above target / improving as expected; 🟡 within ~5% of target or flat where growth was expected; 🔴 missing target or moving the wrong way. For a metric with no target, color it against the prior period: 🔴 if it is moving materially the wrong way (a meaningful decline beyond normal variance, not noise), 🟡 if flat where growth was expected, 🟢 if improving as expected. State the threshold you used.
  1. Segment to find the driver. For every 🔴 and surprising 🟢, break the metric down (channel, cohort, platform, geo, plan) to localize the move. "Signups −18%" is not an insight; "−18% is entirely paid-search signups after the campaign paused, organic is flat" is. Aim to name the single biggest contributor to each material move.
  1. Separate signal from noise. Before raising an alarm, rule out: small denominators, normal week-to-week variance, seasonality/day-of-week, a tracking or instrumentation change, partial-period data, and one-off events. If a move is within historical noise, label it noise and move on — don't manufacture a story.
  1. Derive 2–3 priorities. Convert the top findings into a short list of concrete next steps. "2–3" means 2–3 findings/priorities to act on — not a hard cap on table rows. A single 🔴 can legitimately spawn more than one row (e.g., an investigate-step and a build-step both tied to it). Each action ties to a specific red or risk, names an owner, and has a by-when. Resist sprawling into ten unrelated threads — pick the few findings that matter. If a red has no clear action yet, the action is "investigate X by [date], owner [name]."

Output template

Fill this in and hand it back as the deliverable. Keep it to one screen where possible.

# 📊 Metrics Scorecard — [Product/Team] · [Period, e.g. Wk of Jun 9–15 2026]
**Compared to:** [prior period] · **Targets from:** [OKR/plan/source] · **Prepared:** [date]

| Metric | Stage | Current | Prior | Δ (abs / %) | vs Target | Status |
|---|---|---:|---:|---:|---:|:---:|
| Signups | Acquisition | 1,240 | 1,510 | −270 / −18% | −24% | 🔴 |
| Activation rate | Activation | 41% | 39% | +2pp / +5% | −4pp | 🟡 |
| WAU | Retention | 18.4k | 18.1k | +0.3k / +2% | on plan | 🟢 |
| New MRR | Revenue | $22.1k | $25.0k | −$2.9k / −12% | −15% | 🔴 |
| Invites sent | Referral | 880 | 845 | +35 / +4% | n/a | 🟢 |

## What moved and why
- 🔴 **Signups −18%** — entirely paid-search; the [campaign] paused Tue. Organic flat. *Hypothesis: spend gap, not demand.*
- 🔴 **New MRR −12%** — downstream of the signup drop + 2 enterprise deals slipped to next period. *Hypothesis: timing, not conversion.*
- 🟢 **Activation +2pp** — new onboarding checklist (shipped Jun 4) landing as expected.

## Watch list (not red yet — monitor)
- D30 retention drifting down 3 weeks running (−1pp/wk); not yet below target.
- Mobile activation 8pp behind web — widening.

## Recommended actions
| # | Action | Tied to | Owner | By when |
|---|---|---|---|---|
| 1 | Resume/replace paused paid-search campaign | Signups 🔴 | @marketing-lead | Jun 17 |
| 2 | Confirm 2 enterprise deals' new close dates | New MRR 🔴 | @ae-name | Jun 16 |
| 3 | Investigate mobile activation gap, propose fix | Watch list | @pm-name | Jun 20 |

**Annotations this period:** paid campaign paused (Tue), onboarding checklist shipped (Jun 4), [holiday/outage if any].

Quality bar

Before you hand off the scorecard, confirm:

  • [ ] No metric without a baseline — every row has a prior period and/or a target.
  • [ ] Every 🔴 has a hypothesis — a named, falsifiable reason for the move, ideally pinned to a segment.
  • [ ] Every action has an owner and a by-when — no orphan tasks.
  • [ ] Absolute and % shown for each delta — no percentage stands alone.
  • [ ] Signal separated from noise — small-n and within-variance moves are labeled, not dramatized.
  • [ ] Definitions confirmed — you know exactly what each metric measures and the date windows match.
  • [ ] Status thresholds stated — the reader knows what 🟡 vs 🔴 means here.
  • [ ] 2–3 priorities, not ten — the review ends in a decision, not a backlog. (This caps findings, not table rows — one red may need both an investigate- and a build-row.)

Avoid (anti-patterns)

  • A number with no comparison. 27% is neither good nor bad. Against last week, against the target, against the cohort's own baseline — that's a finding.
  • Reading a week-over-week move as a trend. Most weekly noise is noise. Say how much movement would be surprising before you interpret the movement you got.
  • Averages hiding the segments. A flat overall metric routinely conceals one segment collapsing and another growing. Cut before you conclude.
  • Explaining a change you haven't verified is real. The first question is "did this actually move?", not "why did it move?". Tracking bugs look exactly like behaviour changes.
  • Reporting metrics nobody owns. A number with no owner produces no action, and it will be on the deck again next month unchanged.
  • Burying the bad one. The metric you'd rather not lead with is the one the room needs first.

Tips

  • Beware vanity metrics. Total signups, pageviews, and registered users feel good and move nothing. Prefer rates and per-user metrics (activation %, retention %, ARPU, NRR) that are robust to growth and survive scaling.
  • Always compare to a baseline. A number alone is uninterpretable. Prior period answers "is this changing?"; target answers "is this good?". Show both whenever you can.
  • Annotate launches and events. The first question on any spike or drop is "what shipped?" Keep a running annotation line (releases, pricing, campaigns, outages, holidays) so you can answer it instantly.
  • Watch the denominator. Big percentage swings on small bases are almost always noise. State the n.
  • Suspect the instrumentation first on weird moves. A metric that doubles or vanishes overnight is more often a tracking change than real behavior — verify the pipeline before you write the narrative.
  • Use percentage points for rate changes. Activation going 39% → 41% is +2pp (and +5% relative); say "pp" to avoid the classic ambiguity.
  • Lead with the decision. Executives read the actions first. Put what to do where the eye lands; relegate the table to evidence.
  • Be consistent period over period. Same metrics, same definitions, same order every time — so trends jump out and reviews get faster.

Make it shareable: the visualize skill renders this as a KPI scorecard — a self-contained HTML visual you can screenshot into a deck or Slack.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.