{"id":"2e7467f0-1169-4f32-82b2-6cc33e93c652","shortId":"BGXJ5G","kind":"skill","title":"writing-north-star-metrics","tagline":"Define or refresh a product North Star metric + driver tree.","description":"# Writing North Star Metrics\n\n## Scope\n\n**Covers**\n- Defining or refreshing a product/company North Star and North Star Metric\n- Translating a qualitative value model into measurable, decision-useful metrics\n- Creating a simple driver tree: leading input/proxy metrics + guardrails\n- Producing a “North Star Metric Pack” teams can use as a decision tie-breaker\n\n**When to use**\n- “We need one metric that defines success.”\n- “Teams are optimizing different KPIs.”\n- “We’re setting quarterly OKRs and need leading indicators.”\n- “We’re launching a new strategy and need a metric that aligns decisions.”\n\n**When NOT to use**\n- You only need OKRs for an already-agreed North Star -> use `setting-okrs-goals`\n- You need a full analytics taxonomy/event tracking plan from scratch\n- Stakeholders haven’t aligned on the customer value model / mission at all -> use `defining-product-vision` first\n- You’re choosing a single experiment metric for a one-off test\n- You need to diagnose retention or engagement patterns, not define the top-level metric -> use `retention-engagement`\n- You need to assess whether you have product-market fit -> use `measuring-product-market-fit`\n\n## Inputs\n\n**Minimum required**\n- Product/company + primary customer segment\n- The “value moment” (what the customer gets when things go well)\n- Business model + strategic goal (growth, activation, retention, margin, trust, etc.)\n- Time horizon (next quarter vs next year)\n- Measurement constraints (what you can measure today; data latency; known gaps)\n\n**Missing-info strategy**\n- Ask up to 5 questions from [references/INTAKE.md](references/INTAKE.md).\n- If still missing, proceed with clearly labeled assumptions and provide 2–3 options.\n\n## Outputs (deliverables)\n\nProduce a **North Star Metric Pack** in Markdown (in-chat; or as files if the user requests):\n\n1) **North Star Narrative** (value model, tie-breaker, scope)\n2) **Candidate metrics** (3–5) + **selection rationale** (evaluation table)\n3) **Chosen North Star Metric spec** (definition, formula, window, segmentation, owner, data source)\n4) **Driver tree** (leading input/proxy metrics + guardrails)\n5) **Validation & rollout plan** (instrumentation checks, dashboard cadence, decision rules)\n6) **Risks / Open questions / Next steps** (always included)\n\nTemplates: [references/TEMPLATES.md](references/TEMPLATES.md)\n\n## Workflow (8 steps)\n\n### 1) Intake + constraints\n- **Inputs:** User context; use [references/INTAKE.md](references/INTAKE.md).\n- **Actions:** Confirm product, customer, value moment, horizon, constraints, stakeholders.\n- **Outputs:** 5–10 bullet “Context snapshot”.\n- **Checks:** You can explain the customer value in one sentence.\n\n### 2) Define the qualitative North Star (before numbers)\n- **Inputs:** Context snapshot.\n- **Actions:** Write a North Star statement and value model from the customer’s perspective.\n- **Outputs:** Draft **North Star Narrative** (template in [references/TEMPLATES.md](references/TEMPLATES.md)).\n- **Checks:** Narrative can act as a decision tie-breaker (“if we do X, does it move the North Star?”).\n\n### 3) Generate 3–5 candidate North Star metrics (customer POV)\n- **Inputs:** North Star Narrative + value moment.\n- **Actions:** Propose metrics that measure delivered customer value (not internal activity). Include at least one “friction/absence of pain” option when relevant.\n- **Outputs:** Candidate list with definitions.\n- **Checks:** Each candidate is measurable, understandable, and not trivially gameable.\n\n### 4) Stress-test and pick the North Star metric\n- **Inputs:** Candidate metrics.\n- **Actions:** Evaluate with [references/CHECKLISTS.md](references/CHECKLISTS.md) and [references/RUBRIC.md](references/RUBRIC.md). Explicitly test:\n  - Leading vs lagging (avoid “retention as the only goal”; pair lagging outcomes with controllable inputs)\n  - Controllability within a quarter (proxy/input metrics you can move)\n  - Ecosystem impact (what breaks if you optimize this?)\n- **Outputs:** Selection table + chosen metric + why others lost.\n- **Checks:** A cross-functional leader could agree/disagree based on definitions and evidence.\n\n### 5) Write the metric spec (make it unambiguous)\n- **Inputs:** Chosen metric.\n- **Actions:** Define formula, unit, window, inclusion rules, segmentation, owner, source, latency, and example calculation.\n- **Outputs:** **North Star Metric Spec**.\n- **Checks:** Two analysts would compute the same number.\n\n### 6) Build the driver tree (inputs + guardrails)\n- **Inputs:** Metric spec + product levers.\n- **Actions:** Decompose into 3–7 drivers; identify leading input/proxy metrics you can move in weeks/months; add guardrails to prevent gaming/harm.\n- **Outputs:** Driver tree table + guardrails list.\n- **Checks:** Every driver has at least 1 realistic lever (initiative/experiment) and 1 measurement.\n\n### 7) Define validation + rollout\n- **Inputs:** Driver tree + constraints.\n- **Actions:** Plan validation (sanity checks, correlation to outcomes) and operationalization (dashboards, cadence, owners, decision rules).\n- **Outputs:** **Validation & Rollout Plan**.\n- **Checks:** Plan includes “who does what, when” and works with current instrumentation.\n\n### 8) Quality gate + finalize pack\n- **Inputs:** All drafts.\n- **Actions:** Run [references/CHECKLISTS.md](references/CHECKLISTS.md) and score with [references/RUBRIC.md](references/RUBRIC.md). Add Risks/Open questions/Next steps.\n- **Outputs:** Final **North Star Metric Pack**.\n- **Checks:** Pack is shareable as-is; key decisions and caveats are explicit.\n\n## Quality gate (required)\n- Use [references/CHECKLISTS.md](references/CHECKLISTS.md) and [references/RUBRIC.md](references/RUBRIC.md).\n- Always include: **Risks**, **Open questions**, **Next steps**.\n\n## Examples\n\n**Example 1 (B2B SaaS):** “Define a North Star metric for a team collaboration tool.”  \nExpected: a pack that chooses a customer-value metric (e.g., weekly active teams completing the core value moment), plus a driver tree (activation → collaboration depth) and guardrails.\n\n**Example 2 (Marketplace):** “Refresh North Star metric for a local services marketplace.”  \nExpected: a pack that measures delivered value (e.g., successful jobs completed with quality), plus input metrics for supply/demand balance and quality guardrails.\n\n**Boundary example (redirect):** “We already have our North Star metric. Now set quarterly OKRs and key results for the team.”\nResponse: redirect to `setting-okrs-goals` -- this request needs OKR design from an existing North Star, not metric definition work.\n\n**Boundary example (reframe):** “Our North Star should be retention.”\nResponse: keep retention as an outcome/validation metric, and propose controllable input/proxy metrics (time-to-first-value, weekly value moments, repeat value delivery) as the operating focus.\n\n## Anti-patterns\n\nAvoid these common failure modes when defining North Star metrics:\n\n1. **Revenue-as-North-Star** -- Choosing revenue or profit as the North Star metric. Revenue is a trailing indicator of value delivery; it cannot be a decision tie-breaker for product teams. Use a customer-value metric that leads to revenue.\n2. **Vanity volume metric** -- Picking a metric that only goes up (total users, total messages sent) without a quality or frequency dimension. Always pair volume with a quality or engagement signal.\n3. **Uncontrollable lagging metric** -- Selecting a metric no team can move within a quarter. The North Star must decompose into leading input metrics with realistic levers.\n4. **Driver tree without levers** -- Building a decomposition tree where drivers are described as metrics but no team has a concrete initiative or experiment to move them. Every driver needs at least one actionable lever.\n5. **Metric without a spec** -- Agreeing on a metric name (“weekly active teams”) without defining formula, window, inclusion rules, and segmentation. Two analysts should compute the same number.","tags":["writing","north","star","metrics","lenny","skills","plus","liqiongyu","agent-skills","ai-agents","automation","claude"],"capabilities":["skill","source-liqiongyu","skill-writing-north-star-metrics","topic-agent-skills","topic-ai-agents","topic-automation","topic-claude","topic-codex","topic-prompt-engineering","topic-refoundai","topic-skillpack"],"categories":["lenny_skills_plus"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/liqiongyu/lenny_skills_plus/writing-north-star-metrics","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add liqiongyu/lenny_skills_plus","source_repo":"https://github.com/liqiongyu/lenny_skills_plus","install_from":"skills.sh"}},"qualityScore":"0.474","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 49 github stars · SKILL.md body (7,949 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T00:56:26.500Z","embedding":null,"createdAt":"2026-04-18T22:17:16.064Z","updatedAt":"2026-04-22T00:56:26.500Z","lastSeenAt":"2026-04-22T00:56:26.500Z","tsv":"'1':293,356,654,659,758,923 '10':376 '2':270,303,390,800,967 '3':271,306,312,444,446,625,998 '4':325,496,1024 '5':255,307,332,375,447,572,1059 '6':342,610 '7':626,661 '8':354,700 'act':427 'action':365,401,460,509,583,622,669,708,1057 'activ':225,470,783,794,1070 'add':637,717 'agre':117,1064 'agree/disagree':566 'align':103,138 'alreadi':116,837 'already-agre':115 'alway':348,749,989 'analyst':604,1081 'analyt':129 'anti':911 'anti-pattern':910 'as-i':731 'ask':252 'assess':188 'assumpt':267 'avoid':522,913 'b2b':759 'balanc':829 'base':567 'boundari':833,874 'break':546 'breaker':67,301,433,953 'build':611,1029 'bullet':377 'busi':220 'cadenc':339,680 'calcul':596 'candid':304,448,482,488,507 'cannot':947 'caveat':737 'chat':285 'check':337,380,424,486,559,602,648,673,688,727 'choos':155,775,929 'chosen':313,554,581 'clear':265 'collabor':769,795 'common':915 'complet':785,821 'comput':606,1083 'concret':1044 'confirm':366 'constraint':238,358,372,668 'context':361,378,399 'control':532,534,892 'core':787 'correl':674 'could':565 'cover':21 'creat':44 'cross':562 'cross-funct':561 'current':698 'custom':141,207,214,368,385,412,452,466,778,960 'customer-valu':777,959 'dashboard':338,679 'data':244,323 'decis':41,64,104,340,430,682,735,950 'decision-us':40 'decompos':623,1016 'decomposit':1031 'defin':6,22,76,149,175,391,584,662,761,919,1073 'defining-product-vis':148 'definit':318,485,569,872 'deliv':465,816 'deliver':274 'deliveri':905,945 'depth':796 'describ':1036 'design':864 'diagnos':169 'differ':81 'dimens':988 'draft':416,707 'driver':14,47,326,613,627,643,650,666,792,1025,1034,1052 'e.g':781,818 'ecosystem':543 'engag':172,184,996 'etc':229 'evalu':310,510 'everi':649,1051 'evid':571 'exampl':595,756,757,799,834,875 'exist':867 'expect':771,811 'experi':158,1047 'explain':383 'explicit':517,739 'failur':916 'file':288 'final':703,722 'first':152,898 'fit':195,201 'focus':909 'formula':319,585,1074 'frequenc':987 'friction/absence':475 'full':128 'function':563 'gameabl':495 'gaming/harm':641 'gap':247 'gate':702,741 'generat':445 'get':215 'go':218 'goal':124,223,527,859 'goe':976 'growth':224 'guardrail':52,331,616,638,646,798,832 'haven':136 'horizon':231,371 'identifi':628 'impact':544 'in-chat':283 'includ':349,471,690,750 'inclus':588,1076 'indic':91,942 'info':250 'initi':1045 'initiative/experiment':657 'input':202,359,398,454,506,533,580,615,617,665,705,825,1019 'input/proxy':50,329,630,893 'instrument':336,699 'intak':357 'intern':469 'job':820 'keep':884 'key':734,848 'known':246 'kpis':82 'label':266 'lag':521,529,1000 'latenc':245,593 'launch':94 'lead':49,90,328,519,629,964,1018 'leader':564 'least':473,653,1055 'level':179 'lever':621,656,1023,1028,1058 'list':483,647 'local':808 'lost':558 'make':577 'margin':227 'markdown':282 'market':194,200 'marketplac':801,810 'measur':39,198,237,242,464,490,660,815 'measuring-product-market-fit':197 'messag':981 'metric':5,13,19,32,43,51,57,74,101,159,180,279,305,316,330,451,462,505,508,539,555,575,582,600,618,631,725,765,780,805,826,842,871,889,894,922,937,962,970,973,1001,1004,1020,1038,1060,1067 'minimum':203 'miss':249,262 'missing-info':248 'mission':144 'mode':917 'model':37,143,221,298,409 'moment':211,370,459,789,902 'move':440,542,634,1008,1049 'must':1015 'name':1068 'narrat':296,419,425,457 'need':72,89,99,111,126,167,186,862,1053 'new':96 'next':232,235,346,754 'north':3,11,17,27,30,55,118,277,294,314,394,404,417,442,449,455,503,598,723,763,803,840,868,878,920,927,935,1013 'number':397,609,1086 'okr':87,112,123,846,858,863 'one':73,163,388,474,1056 'one-off':162 'open':344,752 'oper':908 'operation':678 'optim':80,549 'option':272,478 'other':557 'outcom':530,676 'outcome/validation':888 'output':273,374,415,481,551,597,642,684,721 'owner':322,591,681 'pack':58,280,704,726,728,773,813 'pain':477 'pair':528,990 'pattern':173,912 'perspect':414 'pick':501,971 'plan':132,335,670,687,689 'plus':790,824 'pov':453 'prevent':640 'primari':206 'proceed':263 'produc':53,275 'product':10,150,193,199,367,620,955 'product-market':192 'product/company':26,205 'profit':932 'propos':461,891 'provid':269 'proxy/input':538 'qualit':35,393 'qualiti':701,740,823,831,985,994 'quarter':86,233,537,845,1011 'question':256,345,753 'questions/next':719 'rational':309 're':84,93,154 'realist':655,1022 'redirect':835,854 'references/checklists.md':512,513,710,711,744,745 'references/intake.md':258,259,363,364 'references/rubric.md':515,516,715,716,747,748 'references/templates.md':351,352,422,423 'refram':876 'refresh':8,24,802 'relev':480 'repeat':903 'request':292,861 'requir':204,742 'respons':853,883 'result':849 'retent':170,183,226,523,882,885 'retention-engag':182 'revenu':925,930,938,966 'revenue-as-north-star':924 'risk':343,751 'risks/open':718 'rollout':334,664,686 'rule':341,589,683,1077 'run':709 'saa':760 'saniti':672 'scope':20,302 'score':713 'scratch':134 'segment':208,321,590,1079 'select':308,552,1002 'sent':982 'sentenc':389 'servic':809 'set':85,122,844,857 'setting-okrs-go':121,856 'shareabl':730 'signal':997 'simpl':46 'singl':157 'skill' 'skill-writing-north-star-metrics' 'snapshot':379,400 'sourc':324,592 'source-liqiongyu' 'spec':317,576,601,619,1063 'stakehold':135,373 'star':4,12,18,28,31,56,119,278,295,315,395,405,418,443,450,456,504,599,724,764,804,841,869,879,921,928,936,1014 'statement':406 'step':347,355,720,755 'still':261 'strateg':222 'strategi':97,251 'stress':498 'stress-test':497 'success':77,819 'supply/demand':828 'tabl':311,553,645 'taxonomy/event':130 'team':59,78,768,784,852,956,1006,1041,1071 'templat':350,420 'test':165,499,518 'thing':217 'tie':66,300,432,952 'tie-break':65,299,431,951 'time':230,896 'time-to-first-valu':895 'today':243 'tool':770 'top':178 'top-level':177 'topic-agent-skills' 'topic-ai-agents' 'topic-automation' 'topic-claude' 'topic-codex' 'topic-prompt-engineering' 'topic-refoundai' 'topic-skillpack' 'total':978,980 'track':131 'trail':941 'translat':33 'tree':15,48,327,614,644,667,793,1026,1032 'trivial':494 'trust':228 'two':603,1080 'unambigu':579 'uncontrol':999 'understand':491 'unit':586 'use':42,61,70,108,120,147,181,196,362,743,957 'user':291,360,979 'valid':333,663,671,685 'valu':36,142,210,297,369,386,408,458,467,779,788,817,899,901,904,944,961 'vaniti':968 'vision':151 'volum':969,991 'vs':234,520 'week':782,900,1069 'weeks/months':636 'well':219 'whether':189 'window':320,587,1075 'within':535,1009 'without':983,1027,1061,1072 'work':696,873 'workflow':353 'would':605 'write':2,16,402,573 'writing-north-star-metr':1 'x':437 'year':236","prices":[{"id":"8fbb4e21-3968-4ed1-90de-e4ddc8da66cc","listingId":"2e7467f0-1169-4f32-82b2-6cc33e93c652","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"liqiongyu","category":"lenny_skills_plus","install_from":"skills.sh"},"createdAt":"2026-04-18T22:17:16.064Z"}],"sources":[{"listingId":"2e7467f0-1169-4f32-82b2-6cc33e93c652","source":"github","sourceId":"liqiongyu/lenny_skills_plus/writing-north-star-metrics","sourceUrl":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/writing-north-star-metrics","isPrimary":false,"firstSeenAt":"2026-04-18T22:17:16.064Z","lastSeenAt":"2026-04-22T00:56:26.500Z"}],"details":{"listingId":"2e7467f0-1169-4f32-82b2-6cc33e93c652","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"liqiongyu","slug":"writing-north-star-metrics","github":{"repo":"liqiongyu/lenny_skills_plus","stars":49,"topics":["agent-skills","ai-agents","automation","claude","codex","prompt-engineering","refoundai","skillpack"],"license":"apache-2.0","html_url":"https://github.com/liqiongyu/lenny_skills_plus","pushed_at":"2026-04-04T06:30:11Z","description":"86 agent-executable skill packs converted from RefoundAI’s Lenny skills (unofficial). Works with Codex + Claude Code.","skill_md_sha":"4fdbad9a308398cd70f006a52e43d77f15dc8aed","skill_md_path":"skills/writing-north-star-metrics/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/writing-north-star-metrics"},"layout":"multi","source":"github","category":"lenny_skills_plus","frontmatter":{"name":"writing-north-star-metrics","description":"Define or refresh a product North Star metric + driver tree."},"skills_sh_url":"https://skills.sh/liqiongyu/lenny_skills_plus/writing-north-star-metrics"},"updatedAt":"2026-04-22T00:56:26.500Z"}}