{"id":"08342d8b-14f8-47cc-a0fa-77bde1f62831","shortId":"M983mJ","kind":"skill","title":"setting-okrs-goals","tagline":"Set aligned OKRs/goals: objectives, key results, guardrails, review cadence.","description":"# Setting OKRs & Goals\n\n## Scope\n\n**Covers**\n- Turning strategy (or a North Star) into a small set of team/company OKRs\n- Writing objectives that drive weekly execution (not just aspirational statements)\n- Designing robust key results (prefer absolute counts; guard against gaming)\n- Adding “default-on” systems/habits that make progress inevitable\n- Defining review cadence + end-of-cycle grading to create a learning loop\n\n**When to use**\n- “Set our Q2 OKRs.”\n- “Write objectives and key results for this team.”\n- “We need quarterly goals that actually change behavior week-to-week.”\n- “Our metrics are getting gamed / teams are optimizing the wrong thing.”\n- “We need an OKR review + grading process.”\n\n**When NOT to use**\n- You don’t have an agreed strategy/North Star at all -> use `writing-north-star-metrics` or `defining-product-vision` first\n- You need sprint planning or a delivery plan (tickets, estimates, timelines) -> use `managing-timelines`\n- You’re using OKRs primarily for individual performance evaluation\n- You only need a single experiment metric for one test\n- You need an analytics/event tracking implementation plan from scratch\n- You need to prioritize which initiatives to pursue before setting goals -> use `prioritizing-roadmap`\n- You need a product vision or strategy document, not just quarterly goals -> use `defining-product-vision`\n\n## Inputs\n\n**Minimum required**\n- Planning cycle + horizon (e.g., Q2; annual; 6 weeks) and the team(s) in scope\n- Strategy anchor: company goal, North Star, or “why now” narrative for the cycle\n- Current baseline for key metrics (or best-available proxy) + where the numbers come from\n- Constraints: capacity, must-do commitments, dependencies, risk tolerance\n- Stakeholders: decider(s), contributors, approvers, review cadence participants\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 OKR set options (conservative/base/ambitious).\n\n## Outputs (deliverables)\n\nProduce an **OKR & Goals Pack** in Markdown (in-chat; or as files if the user requests), in this order:\n\n1) **Context snapshot** (strategy anchor, horizon, scope, constraints, stakeholders)\n2) **Alignment map** (company goal → team objective(s), no more than one step away)\n3) **Draft OKRs** (1–3 Objectives; 2–5 Key Results each) with metric definitions, baselines, targets, owners, cadence\n4) **Metric robustness + guardrails** (anti-gaming checks; ratio/denominator rules; quality guardrails)\n5) **Systems & habits plan** (“default-on” behaviors/processes that make progress recurring)\n6) **Review + grading plan** (weekly check-in; mid-cycle checkpoint; end-of-cycle scoring + learning retro)\n7) **Risks / Open questions / Next steps** (always included)\n\nTemplates: [references/TEMPLATES.md](references/TEMPLATES.md)\n\n## Workflow (8 steps)\n\n### 1) Intake + decision framing\n- **Inputs:** User context; [references/INTAKE.md](references/INTAKE.md).\n- **Actions:** Confirm horizon, scope, strategy anchor, baseline availability, constraints, and decision-maker(s).\n- **Outputs:** Context snapshot.\n- **Checks:** Everyone agrees what OKRs are for (alignment + learning), and what they are not (performance evaluation).\n\n### 2) Establish alignment (“one step away”)\n- **Inputs:** Strategy anchor; current company goal/North Star.\n- **Actions:** Write a one-sentence company goal for the cycle; map each proposed team objective to it (no deep cascading).\n- **Outputs:** Alignment map.\n- **Checks:** For every team objective, you can answer: “How does this move the company goal within this horizon?”\n\n### 3) Draft 1–3 Objectives (outcome-first)\n- **Inputs:** Alignment map; key problems/opportunities.\n- **Actions:** Draft objectives as outcomes + intent (not projects). Keep the set small.\n- **Outputs:** Objective list with short rationale (“why now / why this”).\n- **Checks:** An objective can be understood without reading its KRs; it changes what the team prioritizes weekly.\n\n### 4) Generate candidate KRs (robust, measurable)\n- **Inputs:** Objectives; baselines (or proxies).\n- **Actions:** Draft 2–5 KRs per objective; define baseline, target, time window, metric owner, and data source. Prefer **absolute** metrics; if you use a ratio, also include its absolute numerator/denominator KRs or guardrails.\n- **Outputs:** KR table(s) with metric definitions.\n- **Checks:** Two analysts would compute the same number; targets are directionally ambitious but not fantasy.\n\n### 5) Add systems/habits (default-on execution)\n- **Inputs:** OKRs draft; team operating model.\n- **Actions:** Specify the recurring mechanisms that will produce progress (cadences, routines, gates, customer touchpoints), not just one-off initiatives.\n- **Outputs:** Systems & habits plan.\n- **Checks:** At least one “default-on” system exists per objective, with an owner and cadence.\n\n### 6) Anti-gaming + guardrails\n- **Inputs:** KRs + systems plan.\n- **Actions:** Identify how each KR could be gamed or cause harm. Add guardrails (quality, trust, margin, volume) and ratio/denominator checks.\n- **Outputs:** Guardrails section + anti-gaming notes per KR.\n- **Checks:** You can name 1–2 failure modes per KR and how you’ll detect them early.\n\n### 7) Review cadence + grading plan (learning loop)\n- **Inputs:** Full draft OKRs + guardrails.\n- **Actions:** Define weekly review format, mid-cycle checkpoint rules, and end-of-cycle grading (scoring + retrospective questions).\n- **Outputs:** Review + grading plan.\n- **Checks:** The plan produces learning, not blame; it specifies who reviews, when, and what decisions can change mid-cycle.\n\n### 8) Quality gate + finalize the pack\n- **Inputs:** Entire OKR & Goals Pack.\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 OKR & Goals Pack.\n- **Checks:** Pack is shareable as-is; alignment, metrics, guardrails, and cadence are unambiguous.\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):** “Set Q2 OKRs for Activation to improve time-to-first-value for new teams.”  \nExpected: 1–2 objectives focused on new-team success, KRs with baselines/targets, a weekly review cadence, and guardrails (e.g., support tickets/new team).\n\n**Example 2 (Growth):** “Set quarterly OKRs for Growth; we keep arguing about conversion rate vs volume.”  \nExpected: KRs expressed as absolute numbers (e.g., activated users) plus denominator/quality guardrails to prevent ‘ratio gaming’.\n\n**Boundary example (redirect):** “We need to figure out our overall product strategy and vision before we can set goals.”\nResponse: redirect to `defining-product-vision` -- this request needs upstream strategy work, not OKR design. Come back to OKRs once the strategy anchor is established.\n\n**Boundary example (insufficient context):** “Write OKRs, but we don’t have a company goal or baseline metrics.”\nResponse: ask for the minimum strategy anchor + baselines; if unavailable, produce 2-3 draft OKR options with explicit assumptions and recommend doing North Star/vision first.\n\n## Anti-patterns\n\nAvoid these common failure modes when setting OKRs and goals:\n\n1. **Activity-as-key-result** -- Writing KRs like “Launch feature X” or “Ship 3 experiments.” Key results must measure outcomes (what changed for the user/business), not outputs (what the team shipped).\n2. **Ratio gaming** -- Using percentage-based KRs (e.g., “increase conversion rate to 15%”) without tracking the absolute numerator and denominator. Teams can hit ratio targets by shrinking the denominator.\n3. **Too many OKRs** -- Setting 5+ objectives with 5+ KRs each. More than 3 objectives means nothing is truly prioritized. If everything is a priority, nothing is.\n4. **OKR-as-performance-review** -- Tying OKR scores directly to compensation or promotion decisions. This incentivizes sandbagging (setting easy targets) and discourages ambitious goals.\n5. **Missing review cadence** -- Setting OKRs at the start of the quarter and only scoring them at the end. Without weekly check-ins and a mid-cycle checkpoint, OKRs become aspirational wallpaper.","tags":["setting","okrs","goals","lenny","skills","plus","liqiongyu","agent-skills","ai-agents","automation","claude","codex"],"capabilities":["skill","source-liqiongyu","skill-setting-okrs-goals","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/setting-okrs-goals","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 (8,404 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:25.404Z","embedding":null,"createdAt":"2026-04-18T22:17:05.994Z","updatedAt":"2026-04-22T00:56:25.404Z","lastSeenAt":"2026-04-22T00:56:25.404Z","tsv":"'-3':1016 '1':332,358,430,529,740,869,888,1042 '15':1087 '2':304,341,361,472,592,741,889,911,1015,1074 '3':305,355,359,527,530,1056,1104,1117 '4':373,579,1131 '5':289,362,385,593,645,1109,1112,1156 '6':229,397,698 '7':416,753 '8':428,808 'absolut':47,608,618,930,1091 'action':439,485,540,590,658,707,765,819 'activ':876,933,1044 'activity-as-key-result':1043 'actual':94 'ad':52 'add':646,718,828 'agre':128,458 'align':6,342,463,474,507,536,844 'also':615 'alway':422,860 'ambiti':641,1154 'analyst':632 'analytics/event':182 'anchor':238,336,444,480,984,1010 'annual':228 'answer':516 'anti':378,700,731,1030 'anti-gam':377,699,730 'anti-pattern':1029 'approv':278 'argu':920 'as-i':841 'ask':286,1005 'aspir':40,1188 'assumpt':301,1022 'avail':258,446 'avoid':1032 'away':354,477 'b2b':870 'back':978 'base':1080 'baselin':251,369,445,587,598,1002,1011 'baselines/targets':899 'becom':1187 'behavior':96 'behaviors/processes':392 'best':257 'best-avail':256 'blame':794 'boundari':942,987 'cadenc':13,63,280,372,667,697,755,848,903,1159 'candid':581 'capac':266 'cascad':505 'caus':716 'chang':95,573,804,1064 'chat':321 'check':380,403,456,509,562,630,682,726,736,788,837,1178 'check-in':402,1177 'checkpoint':408,773,1185 'clear':299 'come':263,977 'commit':270 'common':1034 'compani':239,344,482,491,522,999 'compens':1142 'comput':634 'confirm':440 'conservative/base/ambitious':309 'constraint':265,339,447 'context':333,436,454,990 'contributor':277 'convers':922,1084 'could':712 'count':48 'cover':18 'creat':70 'current':250,481 'custom':670 'cycl':67,224,249,407,412,495,772,779,807,1184 'data':605 'decid':275 'decis':432,450,802,1145 'decision-mak':449 'deep':504 'default':54,390,649,687 'default-on':53,389,648,686 'defin':61,141,217,597,766,965 'defining-product-vis':140,216,964 'definit':368,629 'deliver':311 'deliveri':151 'denomin':1094,1103 'denominator/quality':936 'depend':271 'design':42,976 'detect':750 'direct':640,1140 'discourag':1153 'document':210 'draft':356,528,541,591,654,762,1017 'drive':35 'e.g':226,906,932,1082 'earli':752 'easi':1150 'end':65,410,777,1174 'end-of-cycl':64,409,776 'entir':815 'establish':473,986 'estim':154 'evalu':168,471 'everi':511 'everyon':457 'everyth':1125 'exampl':867,868,910,943,988 'execut':37,651 'exist':690 'expect':887,926 'experi':174,1057 'explicit':1021 'express':928 'failur':742,1035 'fantasi':644 'featur':1052 'figur':948 'file':324 'final':811,833 'first':144,534,882,1028 'focus':891 'format':769 'frame':433 'full':761 'game':51,105,379,701,714,732,941,1076 'gate':669,810,852 'generat':580 'get':104 'goal':4,16,92,198,214,240,315,345,492,523,817,835,960,1000,1041,1155 'goal/north':483 'grade':68,117,399,756,780,786 'growth':912,917 'guard':49 'guardrail':11,376,384,622,702,719,728,764,846,905,937 'habit':387,680 'harm':717 'hit':1097 'horizon':225,337,441,526 'identifi':708 'implement':184 'improv':878 'in':1179 'in-chat':319 'incentiv':1147 'includ':423,616,861 'increas':1083 'individu':166 'inevit':60 'info':284 'initi':193,677 'input':220,434,478,535,585,652,703,760,814 'insuffici':989 'intak':431 'intent':545 'keep':548,919 'key':9,44,84,253,363,538,1046,1058 'kr':624,711,735,745 'krs':571,582,594,620,704,897,927,1049,1081,1113 'label':300 'launch':1051 'learn':72,414,464,758,792 'least':684 'like':1050 'list':554 'll':749 'loop':73,759 'make':58,394 'maker':451 'manag':158 'managing-timelin':157 'mani':1106 'map':343,496,508,537 'margin':722 'markdown':318 'mean':1119 'measur':584,1061 'mechan':662 'metric':102,138,175,254,367,374,602,609,628,845,1003 'mid':406,771,806,1183 'mid-cycl':405,770,805,1182 'minimum':221,1008 'miss':283,296,1157 'missing-info':282 'mode':743,1036 'model':657 'move':520 'must':268,1060 'must-do':267 'name':739 'narrat':246 'need':90,113,146,171,180,189,204,946,970 'new':885,894 'new-team':893 'next':420,865 'north':23,136,241,1026 'note':733 'noth':1120,1129 'number':262,637,931 'numer':1092 'numerator/denominator':619 'object':8,33,82,347,360,500,513,531,542,553,564,586,596,692,890,1110,1118 'okr':3,15,31,80,115,163,306,314,357,460,653,763,816,834,874,915,975,980,992,1018,1039,1107,1133,1138,1161,1186 'okr-as-performance-review':1132 'okrs/goals':7 'one':177,352,475,489,675,685 'one-off':674 'one-sent':488 'open':418,863 'oper':656 'optim':108 'option':308,1019 'order':331 'outcom':533,544,1062 'outcome-first':532 'output':310,453,506,552,623,678,727,784,832,1069 'overal':951 'owner':371,603,695 'pack':316,813,818,836,838 'particip':281 'pattern':1031 'per':595,691,734,744 'percentag':1079 'percentage-bas':1078 'perform':167,470,1135 'plan':148,152,185,223,388,400,681,706,757,787,790 'plus':935 'prefer':46,607 'prevent':939 'primarili':164 'priorit':191,201,577,1123 'prioriti':1128 'prioritizing-roadmap':200 'problems/opportunities':539 'proceed':297 'process':118 'produc':312,665,791,1014 'product':142,206,218,952,966 'progress':59,395,666 'project':547 'promot':1144 'propos':498 'provid':303 'proxi':259,589 'pursu':195 'q2':79,227,873 'qualiti':383,720,809,851 'quarter':91,213,914,1167 'question':290,419,783,864 'questions/next':830 'rate':923,1085 'ratio':614,940,1075,1098 'ratio/denominator':381,725 'rational':557 're':161 'read':569 'recommend':1024 'recur':396,661 'redirect':944,962 'references/checklists.md':821,822,855,856 'references/intake.md':292,293,437,438 'references/rubric.md':826,827,858,859 'references/templates.md':425,426 'request':328,969 'requir':222,853 'respons':961,1004 'result':10,45,85,364,1047,1059 'retro':415 'retrospect':782 'review':12,62,116,279,398,754,768,785,798,902,1136,1158 'risk':272,417,862 'risks/open':829 'roadmap':202 'robust':43,375,583 'routin':668 'rule':382,774 'run':820 'saa':871 'sandbag':1148 'scope':17,236,338,442 'score':413,781,824,1139,1170 'scratch':187 'section':729 'sentenc':490 'set':2,5,14,28,77,197,307,550,872,913,959,1038,1108,1149,1160 'setting-okrs-go':1 'shareabl':840 'ship':1055,1073 'short':556 'shrink':1101 'singl':173 'skill' 'skill-setting-okrs-goals' 'small':27,551 'snapshot':334,455 'sourc':606 'source-liqiongyu' 'specifi':659,796 'sprint':147 'stakehold':274,340 'star':24,130,137,242,484 'star/vision':1027 'start':1164 'statement':41 'step':353,421,429,476,831,866 'still':295 'strategi':20,209,237,285,335,443,479,953,972,983,1009 'strategy/north':129 'success':896 'support':907 'system':386,679,689,705 'systems/habits':56,647 'tabl':625 'target':370,599,638,1099,1151 'team':88,106,233,346,499,512,576,655,886,895,909,1072,1095 'team/company':30 'templat':424 'test':178 'thing':111 'ticket':153 'tickets/new':908 'tie':1137 'time':600,880 'time-to-first-valu':879 'timelin':155,159 'toler':273 'topic-agent-skills' 'topic-ai-agents' 'topic-automation' 'topic-claude' 'topic-codex' 'topic-prompt-engineering' 'topic-refoundai' 'topic-skillpack' 'touchpoint':671 'track':183,1089 'truli':1122 'trust':721 'turn':19 'two':631 'unambigu':850 'unavail':1013 'understood':567 'upstream':971 'use':76,122,133,156,162,199,215,612,854,1077 'user':327,435,934 'user/business':1067 'valu':883 'vision':143,207,219,955,967 'volum':723,925 'vs':924 'wallpap':1189 'week':36,98,100,230,401,578,767,901,1176 'week-to-week':97 'window':601 'within':524 'without':568,1088,1175 'work':973 'workflow':427 'would':633 'write':32,81,135,486,991,1048 'writing-north-star-metr':134 'wrong':110 'x':1053","prices":[{"id":"ae62c841-acbf-4da2-98bf-3856266245c4","listingId":"08342d8b-14f8-47cc-a0fa-77bde1f62831","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:05.994Z"}],"sources":[{"listingId":"08342d8b-14f8-47cc-a0fa-77bde1f62831","source":"github","sourceId":"liqiongyu/lenny_skills_plus/setting-okrs-goals","sourceUrl":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/setting-okrs-goals","isPrimary":false,"firstSeenAt":"2026-04-18T22:17:05.994Z","lastSeenAt":"2026-04-22T00:56:25.404Z"}],"details":{"listingId":"08342d8b-14f8-47cc-a0fa-77bde1f62831","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"liqiongyu","slug":"setting-okrs-goals","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":"60ba6760aecabe57c78ff66ca65cca60c424030f","skill_md_path":"skills/setting-okrs-goals/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/setting-okrs-goals"},"layout":"multi","source":"github","category":"lenny_skills_plus","frontmatter":{"name":"setting-okrs-goals","description":"Set aligned OKRs/goals: objectives, key results, guardrails, review cadence."},"skills_sh_url":"https://skills.sh/liqiongyu/lenny_skills_plus/setting-okrs-goals"},"updatedAt":"2026-04-22T00:56:25.404Z"}}