{"id":"6d00fd38-b971-4360-b4e0-94fc2e7efdfe","shortId":"TurwzS","kind":"skill","title":"scoping-cutting","tagline":"Right-size scope for a fixed timebox: minimum lovable slice, cut list, scope-creep guardrails. See also: managing-timelines (deadline plans).","description":"# Scoping & Cutting\n\n## Scope\n\n**Covers**\n- Converting a fuzzy initiative into a **ship-able slice** that fits a fixed time budget (“appetite”)\n- Creating a **cut list** (what to drop/defer) with explicit trade-offs and rationale\n- Defining an MVP as a **hypothesis test** (what you’re validating, not just “smaller”)\n- Choosing a **Minimum Lovable Slice** (viable *and* emotionally resonant) instead of a “barely works” release\n- Using **Wizard-of-Oz / concierge** approaches to validate value before building full automation\n- Preventing scope creep via explicit **non-goals + change control**\n\n**When to use**\n- “Cut scope / descope this feature so we can ship by <date>.”\n- “Define an MVP for this initiative (what hypothesis are we testing?).”\n- “We have 2–6 weeks; what can we ship that still matters?”\n- “Scope creep is killing us; define what’s in/out and how changes happen.”\n- “We need a minimum lovable version, not a compromised mess.”\n\n**When NOT to use**\n- You don’t yet know what problem you’re solving (use `problem-definition`)\n- You’re choosing between many competing initiatives (use `prioritizing-roadmap`)\n- You need a decision-ready PRD with requirements (use `writing-prds`) or a build-ready design/tech spec (use `writing-specs-designs`)\n- You’re setting long-term product strategy or vision (use `defining-product-vision`)\n- You already have a scoped slice and need a timeline/milestone plan with stakeholder cadence (use `managing-timelines`)\n- You’re planning the actual launch/release (rollout, rollback, monitoring) for an already-scoped feature (use `shipping-products`)\n\n## Inputs\n\n**Minimum required**\n- The initiative/feature and the **decision** (ship vs defer vs stop) + target date or time budget\n- Target user/segment + the **core user journey** you want to improve\n- Success metric(s) + 2–5 guardrails (trust, quality, cost, latency, support load)\n- Constraints and non-negotiables (legal/privacy, platform, dependencies, team size)\n- Candidate scope items (bullets are fine) + known unknowns\n\n**Missing-info strategy**\n- Ask up to 5 questions from [references/INTAKE.md](references/INTAKE.md).\n- If answers aren’t available, proceed with explicit assumptions and list **Open questions** that would change the cut decisions.\n\n## Outputs (deliverables)\n\nProduce a **Scoping & Cutting Pack** in Markdown (in-chat; or as files if the user requests):\n\n1) **Context snapshot** (decision, date/appetite, stakeholders/DRI, constraints)\n2) **Outcome + hypothesis** (what must be true; what you’ll validate)\n3) **Appetite + success bar** (time budget, “done means…”, guardrails)\n4) **Minimum Lovable Slice spec** (core flow, must-haves, non-goals)\n5) **Cut list** (cut/defer/keep with rationale + impact on risks)\n6) **Validation plan** (Wizard-of-Oz/concierge/prototype as needed) + success criteria\n7) **Delivery plan** (milestones within appetite + scope-change rules)\n8) **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 (8 steps)\n\n### 1) Intake + decision framing\n- **Inputs:** User request; [references/INTAKE.md](references/INTAKE.md).\n- **Actions:** Clarify the decision, date/appetite, DRI, constraints, and what “shipping” means (where it lands, who uses it).\n- **Outputs:** Context snapshot.\n- **Checks:** You can state: “We are deciding to ship <slice> by <date> with <team> under <constraints>.”\n\n### 2) Define the outcome and hypothesis (MVP = test)\n- **Inputs:** Context snapshot; current evidence/risks.\n- **Actions:** Write the outcome in user terms; define the key hypothesis (or 2–3). Choose success metric(s) + guardrails.\n- **Outputs:** Outcome + hypothesis section; metrics/guardrails.\n- **Checks:** You can answer: “What will we learn/validate by shipping this slice?”\n\n### 3) Set appetite (time as a budget) + non-negotiables\n- **Inputs:** Target date/timebox; constraints; team capacity.\n- **Actions:** Set a hard time budget (e.g., 2/4/6 weeks). List non-negotiables (policy, privacy, reliability, design constraints).\n- **Outputs:** Appetite + constraints section.\n- **Checks:** Appetite is explicit and agreed; scope is the variable, not the deadline.\n\n### 4) Design the Minimum Lovable Slice (MLS)\n- **Inputs:** Outcome + constraints; candidate scope items.\n- **Actions:** Define the smallest end-to-end flow that delivers the core value and feels coherent. Add 1–2 “lovability” elements that increase trust/clarity (not random polish).\n- **Outputs:** MLS spec (core flow, must-haves, non-goals, assumptions).\n- **Checks:** The slice is end-to-end (not a partial subsystem) and a user could describe why it’s valuable.\n\n### 5) Build a cut list with explicit trade-offs\n- **Inputs:** MLS spec + candidate scope items.\n- **Actions:** Create a table of items to **keep / cut / defer**, with rationale tied to outcome, risk, and appetite. Convert “nice-to-haves” into “later” with a clear trigger for revisiting.\n- **Outputs:** Cut list table + short decision rationale.\n- **Checks:** Every removed item has a reason; non-goals are as clear as goals.\n\n### 6) Add a validation plan (Wizard-of-Oz / concierge where helpful)\n- **Inputs:** Riskiest assumptions; cut list.\n- **Actions:** Choose the fastest validation method to de-risk the top unknown(s) (manual ops, scripted demo, prototype). Define what data/feedback counts as “validated”.\n- **Outputs:** Validation plan (method, audience, script, success criteria, timeline).\n- **Checks:** The plan can run without building the full system; success criteria are defined before running it.\n\n### 7) Delivery plan + scope-change guardrails\n- **Inputs:** MLS spec; validation plan; appetite.\n- **Actions:** Break the work into milestones that fit the appetite. Define scope-change rules (how requests are evaluated; what gets traded off; who decides).\n- **Outputs:** Delivery plan + scope-change policy.\n- **Checks:** New scope can only enter by removing or shrinking something else (“trade, don’t add”).\n\n### 8) Quality gate + finalize\n- **Inputs:** Full draft pack.\n- **Actions:** Run [references/CHECKLISTS.md](references/CHECKLISTS.md) and score with [references/RUBRIC.md](references/RUBRIC.md). Ensure **Risks / Open questions / Next steps** are present with owners.\n- **Outputs:** Final Scoping & Cutting Pack.\n- **Checks:** A stakeholder can approve the slice async and the team can execute without re-litigating scope.\n\n## Anti-patterns (common failure modes)\n\n1. **Salami-slicing without a hypothesis.** Cutting scope purely by effort (drop the hardest things) instead of by learning value. The slice ships but validates nothing because no hypothesis was defined.\n2. **Phantom MVP.** Labeling a barely-functional stub “MVP” without an end-to-end user journey. Users can’t complete the core task, so no signal is generated.\n3. **Scope freeze theater.** Declaring scope frozen while allowing “small” additions through side channels. The cut list exists on paper but is never enforced; the team ships late anyway.\n4. **Deferral graveyard.** Cutting items to a “later” list with no revisit triggers. Deferred work is never re-evaluated and either rots or resurfaces as tech debt surprises.\n5. **Lovability confusion.** Adding polish and delight features (animations, empty-state illustrations) while the core flow is broken. “Lovable” means the slice is coherent and trustworthy, not decorated.\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):** “Cut scope for ‘bulk CSV import’ so we can ship a useful version in 4 weeks; include a Wizard-of-Oz validation plan.”\nExpected: an appetite-based MLS, a cut/defer table, and a validation plan that tests value before building every edge case.\n\n**Example 2 (Consumer):** “Define a minimum lovable first version of ‘saved searches’ for mobile within a 2-week appetite.”\nExpected: a coherent end-to-end slice, explicit non-goals, and a scope-change policy to prevent creep.\n\n**Boundary example (timeline planning):** “We’ve already defined the MVP slice; now create a milestone plan with dates and a stakeholder update cadence.”\nResponse: the slice is scoped; use `managing-timelines` to build the execution timeline and comms cadence.\n\n**Boundary example (roadmap prioritization):** “Decide what our Q2 roadmap should be across 12 initiatives.”\nResponse: use `prioritizing-roadmap` first; then apply this skill to right-size the chosen initiative.","tags":["scoping","cutting","lenny","skills","plus","liqiongyu","agent-skills","ai-agents","automation","claude","codex","prompt-engineering"],"capabilities":["skill","source-liqiongyu","skill-scoping-cutting","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/scoping-cutting","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,641 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.328Z","embedding":null,"createdAt":"2026-04-18T22:17:04.902Z","updatedAt":"2026-04-22T00:56:25.328Z","lastSeenAt":"2026-04-22T00:56:25.328Z","tsv":"'/concierge/prototype':445 '1':389,478,650,947,1114 '12':1254 '2':142,312,396,519,544,651,979,1163,1178 '2/4/6':591 '3':407,545,568,1009 '4':416,619,1038,1131 '5':313,346,429,693,1067 '6':143,438,762 '7':450,830 '8':460,476,891 'abl':40 'across':1253 'action':487,532,584,632,709,779,843,899 'actual':266 'ad':1070 'add':649,763,890 'addit':1019 'agre':611 'allow':1017 'alreadi':245,274,1208 'already-scop':273 'also':22 'alway':466,1105 'anim':1075 'answer':352,559 'anti':942 'anti-pattern':941 'anyway':1037 'appetit':48,408,455,570,603,607,726,842,852,1144,1180 'appetite-bas':1143 'appli':1263 'approach':98 'approv':927 'aren':353 'ask':343 'assumpt':359,671,776 'async':930 'audienc':808 'autom':105 'avail':355 'b2b':1115 'bar':410 'bare':89,985 'barely-funct':984 'base':1145 'boundari':1202,1242 'break':844 'broken':1085 'budget':47,298,412,574,589 'build':103,220,694,819,1158,1235 'build-readi':219 'bulk':1120 'bullet':334 'cadenc':257,1224,1241 'candid':331,629,706 'capac':583 'case':1161 'chang':114,163,366,458,835,856,873,1197 'channel':1022 'chat':381 'check':507,556,606,672,747,813,875,923 'choos':77,195,546,780 'chosen':1271 'clarifi':488 'clear':736,759 'coher':648,1091,1183 'comm':1240 'common':944 'compet':198 'complet':1000 'compromis':173 'concierg':97,771 'confus':1069 'constraint':321,395,493,581,601,604,628 'consum':1164 'context':390,505,528 'control':115 'convert':32,727 'core':302,421,644,663,1002,1082 'cost':317 'could':687 'count':801 'cover':31 'creat':49,710,1214 'creep':19,108,153,1201 'criteria':449,811,824 'csv':1121 'current':530 'cut':3,15,29,51,119,368,375,430,696,717,741,777,921,954,1024,1041,1117 'cut/defer':1148 'cut/defer/keep':432 'data/feedback':800 'date':295,1219 'date/appetite':393,491 'date/timebox':580 'de':787 'de-risk':786 'deadlin':26,618 'debt':1065 'decid':513,867,1246 'decis':208,288,369,392,480,490,745 'decision-readi':207 'declar':1013 'decor':1095 'defer':291,718,1051 'deferr':1039 'defin':63,129,157,241,520,539,633,798,826,853,978,1165,1209 'defining-product-vis':240 'definit':192 'delight':1073 'deliv':642 'deliver':371 'deliveri':451,831,869 'demo':796 'depend':328 'descop':121 'describ':688 'design':228,600,620 'design/tech':222 'done':413 'draft':897 'dri':492 'drop':959 'drop/defer':55 'e.g':590 'edg':1160 'effort':958 'either':1059 'element':653 'els':886 'emot':84 'empti':1077 'empty-st':1076 'end':637,639,677,679,992,994,1185,1187 'end-to-end':636,676,991,1184 'enforc':1032 'ensur':908 'enter':880 'evalu':861,1057 'everi':748,1159 'evidence/risks':531 'exampl':1112,1113,1162,1203,1243 'execut':935,1237 'exist':1026 'expand':471 'expect':1141,1181 'explicit':57,110,358,609,699,1189 'failur':945 'fastest':782 'featur':123,276,1074 'feel':647 'file':384 'final':894,919 'fine':336 'first':1169,1261 'fit':43,850 'fix':10,45 'flow':422,640,664,1083 'frame':481 'freez':1011 'frozen':1015 'full':104,821,896 'function':986 'fuzzi':34 'gate':893,1097 'generat':1008 'get':863 'goal':113,428,670,756,761,1192 'graveyard':1040 'guardrail':20,314,415,550,836 'guidanc':472 'happen':164 'hard':587 'hardest':961 'have':425,667,731 'help':773 'hypothesi':68,136,398,524,542,553,953,976 'illustr':1079 'impact':435 'import':1122 'improv':308 'in-chat':379 'in/out':160 'includ':467,1106,1133 'increas':655 'info':341 'initi':35,134,199,1255,1272 'initiative/feature':285 'input':281,482,527,578,626,703,774,837,895 'instead':86,963 'intak':479 'item':333,631,708,714,750,1042 'journey':304,996 'keep':716 'key':541 'kill':155 'know':183 'known':337 'label':982 'land':500 'late':1036 'latenc':318 'later':733,1045 'launch/release':267 'learn':966 'learn/validate':563 'legal/privacy':326 'list':16,52,361,431,593,697,742,778,1025,1046 'litig':939 'll':405 'load':320 'long':233 'long-term':232 'lovabl':13,80,169,418,623,652,1068,1086,1168 'manag':24,260,1232 'managing-timelin':23,259,1231 'mani':197 'manual':793 'markdown':378 'matter':151 'mean':414,497,1087 'mess':174 'method':784,807 'metric':310,548 'metrics/guardrails':555 'mileston':453,848,1216 'minimum':12,79,168,282,417,622,1167 'miss':340 'missing-info':339 'mls':625,661,704,838,1146 'mobil':1175 'mode':946 'monitor':270 'must':400,424,666 'must-hav':423,665 'mvp':65,131,525,981,988,1211 'need':166,205,251,447 'negoti':325,577,596 'never':1031,1054 'new':876 'next':464,912,1110 'nice':729 'nice-to-hav':728 'non':112,324,427,576,595,669,755,1191 'non-goal':111,426,668,754,1190 'non-negoti':323,575,594 'noth':973 'off':60,702 'op':794 'open':362,462,910,1108 'outcom':397,522,535,552,627,723 'output':370,504,551,602,660,740,804,868,918 'owner':917 'oz':96,444,770,1138 'pack':376,898,922 'paper':1028 'partial':682 'pattern':943 'phantom':980 'plan':27,254,264,440,452,766,806,815,832,841,870,1140,1153,1205,1217 'platform':327 'polici':597,874,1198 'polish':659,1071 'prd':210 'prds':216 'present':915 'prevent':106,1200 'priorit':202,1245,1259 'prioritizing-roadmap':201,1258 'privaci':598 'problem':185,191 'problem-definit':190 'proceed':356 'produc':372 'product':235,242,280 'prototyp':797 'pure':956 'q2':1249 'qualiti':316,892,1096 'question':347,363,463,911,1109 'random':658 'rational':62,434,720,746 're':72,187,194,230,263,938,1056 're-evalu':1055 're-litig':937 'readi':209,221 'reason':753 'references/checklists.md':901,902,1100,1101 'references/intake.md':349,350,485,486 'references/rubric.md':906,907,1103,1104 'references/templates.md':469,470 'references/workflow.md':473,474 'releas':91 'reliabl':599 'remov':749,882 'request':388,484,859 'requir':212,283,1098 'reson':85 'respons':1225,1256 'resurfac':1062 'revisit':739,1049 'right':5,1268 'right-siz':4,1267 'risk':437,461,724,788,909,1107 'riskiest':775 'roadmap':203,1244,1250,1260 'rollback':269 'rollout':268 'rot':1060 'rule':459,857 'run':817,828,900 'saa':1116 'salami':949 'salami-sl':948 'save':1172 'scope':2,7,18,28,30,107,120,152,248,275,332,374,457,612,630,707,834,855,872,877,920,940,955,1010,1014,1118,1196,1229 'scope-chang':456,833,854,871,1195 'scope-creep':17 'scoping-cut':1 'score':904 'script':795,809 'search':1173 'section':554,605 'see':21 'set':231,569,585 'ship':39,127,148,279,289,496,515,565,970,1035,1126 'ship-abl':38 'shipping-product':278 'short':744 'shrink':884 'side':1021 'signal':1006 'size':6,330,1269 'skill':1265 'skill-scoping-cutting' 'slice':14,41,81,249,419,567,624,674,929,950,969,1089,1188,1212,1227 'small':1018 'smaller':76 'smallest':635 'snapshot':391,506,529 'solv':188 'someth':885 'source-liqiongyu' 'spec':223,227,420,662,705,839 'stakehold':256,925,1222 'stakeholders/dri':394 'state':510,1078 'step':465,477,913,1111 'still':150 'stop':293 'strategi':236,342 'stub':987 'subsystem':683 'success':309,409,448,547,810,823 'support':319 'surpris':1066 'system':822 'tabl':712,743,1149 'target':294,299,579 'task':1003 'team':329,582,933,1034 'tech':1064 'templat':468 'term':234,538 'test':69,139,526,1155 'theater':1012 'thing':962 'tie':721 'time':46,297,411,571,588 'timebox':11 'timelin':25,261,812,1204,1233,1238 'timeline/milestone':253 'top':790 'topic-agent-skills' 'topic-ai-agents' 'topic-automation' 'topic-claude' 'topic-codex' 'topic-prompt-engineering' 'topic-refoundai' 'topic-skillpack' 'trade':59,701,864,887 'trade-off':58,700 'trigger':737,1050 'true':402 'trust':315 'trust/clarity':656 'trustworthi':1093 'unknown':338,791 'updat':1223 'us':156 'use':92,118,178,189,200,213,224,239,258,277,502,1099,1128,1230,1257 'user':303,387,483,537,686,995,997 'user/segment':300 'valid':73,100,406,439,765,783,803,805,840,972,1139,1152 'valu':101,645,967,1156 'valuabl':692 'variabl':615 've':1207 'version':170,1129,1170 'via':109 'viabl':82 'vision':238,243 'vs':290,292 'want':306 'week':144,592,1132,1179 'within':454,1176 'without':818,936,951,989 'wizard':94,442,768,1136 'wizard-of-oz':93,441,767,1135 'work':90,846,1052 'workflow':475 'would':365 'write':215,226,533 'writing-prd':214 'writing-specs-design':225 'yet':182","prices":[{"id":"92ffde45-aa4b-40ae-8ab3-bcc9baa396e7","listingId":"6d00fd38-b971-4360-b4e0-94fc2e7efdfe","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:04.902Z"}],"sources":[{"listingId":"6d00fd38-b971-4360-b4e0-94fc2e7efdfe","source":"github","sourceId":"liqiongyu/lenny_skills_plus/scoping-cutting","sourceUrl":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/scoping-cutting","isPrimary":false,"firstSeenAt":"2026-04-18T22:17:04.902Z","lastSeenAt":"2026-04-22T00:56:25.328Z"}],"details":{"listingId":"6d00fd38-b971-4360-b4e0-94fc2e7efdfe","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"liqiongyu","slug":"scoping-cutting","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":"d123c92f9de8cd6d1750cc40ac0b93d3df8b429f","skill_md_path":"skills/scoping-cutting/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/liqiongyu/lenny_skills_plus/tree/main/skills/scoping-cutting"},"layout":"multi","source":"github","category":"lenny_skills_plus","frontmatter":{"name":"scoping-cutting","description":"Right-size scope for a fixed timebox: minimum lovable slice, cut list, scope-creep guardrails. See also: managing-timelines (deadline plans)."},"skills_sh_url":"https://skills.sh/liqiongyu/lenny_skills_plus/scoping-cutting"},"updatedAt":"2026-04-22T00:56:25.328Z"}}