[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GZRT5G0QXRQKC1AWB71NPF":3,"skill-same:01M6GZRT5G0QXRQKC1AWB71NPF":83},{"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":16,"sourceHtmlUrl":17,"categories":18,"keywords":24,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":53,"updatedAt":54,"install":55,"resources":68},"01M6GZRT5G0QXRQKC1AWB71NPF","record-what-the-requirement-left-out",null,"Use when a requirement defines what a feature does but not its boundaries. Logs the excluded non-goals, assumptions, and open questions with the spec so gaps cannot resurface as scope surprises.","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"MIT","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-record-what-the-requirement-left-out\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-record-what-the-requirement-left-out\u002FSKILL.md",[19],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"what the","record","record what the requirement left out","spec","logs","open","use","goals","but","feature","as","scope","with","questions","gaps","when","2026-11-10 10:12:30",false,"---\nname: record-what-the-requirement-left-out\ndescription: Use when a requirement defines what a feature does but not its boundaries. Logs the excluded non-goals, assumptions, and open questions with the spec so gaps cannot resurface as scope surprises.\n---\n\n# Record what the requirement left out\n\nA spec is defined as much by what it excludes as by what it states. This skill records the non-goals, the assumptions, and the unresolved questions beside the spec, so nothing is silently assumed.\n\n## Procedure\n\n1. Read the requirement and list three categories in `boundaries.md`: `non-goals` (deliberately excluded), `assumptions` (believed true but unverified), and `open questions` (undecided).\n2. For each non-goal name who asked for it and why it was excluded, so a future reader sees the reasoning, not just a veto.\n3. For each assumption write the evidence (or `none`) and the impact if it is false; an assumption with no evidence and high impact is an open question in disguise.\n4. For each open question name the decider and the date by which it must be answered, or it will be answered by accident during the build.\n5. Cross-check assumptions against the acceptance criteria; a criterion resting on an unverified assumption is fragile and should be flagged.\n6. Review the boundary list with the requester before freezing the spec, since people catch omissions better than incorrect statements.\n7. Version the file with the spec so boundaries travel with the requirements, not in a chat thread.\n8. Revisit before each review; a resolved open question moves to non-goals or into the spec, and the list stays current.\n9. Distinguish a deliberate non-goal from a forgotten one by naming who decided and when.\n10. Add a section for constraints imposed from outside the team, such as platform limits or contracts.\n\n11. Link each assumption to the evidence file or ticket so it can be rechecked when it expires.\n\n## Pitfalls\n\n- Leaving the non-goals implicit, so every reviewer assumes a different boundary.\n- Recording an assumption without its impact, which hides the ones that matter.\n- Open questions with no owner or deadline, which is how a decision gets made by whoever codes first.\n- Writing boundaries in a separate doc that nobody opens with the spec.\n- Treating \"we'll decide later\" as a non-goal; it is an open question with a deadline missing.\n- Listing open questions without dates, which quietly become the build team's problem.\n- Treating the boundaries doc as a one-time artefact instead of a living companion to the spec.\n\n- Merging a non-goal back into scope without updating the boundary file.\n\n## Verification\n\n    grep -c '^non-goal\\|^assumption\\|^open question' boundaries.md; grep -c 'owner:\\|date:' boundaries.md\n\nReport the non-goal count, every assumption lacking evidence, and each open question's owner and deadline.\n","# Record what the requirement left out\n\nA spec is defined as much by what it excludes as by what it states. This skill records the non-goals, the assumptions, and the unresolved questions beside the spec, so nothing is silently assumed.\n\n## Procedure\n\n1. Read the requirement and list three categories in `boundaries.md`: `non-goals` (deliberately excluded), `assumptions` (believed true but unverified), and `open questions` (undecided).\n2. For each non-goal name who asked for it and why it was excluded, so a future reader sees the reasoning, not just a veto.\n3. For each assumption write the evidence (or `none`) and the impact if it is false; an assumption with no evidence and high impact is an open question in disguise.\n4. For each open question name the decider and the date by which it must be answered, or it will be answered by accident during the build.\n5. Cross-check assumptions against the acceptance criteria; a criterion resting on an unverified assumption is fragile and should be flagged.\n6. Review the boundary list with the requester before freezing the spec, since people catch omissions better than incorrect statements.\n7. Version the file with the spec so boundaries travel with the requirements, not in a chat thread.\n8. Revisit before each review; a resolved open question moves to non-goals or into the spec, and the list stays current.\n9. Distinguish a deliberate non-goal from a forgotten one by naming who decided and when.\n10. Add a section for constraints imposed from outside the team, such as platform limits or contracts.\n\n11. Link each assumption to the evidence file or ticket so it can be rechecked when it expires.\n\n## Pitfalls\n\n- Leaving the non-goals implicit, so every reviewer assumes a different boundary.\n- Recording an assumption without its impact, which hides the ones that matter.\n- Open questions with no owner or deadline, which is how a decision gets made by whoever codes first.\n- Writing boundaries in a separate doc that nobody opens with the spec.\n- Treating \"we'll decide later\" as a non-goal; it is an open question with a deadline missing.\n- Listing open questions without dates, which quietly become the build team's problem.\n- Treating the boundaries doc as a one-time artefact instead of a living companion to the spec.\n\n- Merging a non-goal back into scope without updating the boundary file.\n\n## Verification\n\n    grep -c '^non-goal\\|^assumption\\|^open question' boundaries.md; grep -c 'owner:\\|date:' boundaries.md\n\nReport the non-goal count, every assumption lacking evidence, and each open question's owner and deadline.\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fpayments\u002F0xklen-record-what-the-requirement-left-out",17,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia","https:\u002F\u002Feth2030.com","Hardcore infra. Building @alt-research and applied cryptography.","2026-11-14 02:27:51",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill record-what-the-requirement-left-out",{"tool":61,"command":62},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill record-what-the-requirement-left-out",{"tool":64,"command":65},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill record-what-the-requirement-left-out","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-record-what-the-requirement-left-out\u002FSKILL.md",true,[69,73,79],{"path":70,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":16},"LICENSE","许可证",1063,{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"SOURCE.md","REFERENCE","参考文档",362,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-record-what-the-requirement-left-out\u002FSOURCE.md",{"path":80,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":81,"sourceHtmlUrl":82},"TRUST.auto.yaml",2217,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-record-what-the-requirement-left-out\u002FTRUST.auto.yaml",[84,112,135,153,166,176],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":88,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":41},"01M712C436EQYE43342Q4E7GG1","recipe-performance","Diagnose a specific MetaMask user flow's real-app performance and Sentry critical-user-flow telemetry with deterministic mm-harness recipes. Use for CUF boundaries, cold\u002Fwarm\u002Fbackground-resume behavior, latency regressions, lifecycle tags, duplicate or blocking network requests, long tasks, layout\u002Fpaint cost, screen redraws, React rerenders, or browser trace analysis where tests alone cannot prove the real app.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-recipe-performance\u002FSKILL.md",[],[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":117,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":41},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-websocket\u002FSKILL.md",[],[121,122,123,124,125,126,127,128,129,130,131,132,133,134],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":139,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":41},"01M70XT0MBXN3WZY1BKN0CPNKR","mexc-spot-rest","MEXC Spot REST workflows for public data, signed account requests, orders, wallet\u002Fadmin actions, and secure signing without exposing API keys.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-spot-rest\u002FSKILL.md",[],[143,122,144,145,146,147,148,132,131,130,149,150,151,126,152,125,124],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":116,"licenseFileUrl":157,"sourceHtmlUrl":158,"categories":159,"keywords":160,"publishedAt":41},"01M70XSYSVZ2N0N91XCAR2CAK0","mexc-futures-websocket","MEXC Futures WebSocket workflows for public streams, private account\u002Forder\u002Fposition streams, ping\u002Fpong, subscriptions, and depth maintenance.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fexchanges\u002Fmncrftfrcnm-mexc-futures-websocket\u002FSKILL.md",[],[161,162,123,163,164,133,131,165,129,128,126,125],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":167,"name":168,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":169,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":41},"01M6H0ZWHVE5W04WG2DKQE2SQC","0xklen-version-and-refresh-sanctions-lists","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-version-and-refresh-sanctions-lists\u002FSKILL.md",[],[173,174,175],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":180,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":41},"01M6H0Z28Q3R8J0S799GJQWXM3","verify-tests-cover-changed-lines","Use when a PR adds code that the existing suite may not exercise. Measures patch coverage — the share of newly changed lines hit by tests — before approving.","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-verify-tests-cover-changed-lines\u002FSKILL.md",[],[184,185,186,187,188,189,190,31,191,192,193],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","code","share"]