{"id":"f678a36b-ac07-4099-8534-03ca3955af1b","shortId":"FFwQjP","kind":"skill","title":"evaluating-trade-offs","tagline":"Produce a Trade-off Evaluation Pack (options matrix, cost table, impact ranges, recommendation). See also: evaluating-new-technology (tech-specific).","description":"# Evaluating Trade-offs\n\n## Scope\n\n**Covers**\n- Turning an ambiguous “pros/cons” debate into a decision-ready **trade-off evaluation**\n- Comparing options using **all-in cost** (not just dollars) and explicit **opportunity cost**\n- Using **order-of-magnitude estimates** (ranges + confidence) instead of false precision\n- Stress-testing decisions with **thought experiments** (pre-mortems, reversibility, “worse first” dips)\n- Avoiding sunk-cost traps with a clean **stop/continue** decision rule\n\n**When to use**\n- “Help me evaluate this trade-off and recommend a path.”\n- “Create a pros/cons that actually leads to a decision.”\n- “Compare options with cost/impact ranges and key assumptions.”\n- “We’re debating speed vs quality—what’s the right trade and how do we manage the dip?”\n- “Should we keep investing in this project, or stop? (Sunk cost question.)”\n\n**When NOT to use**\n- You need to clarify what problem you’re solving (use `problem-definition`).\n- You need a full cross-functional decision process with stakeholder alignment and governance (use `running-decision-processes`).\n- You’re prioritizing across many initiatives (use `prioritizing-roadmap`).\n- You’re evaluating a specific technology, vendor, or build-vs-buy for a tool/platform (use `evaluating-new-technology`).\n- You’re cutting scope to hit a date/timebox (use `scoping-cutting`).\n- You need to model feedback loops, second-order effects, or system dynamics (use `systems-thinking`).\n- The decision is personal/legal/HR/financial advice (escalate to qualified humans).\n\n## Inputs\n\n**Minimum required**\n- The trade-off / decision statement (one sentence) and a decision date (or “by EOW”)\n- 2–4 options you’re choosing between (include “do nothing” if plausible)\n- Constraints + non-negotiables (budget, headcount, policy, deadlines, customer commitments)\n- What “good” means (success metrics + guardrails) and the time horizon you care about\n- What you already know (evidence) + biggest unknowns (assumptions that drive the choice)\n\n**Missing-info strategy**\n- Ask up to 5 questions from [references/INTAKE.md](references/INTAKE.md) (3–5 at a time).\n- If inputs are unavailable, proceed with explicit assumptions and label unknowns that would change the recommendation.\n\n## Outputs (deliverables)\n\nProduce a **Trade-off Evaluation Pack** in Markdown (in-chat; or as files if requested) in this order:\n1) **Trade-off brief** (decision, why now, options, constraints, horizon, stakeholders)\n2) **Options + criteria matrix** (criteria + weights/guardrails; option notes)\n3) **All-in cost + opportunity cost table** (money, people/time, eng effort, complexity, displacement)\n4) **Impact ranges (order-of-magnitude)** (upside/downside ranges, confidence, key assumptions)\n5) **Worse-first + mitigation plan** (expected dip, leading indicators, mitigations, comms)\n6) **Recommendation + stop/continue triggers** (decision, rationale, review date, kill/continue criteria)\n7) **Risks / Open questions / Next steps** (always included)\n\nTemplates: [references/TEMPLATES.md](references/TEMPLATES.md)  \nExpanded guidance: [references/WORKFLOW.md](references/WORKFLOW.md)\n\n## Workflow (7 steps)\n\n### 1) Frame the trade-off (make it decidable)\n- **Inputs:** User request; [references/INTAKE.md](references/INTAKE.md).\n- **Actions:** Write the decision in one sentence (“We are choosing X vs Y by DATE to achieve GOAL”). List constraints/non-negotiables. Confirm the decision owner and who must live with the outcome.\n- **Outputs:** Trade-off brief (decision, why now, constraints, stakeholders).\n- **Checks:** You can answer: “What exactly are we deciding, by when, and for what outcome?”\n\n### 2) Define what you’re optimizing (criteria + horizon)\n- **Inputs:** Goals, metrics, guardrails; time horizon.\n- **Actions:** Pick 4–8 criteria (include at least one *guardrail* like trust/reliability/cost). Decide weights only if it changes the decision. Explicitly name what you’re *not* optimizing for.\n- **Outputs:** Options + criteria matrix (criteria definitions + weights/guardrails).\n- **Checks:** Criteria reflect real trade-offs (not “everything is important”); horizon is explicit (e.g., 90 days vs 2 years).\n\n### 3) Build the all-in cost + opportunity cost view\n- **Inputs:** Team capacity, budget, dependencies, timelines.\n- **Actions:** Estimate **all-in cost** (cash, headcount time, eng effort, maintenance, coordination). List the **opportunity cost**: what won’t be done if you choose each option.\n- **Outputs:** All-in cost + opportunity cost table.\n- **Checks:** Costs include “hidden” items (maintenance/on-call, tooling, cross-team coordination, switching costs).\n\n### 4) Estimate impact with ranges (avoid false precision)\n- **Inputs:** Any baseline numbers; evidence; assumptions.\n- **Actions:** For each option, estimate upside/downside as **ranges** and note confidence. Prefer **order-of-magnitude** comparisons (10× vs 1.1×). Identify the 2–3 assumptions that drive the model.\n- **Outputs:** Impact ranges table (range, confidence, key assumptions).\n- **Checks:** No fake decimals; uncertainty is explicit; the decision is driven by a few key drivers you can name.\n\n### 5) Run “thought experiments” (think more, build less)\n- **Inputs:** Options, assumptions, risks.\n- **Actions:** Do a pre-mortem for the top 1–2 options (“It failed—why?”). Identify the cheapest evidence to de-risk the biggest assumption (data pull, customer calls, small prototype, timeboxed spike). Decide if this should be a **thought experiment only** (no build) vs a real experiment.\n- **Outputs:** Assumption list + minimal validation plan (if needed).\n- **Checks:** Proposed tests are the smallest that could change your mind; you’re not shipping an “obvious loser” experiment.\n\n### 6) Account for “worse first” + sunk costs\n- **Inputs:** Expected short-term impacts; current investment/sunk costs.\n- **Actions:** Name any “worse-first” dip (short-term pain) and plan mitigations/leading indicators. Apply a sunk-cost reset: “If we weren’t already doing this, would we start today?” Define stop/continue triggers and a review date.\n- **Outputs:** Worse-first plan + stop/continue triggers.\n- **Checks:** The plan anticipates the dip; continuation logic ignores sunk costs and focuses on future ROI and strategic fit.\n\n### 7) Recommend, commit, and quality-gate\n- **Inputs:** All artifacts above.\n- **Actions:** Write the recommendation with rationale and explicit trade-offs (what you will stop doing). Add risks, open questions, and next steps with owners/dates. Run [references/CHECKLISTS.md](references/CHECKLISTS.md) and score with [references/RUBRIC.md](references/RUBRIC.md).\n- **Outputs:** Final Trade-off Evaluation Pack.\n- **Checks:** A stakeholder can read this async and make (or support) the decision without re-litigating the debate.\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 (resource allocation):** “Should we invest in SEO or paid acquisition for the next 2 quarters? Build a trade-off pack with all-in cost, ROI speed, and assumptions.”  \nExpected: all-in cost vs alternatives, order-of-magnitude impact ranges, and a clear recommendation + review date.\n\n**Example 2 (speed vs quality):** “We can ship v1 next week with rough edges or delay 3 weeks to ship ‘noteworthy’. Evaluate the trade-off and propose a worse-first mitigation plan if we ship now.”  \nExpected: explicit criteria/guardrails (trust/support load), dip plan, and stop/continue triggers if metrics degrade.\n\n**Boundary example:** “Help me decide if I should leave my job.”\nResponse: this skill is for organizational/product leadership trade-offs; suggest a personal decision framework or coach instead.\n\n**Boundary example 2:** “Model the second-order effects of switching from monolith to microservices on team velocity and hiring.”\nResponse: second-order systems effects are better served by `systems-thinking`; this skill evaluates discrete options with cost/impact ranges and a recommendation, not dynamic system models.\n\n## Anti-patterns (common failure modes)\n\n1. **False precision trap**: Presenting cost/impact estimates with decimal-point accuracy (“$127,450 savings”) when the real confidence is order-of-magnitude. Use ranges and explicit confidence levels.\n2. **Sunk cost anchoring**: Framing the “do nothing” option as “waste our prior investment” instead of asking “if we started fresh today, would we choose this?” The stop/continue test must ignore sunk costs.\n3. **Missing opportunity cost**: Evaluating options on their own merits without explicitly stating what will NOT get done if each option is chosen. Every “yes” is a “no” to something else.\n4. **Criteria inflation**: Listing 12+ criteria where “everything is important,” which makes the matrix unreadable and hides the real trade-off. Limit to 4-8 criteria with explicit weights or guardrails.\n5. **Recommendation without triggers**: Making a recommendation but not defining when to revisit or kill it. A good recommendation includes a review date and stop/continue criteria.","tags":["evaluating","trade","offs","lenny","skills","plus","liqiongyu","agent-skills","ai-agents","automation","claude","codex"],"capabilities":["skill","source-liqiongyu","skill-evaluating-trade-offs","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/evaluating-trade-offs","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 (9,180 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:22.391Z","embedding":null,"createdAt":"2026-04-18T22:16:34.385Z","updatedAt":"2026-04-22T00:56:22.391Z","lastSeenAt":"2026-04-22T00:56:22.391Z","tsv":"'-8':1303 '1':384,470,764,1000,1184 '1.1':706 '10':704 '12':1282 '127':1196 '2':282,396,540,607,709,765,1014,1051,1132,1214 '3':341,404,609,710,1066,1247 '4':283,418,556,673,1278,1302 '450':1197 '5':336,342,430,743,1310 '6':442,831 '7':452,468,912 '8':557 '90':604 'account':832 'accuraci':1195 'achiev':500 'acquisit':1010 'across':199 'action':484,554,625,687,755,847,923 'actual':117 'add':939 'advic':259 'align':188 'all-in':51,405,612,627,653,1023,1032 'alloc':1002 'alreadi':319,872 'also':20 'altern':1037 'alway':458,991 'ambigu':36 'anchor':1217 'answer':528 'anti':1179 'anti-pattern':1178 'anticip':896 'appli':862 'artifact':921 'ask':333,1230 'assumpt':129,324,353,429,686,711,723,753,780,805,1030 'async':969 'avoid':88,678 'baselin':683 'better':1157 'biggest':322,779 'boundari':1101,1130 'brief':388,519 'budget':298,622 'build':215,610,749,799,1016 'build-vs-buy':214 'buy':217 'call':784 'capac':621 'care':315 'cash':631 'chang':359,571,820 'chat':375 'cheapest':772 'check':525,589,660,724,812,893,963 'choic':328 'choos':287,493,649,1238 'chosen':1269 'clarifi':167 'clean':95 'clear':1046 'coach':1128 'comm':441 'commit':303,914 'common':1181 'compar':48,122 'comparison':703 'complex':416 'confid':69,427,697,721,1202,1212 'confirm':504 'constraint':294,393,523 'constraints/non-negotiables':503 'continu':899 'coordin':637,670 'cost':14,54,61,91,158,408,410,615,617,630,641,656,658,661,672,837,846,866,903,1026,1035,1216,1246,1250 'cost/impact':125,1169,1189 'could':819 'cover':33 'creat':113 'criteria':398,400,451,546,558,584,586,590,1279,1283,1304,1335 'criteria/guardrails':1090 'cross':182,668 'cross-funct':181 'cross-team':667 'current':844 'custom':302,783 'cut':228,237 'data':781 'date':278,449,498,885,1049,1332 'date/timebox':233 'day':605 'de':776 'de-risk':775 'deadlin':301 'debat':38,132,981 'decid':478,533,566,789,1105 'decim':727,1193 'decimal-point':1192 'decis':42,77,97,121,184,194,256,271,277,389,446,487,506,520,573,732,975,1125 'decision-readi':41 'defin':541,879,1319 'definit':176,587 'degrad':1100 'delay':1065 'deliver':363 'depend':623 'dip':87,147,437,853,898,1093 'discret':1166 'displac':417 'dollar':57 'done':646,1264 'drive':326,713 'driven':734 'driver':739 'dynam':250,1175 'e.g':603 'edg':1063 'effect':247,1138,1155 'effort':415,635 'els':1277 'eng':414,634 'eow':281 'escal':260 'estim':67,626,674,691,1190 'evalu':2,10,22,28,47,104,208,223,369,961,1071,1165,1251 'evaluating-new-technolog':21,222 'evaluating-trade-off':1 'everi':1270 'everyth':597,1285 'evid':321,685,773 'exact':530 'exampl':998,999,1050,1102,1131 'expand':463 'expect':436,839,1031,1088 'experi':80,746,796,803,830 'explicit':59,352,574,602,730,930,1089,1211,1258,1306 'fail':768 'failur':1182 'fake':726 'fals':72,679,1185 'feedback':242 'file':378 'final':957 'first':86,433,835,852,889,1081 'fit':911 'focus':905 'frame':471,1218 'framework':1126 'fresh':1234 'full':180 'function':183 'futur':907 'gate':918,983 'get':1263 'goal':501,549 'good':305,1327 'govern':190 'guardrail':309,551,563,1309 'guidanc':464 'headcount':299,632 'help':102,1103 'hidden':663 'hide':1294 'hire':1149 'hit':231 'horizon':313,394,547,553,600 'human':263 'identifi':707,770 'ignor':901,1244 'impact':16,419,675,717,843,1042 'import':599,1287 'in-chat':373 'includ':289,459,559,662,992,1329 'indic':439,861 'inflat':1280 'info':331 'initi':201 'input':264,347,479,548,619,681,751,838,919 'instead':70,1129,1228 'invest':151,1005,1227 'investment/sunk':845 'item':664 'job':1111 'keep':150 'key':128,428,722,738 'kill':1324 'kill/continue':450 'know':320 'label':355 'lead':118,438 'leadership':1118 'least':561 'leav':1109 'less':750 'level':1213 'like':564 'limit':1300 'list':502,638,806,1281 'litig':979 'live':511 'load':1092 'logic':900 'loop':243 'loser':829 'magnitud':66,424,702,1041,1207 'mainten':636 'maintenance/on-call':665 'make':476,971,1289,1314 'manag':145 'mani':200 'markdown':372 'matrix':13,399,585,1291 'mean':306 'merit':1256 'metric':308,550,1099 'microservic':1144 'mind':822 'minim':807 'minimum':265 'miss':330,1248 'missing-info':329 'mitig':434,440,1082 'mitigations/leading':860 'mode':1183 'model':241,715,1133,1177 'money':412 'monolith':1142 'mortem':83,760 'must':510,1243 'name':575,742,848 'need':165,178,239,811 'negoti':297 'new':23,224 'next':456,944,996,1013,1059 'non':296 'non-negoti':295 'note':403,696 'noteworthi':1070 'noth':291,1221 'number':684 'obvious':828 'off':4,31,595,933,1121 'one':273,489,562 'open':454,941,994 'opportun':60,409,616,640,657,1249 'optim':545,580 'option':12,49,123,284,392,397,402,583,651,690,752,766,1167,1222,1252,1267 'order':64,246,383,422,700,1039,1137,1153,1205 'order-of-magnitud':63,421,699,1038,1204 'organizational/product':1117 'outcom':514,539 'output':362,515,582,652,716,804,886,956 'owner':507 'owners/dates':947 'pack':11,370,962,1021 'paid':1009 'pain':857 'path':112 'pattern':1180 'people/time':413 'person':1124 'personal/legal/hr/financial':258 'pick':555 'plan':435,809,859,890,895,1083,1094 'plausibl':293 'point':1194 'polici':300 'pre':82,759 'pre-mortem':81,758 'precis':73,680,1186 'prefer':698 'present':1188 'prior':1226 'priorit':198,204 'prioritizing-roadmap':203 'problem':169,175 'problem-definit':174 'proceed':350 'process':185,195 'produc':5,364 'project':154 'propos':813,1077 'pros/cons':37,115 'prototyp':786 'pull':782 'qualifi':262 'qualiti':135,917,982,1054 'quality-g':916 'quarter':1015 'question':159,337,455,942,995 'rang':17,68,126,420,426,677,694,718,720,1043,1170,1209 'rational':447,928 're':131,171,197,207,227,286,544,578,824,978 're-litig':977 'read':967 'readi':43 'real':592,802,1201,1296 'recommend':18,110,361,443,913,926,1047,1173,1311,1316,1328 'references/checklists.md':949,950,986,987 'references/intake.md':339,340,482,483 'references/rubric.md':954,955,989,990 'references/templates.md':461,462 'references/workflow.md':465,466 'reflect':591 'request':380,481 'requir':266,984 'reset':867 'resourc':1001 'respons':1112,1150 'revers':84 'review':448,884,1048,1331 'revisit':1322 'right':139 'risk':453,754,777,940,993 'roadmap':205 'roi':908,1027 'rough':1062 'rule':98 'run':193,744,948 'running-decision-process':192 'save':1198 'scope':32,229,236 'scoping-cut':235 'score':952 'second':245,1136,1152 'second-ord':244,1135,1151 'see':19 'sentenc':274,490 'seo':1007 'serv':1158 'ship':826,1057,1069,1086 'short':841,855 'short-term':840,854 'skill':1114,1164 'skill-evaluating-trade-offs' 'small':785 'smallest':817 'solv':172 'someth':1276 'source-liqiongyu' 'specif':27,210 'speed':133,1028,1052 'spike':788 'stakehold':187,395,524,965 'start':877,1233 'state':1259 'statement':272 'step':457,469,945,997 'stop':156,937 'stop/continue':96,444,880,891,1096,1241,1334 'strateg':910 'strategi':332 'stress':75 'stress-test':74 'success':307 'suggest':1122 'sunk':90,157,836,865,902,1215,1245 'sunk-cost':89,864 'support':973 'switch':671,1140 'system':249,253,1154,1161,1176 'systems-think':252,1160 'tabl':15,411,659,719 'team':620,669,1146 'tech':26 'tech-specif':25 'technolog':24,211,225 'templat':460 'term':842,856 'test':76,814,1242 'think':254,747,1162 'thought':79,745,795 'time':312,345,552,633 'timebox':787 'timelin':624 'today':878,1235 'tool':666 'tool/platform':220 'top':763 'topic-agent-skills' 'topic-ai-agents' 'topic-automation' 'topic-claude' 'topic-codex' 'topic-prompt-engineering' 'topic-refoundai' 'topic-skillpack' 'trade':3,8,30,45,107,140,269,367,386,474,517,594,932,959,1019,1074,1120,1298 'trade-off':7,29,44,106,268,366,385,473,516,593,931,958,1018,1073,1119,1297 'trap':92,1187 'trigger':445,881,892,1097,1313 'trust/reliability/cost':565 'trust/support':1091 'turn':34 'unavail':349 'uncertainti':728 'unknown':323,356 'unread':1292 'upside/downside':425,692 'use':50,62,101,163,173,191,202,221,234,251,985,1208 'user':480 'v1':1058 'valid':808 'veloc':1147 'vendor':212 'view':618 'vs':134,216,495,606,705,800,1036,1053 'wast':1224 'week':1060,1067 'weight':567,1307 'weights/guardrails':401,588 'weren':870 'without':976,1257,1312 'won':643 'workflow':467 'wors':85,432,834,851,888,1080 'worse-first':431,850,887,1079 'would':358,875,1236 'write':485,924 'x':494 'y':496 'year':608 'yes':1271","prices":[{"id":"db3dce2f-cb48-407f-aa3c-63f97e958a00","listingId":"f678a36b-ac07-4099-8534-03ca3955af1b","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:16:34.385Z"}],"sources":[{"listingId":"f678a36b-ac07-4099-8534-03ca3955af1b","source":"github","sourceId":"liqiongyu/lenny_skills_plus/evaluating-trade-offs","sourceUrl":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/evaluating-trade-offs","isPrimary":false,"firstSeenAt":"2026-04-18T22:16:34.385Z","lastSeenAt":"2026-04-22T00:56:22.391Z"}],"details":{"listingId":"f678a36b-ac07-4099-8534-03ca3955af1b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"liqiongyu","slug":"evaluating-trade-offs","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":"678ae03ffb6ab4d3c3ed5de9bdab648497786bef","skill_md_path":"skills/evaluating-trade-offs/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/evaluating-trade-offs"},"layout":"multi","source":"github","category":"lenny_skills_plus","frontmatter":{"name":"evaluating-trade-offs","description":"Produce a Trade-off Evaluation Pack (options matrix, cost table, impact ranges, recommendation). See also: evaluating-new-technology (tech-specific)."},"skills_sh_url":"https://skills.sh/liqiongyu/lenny_skills_plus/evaluating-trade-offs"},"updatedAt":"2026-04-22T00:56:22.391Z"}}