{"id":"a1b34dfd-e970-471f-95ed-7fbf1bad889b","shortId":"8GFCd2","kind":"skill","title":"estimate-and-scope","tagline":"Estimate work and scope decisions in the AI-coding era. Boil the Lake, AI compression ratios, three-layer search before building.","description":"# Estimate and scope\n\nHow to size work and decide between approaches when AI compresses the cost of completeness.\n\nSource: gstack `ETHOS.md`, `CLAUDE.md`, `ship/SKILL.md`.\n\n## Boil the Lake\n\n> \"AI-assisted coding makes the marginal cost of completeness near-zero. When the complete implementation costs minutes more than the shortcut — do the complete thing. Every time.\"\n\nLake vs ocean:\n- **Lake** = boilable. 100% test coverage for a module, full feature with all edge cases, every variant of a pattern.\n- **Ocean** = not boilable. Multi-quarter platform migrations, full rewrites of legacy systems.\n\nBoil lakes. Flag oceans as out of scope.\n\n> \"'Ship the shortcut' is legacy thinking from when human engineering time was the bottleneck.\"\n\n## AI compression in estimates\n\nAlways quote both human-time and AI-assisted time:\n\n| Type of work | Compression |\n|---|---|\n| Boilerplate | ~100x |\n| Tests | ~50x |\n| Feature | ~30x |\n| Bugfix + regression | ~20x |\n| Architecture | ~5x |\n| Research | ~3x |\n\nPhrase as: *\"2 weeks human / ~1 hour AI-assisted.\"*\n\nWhen evaluating \"approach A (full, ~150 LOC) vs approach B (90%, ~80 LOC)\" — almost always choose A.\n\n### Anti-patterns in estimation\n\n- *\"Choose B — it covers 90% with less code.\"* (If A is 70 lines more, choose A.)\n- *\"Let's defer tests to a follow-up PR.\"* (Tests are the cheapest lake to boil.)\n- *\"This would take 2 weeks.\"* (Say: \"2 weeks human / ~1 hour AI-assisted.\")\n\n## Search before building\n\n> \"The 1000x engineer's first instinct is 'has someone already solved this?' not 'let me design it from scratch.'\"\n\n### Three layers of knowledge\n\n**Layer 1: Tried and true** — built-ins, official docs, well-established libraries.\n> \"The risk is not that you don't know — it's that you assume the obvious answer is right when occasionally it isn't.\"\n\n**Layer 2: New and popular** — recent blog posts, trending patterns, popular libraries.\n> \"Humans are subject to mania. Mr. Market is either too fearful or too greedy. Search results are inputs to your thinking, not answers.\"\n\n**Layer 3: First principles** — your own reasoning from fundamentals.\n> \"Prize them above everything else.\"\n\n**Trust ranking:** Layer 3 > Layer 1 > Layer 2.\n\nMost engineering culture says \"don't reinvent the wheel\" by default. This inverts that: *\"Once in a while, questioning the tried-and-true is where brilliance occurs.\"*\n\n### Search rubric\n\n1. `{runtime} {thing} built-in`\n2. `{thing} best practice {current year}`\n3. Check official docs\n\n### The eureka moment\n\n> \"The most valuable outcome of searching is not finding a solution to copy. It's finding a clear reason why the conventional approach is wrong... zig while others zag. When you find one, name it. Celebrate it. Build on it.\"\n\n> \"The truly superlative projects are full of these moments — 11 out of 10.\"\n\n## Anti-patterns in scope decisions\n\n- Rolling a custom solution when the runtime has a built-in\n- Accepting blog posts uncritically in novel territory\n- Picking the smaller-LOC option when the larger one covers more edge cases\n- Deferring tests to a follow-up PR\n- Quoting estimates in human-time without the AI-assisted equivalent\n- Assuming Layer 2 (new and popular) is a strong signal because something is trending\n\n## The completeness test\n\nWhen you find yourself thinking \"ship the 90% version\":\n\n1. How many lines is the gap between 90% and 100%?\n2. What's the AI-assisted estimate to fill it?\n3. Is this a lake or an ocean?\n\nIf it's a lake and the gap is hours not weeks → boil it.","tags":["estimate","and","scope","gstack","distilled","0xabrar","agent-skills","claude-code","claude-skill","decision-making","founder","garry-tan"],"capabilities":["skill","source-0xabrar","skill-estimate-and-scope","topic-agent-skills","topic-claude-code","topic-claude-skill","topic-decision-making","topic-founder","topic-garry-tan","topic-gstack","topic-skills","topic-startup"],"categories":["gstack-distilled"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/0xabrar/gstack-distilled/estimate-and-scope","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add 0xabrar/gstack-distilled","source_repo":"https://github.com/0xabrar/gstack-distilled","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 11 github stars · SKILL.md body (3,496 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-05-18T19:08:04.787Z","embedding":null,"createdAt":"2026-05-09T01:05:23.855Z","updatedAt":"2026-05-18T19:08:04.787Z","lastSeenAt":"2026-05-18T19:08:04.787Z","tsv":"'1':177,246,278,369,402,559 '10':473 '100':88,569 '1000x':255 '100x':160 '11':470 '150':187 '2':174,240,243,316,371,408,535,570 '20x':167 '3':351,367,414,581 '30x':164 '3x':171 '50x':162 '5x':169 '70':215 '80':193 '90':192,208,557,567 'accept':492 'ai':13,19,40,55,140,152,180,249,530,575 'ai-assist':54,151,179,248,529,574 'ai-cod':12 'almost':195 'alreadi':263 'alway':144,196 'answer':307,349 'anti':200,475 'anti-pattern':199,474 'approach':38,184,190,443 'architectur':168 'assist':56,153,181,250,531,576 'assum':304,533 'b':191,205 'best':410 'blog':321,493 'boil':16,51,118,236,601 'boilabl':87,107 'boilerpl':159 'bottleneck':139 'brillianc':398 'bugfix':165 'build':27,253,458 'built':283,406,490 'built-in':282,405,489 'case':99,512 'celebr':456 'cheapest':233 'check':415 'choos':197,204,218 'claude.md':49 'clear':438 'code':14,57,211 'complet':45,63,69,79,548 'compress':20,41,141,158 'convent':442 'copi':433 'cost':43,61,71 'cover':207,509 'coverag':90 'cultur':374 'current':412 'custom':482 'decid':36 'decis':9,479 'default':382 'defer':222,513 'design':269 'doc':286,417 'edg':98,511 'either':335 'els':363 'engin':135,256,373 'equival':532 'era':15 'establish':289 'estim':2,5,28,143,203,522,577 'estimate-and-scop':1 'ethos.md':48 'eureka':419 'evalu':183 'everi':81,100 'everyth':362 'fear':337 'featur':95,163 'fill':579 'find':429,436,452,552 'first':258,352 'flag':120 'follow':227,518 'follow-up':226,517 'full':94,113,186,466 'fundament':358 'gap':565,596 'greedi':340 'gstack':47 'hour':178,247,598 'human':134,148,176,245,327,525 'human-tim':147,524 'implement':70 'in':284 'input':344 'instinct':259 'invert':384 'isn':313 'know':299 'knowledg':276 'lake':18,53,83,86,119,234,585,593 'larger':507 'layer':24,274,277,315,350,366,368,370,534 'legaci':116,130 'less':210 'let':220,267 'librari':290,326 'line':216,562 'loc':188,194,503 'make':58 'mani':561 'mania':331 'margin':60 'market':333 'migrat':112 'minut':72 'modul':93 'moment':420,469 'mr':332 'multi':109 'multi-quart':108 'name':454 'near':65 'near-zero':64 'new':317,536 'novel':497 'obvious':306 'occasion':311 'occur':399 'ocean':85,105,121,588 'offici':285,416 'one':453,508 'option':504 'other':448 'outcom':424 'pattern':104,201,324,476 'phrase':172 'pick':499 'platform':111 'popular':319,325,538 'post':322,494 'pr':229,520 'practic':411 'principl':353 'prize':359 'project':464 'quarter':110 'question':390 'quot':145,521 'rank':365 'ratio':21 'reason':356,439 'recent':320 'regress':166 'reinvent':378 'research':170 'result':342 'rewrit':114 'right':309 'risk':292 'roll':480 'rubric':401 'runtim':403,486 'say':242,375 'scope':4,8,30,125,478 'scratch':272 'search':25,251,341,400,426 'ship':126,555 'ship/skill.md':50 'shortcut':76,128 'signal':542 'size':33 'skill' 'skill-estimate-and-scope' 'smaller':502 'smaller-loc':501 'solut':431,483 'solv':264 'someon':262 'someth':544 'sourc':46 'source-0xabrar' 'strong':541 'subject':329 'superl':463 'system':117 'take':239 'territori':498 'test':89,161,223,230,514,549 'thing':80,404,409 'think':131,347,554 'three':23,273 'three-lay':22 'time':82,136,149,154,526 'topic-agent-skills' 'topic-claude-code' 'topic-claude-skill' 'topic-decision-making' 'topic-founder' 'topic-garry-tan' 'topic-gstack' 'topic-skills' 'topic-startup' 'trend':323,546 'tri':279,393 'tried-and-tru':392 'true':281,395 'truli':462 'trust':364 'type':155 'uncrit':495 'valuabl':423 'variant':101 'version':558 'vs':84,189 'week':175,241,244,600 'well':288 'well-establish':287 'wheel':380 'without':527 'work':6,34,157 'would':238 'wrong':445 'year':413 'zag':449 'zero':66 'zig':446","prices":[{"id":"589c3b0d-3e16-4141-8db0-937a5254b719","listingId":"a1b34dfd-e970-471f-95ed-7fbf1bad889b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"0xabrar","category":"gstack-distilled","install_from":"skills.sh"},"createdAt":"2026-05-09T01:05:23.855Z"}],"sources":[{"listingId":"a1b34dfd-e970-471f-95ed-7fbf1bad889b","source":"github","sourceId":"0xabrar/gstack-distilled/estimate-and-scope","sourceUrl":"https://github.com/0xabrar/gstack-distilled/tree/main/skills/estimate-and-scope","isPrimary":false,"firstSeenAt":"2026-05-09T01:05:23.855Z","lastSeenAt":"2026-05-18T19:08:04.787Z"}],"details":{"listingId":"a1b34dfd-e970-471f-95ed-7fbf1bad889b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"0xabrar","slug":"estimate-and-scope","github":{"repo":"0xabrar/gstack-distilled","stars":11,"topics":["agent-skills","claude-code","claude-skill","decision-making","founder","garry-tan","gstack","skills","startup","yc"],"license":"other","html_url":"https://github.com/0xabrar/gstack-distilled","pushed_at":"2026-04-26T16:34:12Z","description":"Distilled decision-making frameworks from Garry Tan's gstack, packaged as 7 focused Agent Skills.","skill_md_sha":"2b794423d9adc1d14c14a396e13f9893638fd6b0","skill_md_path":"skills/estimate-and-scope/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/0xabrar/gstack-distilled/tree/main/skills/estimate-and-scope"},"layout":"multi","source":"github","category":"gstack-distilled","frontmatter":{"name":"estimate-and-scope","description":"Estimate work and scope decisions in the AI-coding era. Boil the Lake, AI compression ratios, three-layer search before building."},"skills_sh_url":"https://skills.sh/0xabrar/gstack-distilled/estimate-and-scope"},"updatedAt":"2026-05-18T19:08:04.787Z"}}