Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Product analytics for instrumenting products, defining metrics, and building retention funnels. Use when designing a metric tree, instrumenting a feature, auditing instrumentation, defining a North Star, or building an analytics roadmap.
.claude/skills/borghei-product-analytics/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 152% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 145% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 84% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 289% | 0% |
A product analytics skill focused on decisions from data, not dashboards. Covers the metric tree, instrumentation patterns, funnel + retention + cohort analysis, and the operational rituals that turn measurement into product changes.
Before designing the metric tree or audit, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
metric_tree_designer.py against your candidate tree to surfaceimbalance, missing layers, anti-patterns.
bashpython3 product-analytics/scripts/metric_tree_designer.py \ --input metric_tree.json --format markdown
event_taxonomy_auditor.py to flag PII risk, schema drift,naming inconsistency, duplication, undocumented events, and gaps.
bashpython3 product-analytics/scripts/event_taxonomy_auditor.py \ --input event_inventory.json --format markdown
retention_cohort_analyzer.py to compute retention rates, identifypatterns (smile curve, leaky bucket), and surface cohort-level alerts.
bashpython3 product-analytics/scripts/retention_cohort_analyzer.py \ --input retention.json --format markdown
A good North Star metric:
Common patterns by product type:
| Product type | Common North Star | |--------------|-------------------| | Communication / messaging | Messages sent per WAU | | Marketplace | Successful transactions per MAU | | Content | Hours of meaningful content consumed | | Productivity SaaS | Activated workspaces × engagement depth | | Consumer payments | Active payment senders per week | | Developer tool | Weekly active developers performing core action |
Don't pick "DAU" or "Revenue" as North Star — they're outputs, not value drivers.
A clean metric tree has three layers:
Plus a guardrails / counter-metrics sidebar (3–5 that catch unintended consequences).
If you have 30 KPIs at the top level, you have no top level.
For any new product or feature, ask: "What does it look like when a user realizes value from this?"
That's the activation event. A clear definition makes:
Common mistake: defining activation as "completed signup." Signup is table stakes; activation is the moment of value.
| Shape | Diagnosis | Action | |-------|-----------|--------| | Power-law smile | Healthy product-market fit | Invest in scale | | Slow decay then flat | Product-market fit | Investigate the flatline cohort segment | | Steep then zero | Novelty product | Re-evaluate the value proposition | | Linear decline | Leaky bucket | Improve retention features | | Inverted (rising) | Network effects kicking in | Acquire harder |
Read shape before reading numbers.
| Metric | Vanity if | Actionable if | |--------|-----------|---------------| | DAU / MAU | Tracked alone | Decomposed by segment, action | | Pageviews | Tracked alone | Tied to conversion funnel | | Total revenue | Tracked alone | Decomposed by cohort, channel, segment | | App downloads | Tracked alone | Paired with activation rate | | Total accounts | Tracked alone | Paired with active accounts |
The test: "If this metric goes up 10% next week, what do we change?" If you don't have an answer, it's vanity.
references/metric-tree-and-north-star.md — patterns by product type, tree structure, anti-patternsreferences/instrumentation-and-event-design.md — event taxonomy, naming, PII, schema disciplinereferences/cohort-retention-and-funnel-analysis.md — analysis techniques, segmentation, anti-patternsproduct-team/ab-test-setup — experimentation (paired with metrics)product-team/product-strategist — strategy upstream of metricsdata-analytics/ skills — for the data engineering sideengineering/data-quality-auditor — for instrumentation data qualityc-level-advisor/chief-data-officer-advisor — for platform decisions| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 17,841 | 16,866 | -5% | 1 | 1 | 0% | 2,857 | 4,862 | +70% | 0 | 0 | — |
case-02 | fail→fail | 28,306 | 24,163 | -15% | 1 | 1 | 0% | 4,646 | 5,808 | +25% | 0 | 0 | — |
case-03 | fail→fail | 17,746 | 19,460 | +10% | 1 | 1 | 0% | 2,759 | 4,754 | +72% | 0 | 0 | — |
case-04 | fail→fail | 12,037 | 14,476 | +20% | 1 | 1 | 0% | 1,911 | 4,063 | +113% | 0 | 0 | — |
case-05 | fail→pass | 11,037 | 14,435 | +31% | 1 | 1 | 0% | 1,604 | 4,049 | +152% | 0 | 0 | — |
case-06 | fail→pass | 11,783 | 12,822 | +9% | 1 | 1 | 0% | 1,585 | 3,878 | +145% | 0 | 0 | — |
case-07 | fail→pass | 16,803 | 13,325 | -21% | 1 | 1 | 0% | 2,275 | 3,567 | +57% | 0 | 0 | — |
case-08 | fail→pass | 11,695 | 11,324 | -3% | 1 | 1 | 0% | 1,913 | 3,514 | +84% | 0 | 0 | — |
case-09 | pass→pass | 9,259 | 12,153 | +31% | 1 | 1 | 0% | 1,301 | 3,435 | +164% | 0 | 0 | — |
case-10 | fail→pass | 4,336 | 3,731 | -14% | 1 | 1 | 0% | 672 | 2,617 | +289% | 0 | 0 | — |
case-11 | fail→pass | 3,653 | 3,250 | -11% | 1 | 1 | 0% | 497 | 2,418 | +387% | 0 | 0 | — |
case-12 | pass→pass | 13,445 | 11,071 | -18% | 1 | 1 | 0% | 2,126 | 3,593 | +69% | 0 | 0 | — |
case-13 | pass→pass | 12,542 | 13,318 | +6% | 1 | 1 | 0% | 1,842 | 3,870 | +110% | 0 | 0 | — |
case-14 | fail→pass | 9,586 | 9,355 | -2% | 1 | 1 | 0% | 1,394 | 3,406 | +144% | 0 | 0 | — |
case-15 | pass→pass | 9,982 | 14,385 | +44% | 1 | 1 | 0% | 1,454 | 4,148 | +185% | 0 | 0 | — |
case-16 | pass→fail | 16,912 | 13,173 | -22% | 1 | 1 | 0% | 2,369 | 3,910 | +65% | 0 | 0 | — |
case-17 | fail→fail | 14,814 | 15,277 | +3% | 1 | 1 | 0% | 2,034 | 4,157 | +104% | 0 | 0 | — |
case-18 | fail→pass | 11,736 | 11,463 | -2% | 1 | 1 | 0% | 1,813 | 3,961 | +118% | 0 | 0 | — |
case-19 | pass→pass | 9,609 | 11,009 | +15% | 1 | 1 | 0% | 1,388 | 3,602 | +160% | 0 | 0 | — |
case-20 | pass→pass | 15,183 | 14,758 | -3% | 1 | 1 | 0% | 2,420 | 4,190 | +73% | 0 | 0 | — |
case-21 | fail→fail | 11,869 | 17,601 | +48% | 1 | 1 | 0% | 2,366 | 5,513 | +133% | 0 | 0 | — |
case-22 | fail→fail | 11,421 | 11,653 | +2% | 1 | 1 | 0% | 2,142 | 3,969 | +85% | 0 | 0 | — |
case-23 | fail→fail | 37,820 | 27,699 | -27% | 1 | 1 | 0% | 6,187 | 6,333 | +2% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +30 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.