[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C4KY7TYNMW248DWXGZG899":3,"skill-same:01M6C4KY7TYNMW248DWXGZG899":53},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":36,"ownerDescription":37,"updatedAt":38,"install":39,"resources":52},"01M6C4KY7TYNMW248DWXGZG899","principle-price-each-option",null,"WHEN asking the user to choose, approve or rule between courses of action; NOT for comparing designs you will decide yourself or reporting a settled result; states each option with what it does and what it costs.","mintuz\u002Fskills","mintuz","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F447031?v=4","01M6BVWJYSVR4XQC9AQCEMWQRG","Adam Bulmer","01M6C4DCXKNYZB281YB3PZDJJG",35,"MIT","https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills\u002Fblob\u002Fmain\u002Fsrc\u002Fprinciple\u002Fskills\u002Fprinciple-price-each-option\u002FSKILL.md",[],[19,20,21,22,23,24],"option","principle price each option","reporting","choose","decide","user","2026-11-10 10:12:30",false,"---\nname: principle-price-each-option\ndescription: \"WHEN asking the user to choose, approve or rule between courses of action; NOT for comparing designs you will decide yourself or reporting a settled result; states each option with what it does and what it costs.\"\n---\n\n# Price each option\n\nThe user can choose well only when every option shows its effect and its price side by side.\n\n1. State the decision in one sentence, then the options. Put no background or findings summary before them.\n2. Give each option a reply label, such as `A` or `1`, and one plain sentence, not a table cell, saying what it does and what it costs: money, time, downtime, risk, lost data or scope, or what cannot be undone. State the cost as its consequence for the user, not the mechanism behind it: \"existing users' saved links break\", not \"drops the redirect table\".\n3. Price every option the same way, including the one you prefer and any work you have already done. An approval request is a choice too: price the action you propose and the alternative it displaces.\n4. Omit figures and detail the choice does not need. Label a recommendation as a recommendation; it does not replace its cost.\n\nDistinct from: `principle-never-block-on-the-human` (deciding what waits for the answer and asking for one fact), `principle-exhaust-the-design-space` (comparing alternatives before you choose yourself), `principle-lead-with-the-answer` (explaining or reporting a result).\n\nDone: every option has its effect and its cost in one plain sentence.\n","# Price each option\n\nThe user can choose well only when every option shows its effect and its price side by side.\n\n1. State the decision in one sentence, then the options. Put no background or findings summary before them.\n2. Give each option a reply label, such as `A` or `1`, and one plain sentence, not a table cell, saying what it does and what it costs: money, time, downtime, risk, lost data or scope, or what cannot be undone. State the cost as its consequence for the user, not the mechanism behind it: \"existing users' saved links break\", not \"drops the redirect table\".\n3. Price every option the same way, including the one you prefer and any work you have already done. An approval request is a choice too: price the action you propose and the alternative it displaces.\n4. Omit figures and detail the choice does not need. Label a recommendation as a recommendation; it does not replace its cost.\n\nDistinct from: `principle-never-block-on-the-human` (deciding what waits for the answer and asking for one fact), `principle-exhaust-the-design-space` (comparing alternatives before you choose yourself), `principle-lead-with-the-answer` (explaining or reporting a result).\n\nDone: every option has its effect and its cost in one plain sentence.\n",{"name":5,"description":7},"main","4e0a12b5048eac78a3ace4feee657873cdd530ef","src\u002Fprinciple\u002Fskills\u002Fprinciple-price-each-option",7,"https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills","https:\u002F\u002Fgithub.com\u002Fmintuz","http:\u002F\u002Fwww.mintuz.com","Working at @monzo, Previously worked at Moonpig, @booking and @bbc","2026-11-11 15:50:19",{"source":8,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add mintuz\u002Fskills --skill principle-price-each-option",{"tool":45,"command":46},"bunx","bunx skills add mintuz\u002Fskills --skill principle-price-each-option",{"tool":48,"command":49},"pnpm","pnpm dlx skills add mintuz\u002Fskills --skill principle-price-each-option","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills\u002Fblob\u002Fmain\u002Fsrc\u002Fprinciple\u002Fskills\u002Fprinciple-price-each-option\u002FSKILL.md",true,[],[54,77,100,113,134,151],{"skillNo":55,"name":56,"nameZh":6,"description":57,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":58,"categories":59,"keywords":68,"publishedAt":25},"01M6C4PDGB6ZZWBS35N3DF7PZZ","xstate","WHEN React state changes in response to an external answer — async submit, in-flight or loading flags, retries, cancellation, polling, optimistic updates, stale responses — or to an interaction with an interruptible middle, such as a drag or a gesture; or WHEN building, reviewing, testing, or visualising XState 5 actors and @xstate\u002Freact integrations; NOT for a value one event sets completely, such as a text draft, a focus flag, or a plain open and closed toggle; models typed lifecycles and renders legal Mermaid stateDiagram-v2 charts.","https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills\u002Fblob\u002Fmain\u002Fsrc\u002Fweb\u002Fskills\u002Fxstate\u002FSKILL.md",[60,65],{"categoryNo":61,"categoryName":62,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":66,"categoryName":67,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000009","前端开发",[56,69,70,71,72,73,74,75,76],"integrations","react","text","open","Charts","state","mermaid","testing",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":91,"publishedAt":25},"01M6C4PB6VVC2X19B63B7YNH0T","web-design","WHEN refining UI layout, typography, color, or polish; NOT code implementation; provides concise principles for intentional, legible design.","https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills\u002Fblob\u002Fmain\u002Fsrc\u002Fweb\u002Fskills\u002Fweb-design\u002FSKILL.md",[83,86],{"categoryNo":84,"categoryName":85,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[92,93,94,95,96,97,98,99],"design","web","web design","code","code implementation","ui","polish","typography",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":107,"publishedAt":25},"01M6C4P8D92GJDA49V7X1CZXEV","tailwind","WHEN building design systems or component libraries with Tailwind CSS; covers design tokens, CVA patterns and dark mode.","https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills\u002Fblob\u002Fmain\u002Fsrc\u002Fweb\u002Fskills\u002Ftailwind\u002FSKILL.md",[106],{"categoryNo":84,"categoryName":85,"taxonomyType":63,"taxonomyTypeDesc":64},[108,92,109,110,111,112],"Tailwind","css","component","libraries","design systems",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":122,"publishedAt":25},"01M6C4P5VWQ69Q32DA0634GDJY","refactoring","WHEN you need a plan to refactor, restructure, or clean up working code and the test result is known, either green or a recorded failing set; NOT for new feature delivery or any behavior change; reversible-baseline safety with prioritized improvements.","https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills\u002Fblob\u002Fmain\u002Fsrc\u002Fweb\u002Fskills\u002Frefactoring\u002FSKILL.md",[119],{"categoryNo":120,"categoryName":121,"taxonomyType":63,"taxonomyTypeDesc":64},"01JBSEEDCAT000000000000007","代码审查",[115,123,124,125,126,127,128,129,130,131,132,95,133],"baseline","SET","plan","behavior","new feature","up","Safety","test","change","feature delivery","refactor",{"skillNo":135,"name":70,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":141,"publishedAt":25},"01M6C4P345APEFEX00J8T7QMXQ","WHEN building or changing React components, pages, hooks, effects, or apps, including edits to existing components; NOT for test code (react-testing) or styling (css, tailwind); enforces scalable architecture, state management, API layer, performance patterns.","https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills\u002Fblob\u002Fmain\u002Fsrc\u002Fweb\u002Fskills\u002Freact\u002FSKILL.md",[139,140],{"categoryNo":61,"categoryName":62,"taxonomyType":63,"taxonomyTypeDesc":64},{"categoryNo":66,"categoryName":67,"taxonomyType":63,"taxonomyTypeDesc":64},[70,142,76,109,143,130,144,145,146,95,74,147,108,148,149,150],"react components","performance","components","architecture","state management","api","management","hooks","styling",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":159,"publishedAt":25},"01M6C4P0DK385QBG3B3S86TQV2","react-testing","WHEN testing React components\u002Fhooks\u002Fcontext with React Testing Library; NOT e2e; covers renderHook, providers, forms, and anti-patterns.","https:\u002F\u002Fgithub.com\u002Fmintuz\u002Fskills\u002Fblob\u002Fmain\u002Fsrc\u002Fweb\u002Fskills\u002Freact-testing\u002FSKILL.md",[157,158],{"categoryNo":61,"categoryName":62,"taxonomyType":63,"taxonomyTypeDesc":64},{"categoryNo":66,"categoryName":67,"taxonomyType":63,"taxonomyTypeDesc":64},[76,160,70,144,142,161,162,163,164,165,166,149],"react testing","testing library","library","Providers","e2e","context","anti-patterns"]