[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7CD7FMMRVKQJEYM0P9606PM":3,"skill-same:01M7CD7FMMRVKQJEYM0P9606PM":47},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":6,"ownerHtmlUrl":30,"ownerBlogUrl":31,"ownerDescription":32,"updatedAt":33,"install":34,"resources":46},"01M7CD7FMMRVKQJEYM0P9606PM","principle-explain-the-number",null,"Apply before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think.","Whamp\u002Fpi-extensions","Whamp","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1115485?v=4","01M6GV45K5PM2S7V3H0JERGBXN","Will Hampson","01M7CD24WR8BM48CT1X6HWVASD",1,"MIT","https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions\u002Fblob\u002Fmaster\u002Fpackages\u002Fpi-pstack\u002Fskills\u002Fprinciple-explain-the-number\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: principle-explain-the-number\ndescription: \"Apply before you trust, report, or act on a number you measured: a speedup, a regression, a throughput, a latency, or an eval result. Find what limits it, and rule out that it measured something other than the work you think.\"\ndisable-model-invocation: true\n---\n\n# Explain the Number\n\n- **Ask \"why not double?\"** Name the resource or code path that bounds the result, such as a core, a lock, the disk, the network, or the load generator itself. Get it from a profile or from system counters taken during a run, then map it to source. A guess from reading the code is not a limiter. If you cannot say why the number is not twice as good, you do not know what you measured.\n- **List what else the number could be measuring, and rule out each one with evidence.** The usual suspects are errors, skipped or cached work, code that never ran, an untuned side (one left on default settings), noise, and a piece too small to matter end to end.\n- **Keep the evidence with the number.** Put the run count, the spread, and the limiter in the notes or a linked artifact.\n\nFor a performance number, run the full procedure with the [benchmark-checklist](..\u002Fbenchmark-checklist\u002FSKILL.md) skill. For an eval result, ask the same of the trials: did every run do the task, does the gap hold across trials and models, and does the scenario matter.\n\nYou skipped this when the evidence behind a number has no run count, no spread, or no named limiter, or when the time saved is larger than the time the changed piece took.\n\nDistinct from [Prove It Works](..\u002Fprinciple-prove-it-works\u002FSKILL.md), which checks that an output is real.\n","# Explain the Number\n\n- **Ask \"why not double?\"** Name the resource or code path that bounds the result, such as a core, a lock, the disk, the network, or the load generator itself. Get it from a profile or from system counters taken during a run, then map it to source. A guess from reading the code is not a limiter. If you cannot say why the number is not twice as good, you do not know what you measured.\n- **List what else the number could be measuring, and rule out each one with evidence.** The usual suspects are errors, skipped or cached work, code that never ran, an untuned side (one left on default settings), noise, and a piece too small to matter end to end.\n- **Keep the evidence with the number.** Put the run count, the spread, and the limiter in the notes or a linked artifact.\n\nFor a performance number, run the full procedure with the [benchmark-checklist](..\u002Fbenchmark-checklist\u002FSKILL.md) skill. For an eval result, ask the same of the trials: did every run do the task, does the gap hold across trials and models, and does the scenario matter.\n\nYou skipped this when the evidence behind a number has no run count, no spread, or no named limiter, or when the time saved is larger than the time the changed piece took.\n\nDistinct from [Prove It Works](..\u002Fprinciple-prove-it-works\u002FSKILL.md), which checks that an output is real.\n",{"name":5,"description":7,"disable-model-invocation":24},true,"master","1d75a8ae76094c017ddb973723b6d6dfa1e0c1c3","packages\u002Fpi-pstack\u002Fskills\u002Fprinciple-explain-the-number",0,"https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions","https:\u002F\u002Fgithub.com\u002FWhamp","https:\u002F\u002Ftwitter.com\u002Fhampsonw","Motorcycles. Dogs. Bonds. Autodidact. http:\u002F\u002Fcourse.fast.ai  alum","2026-10-24 21:56:00",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":24},[36,39,42],{"tool":37,"command":38},"npx","npx skills add Whamp\u002Fpi-extensions --skill principle-explain-the-number",{"tool":40,"command":41},"bunx","bunx skills add Whamp\u002Fpi-extensions --skill principle-explain-the-number",{"tool":43,"command":44},"pnpm","pnpm dlx skills add Whamp\u002Fpi-extensions --skill principle-explain-the-number","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions\u002Fblob\u002Fmaster\u002Fpackages\u002Fpi-pstack\u002Fskills\u002Fprinciple-explain-the-number\u002FSKILL.md",[],[48,55,62,69,76,83],{"skillNo":49,"name":50,"nameZh":6,"description":51,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":19},"01M7CD9WQEV4QVY73VGX1TDQ43","sidekick-browser","Use the pinned local AXI launcher for explicit, isolated browser verification in a Sidekick child.","https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions\u002Fblob\u002Fmaster\u002Fpackages\u002Fpi-sidekick\u002Fskills\u002Fsidekick-browser\u002FSKILL.md",[],[],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":19},"01M7CD9PVK6TRMX8DZR5B9QS1W","why","Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.","https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions\u002Fblob\u002Fmaster\u002Fpackages\u002Fpi-pstack\u002Fskills\u002Fwhy\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M7CD9KY7SH6P8ENEZG6463DV","unslop","Cut AI tells from any writing.","https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions\u002Fblob\u002Fmaster\u002Fpackages\u002Fpi-pstack\u002Fskills\u002Funslop\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M7CD9J8RY8ZH1XMHNC1A2423","typescript-best-practices","TypeScript best practices. Use when reading or editing any .ts or .tsx file.","https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions\u002Fblob\u002Fmaster\u002Fpackages\u002Fpi-pstack\u002Fskills\u002Ftypescript-best-practices\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M7CD9DY3PRH9Z1X7JTZMZRBG","technical-writing","Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for \u002Fskill:technical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.","https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions\u002Fblob\u002Fmaster\u002Fpackages\u002Fpi-pstack\u002Fskills\u002Ftechnical-writing\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M7CD9B6C9NXWJHEKGYPCFD6M","teach","Explain a body of work plainly so a person actually understands it. Runs the `how` and `why` skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.","https:\u002F\u002Fgithub.com\u002FWhamp\u002Fpi-extensions\u002Fblob\u002Fmaster\u002Fpackages\u002Fpi-pstack\u002Fskills\u002Fteach\u002FSKILL.md",[],[]]