[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GY8Q4DFXMGG93SZD9TPY2S":3,"skill-same:01M6GY8Q4DFXMGG93SZD9TPY2S":86},{"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":29,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":56,"updatedAt":57,"install":58,"resources":71},"01M6GY8Q4DFXMGG93SZD9TPY2S","design-a-graded-exercise-set",null,"Use when building a practice set for a topic. Lays out recall, apply, and transfer tiers with an explicit pass threshold between tiers, so a learner cannot advance on recognition alone.","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-design-a-graded-exercise-set\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-design-a-graded-exercise-set\u002FSKILL.md",[19,24],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":25,"categoryName":26,"taxonomyType":27,"taxonomyTypeDesc":28},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[30,31,32,33,34,35,36,37,38,39,40,41,42,43],"design","SET","exercise","design a graded exercise set","transfer","recall","advance","use","learner","recognition","with","for","apply","when","2026-11-10 10:12:30",false,"---\nname: design-a-graded-exercise-set\ndescription: Use when building a practice set for a topic. Lays out recall, apply, and transfer tiers with an explicit pass threshold between tiers, so a learner cannot advance on recognition alone.\n---\n\n# Design a Graded Exercise Set\n\nRecognition is not ability. A set that only asks the learner to recall lets them pass without solving anything; a ladder that forces application and transfer exposes the gap while it is still cheap to fix.\n\n## Procedure\n\n1. Split the topic into three tiers and cap each:\n   - Tier A recall: 5 items, one right answer, no reasoning required.\n   - Tier B apply: 3 items, the rule used in a worked-like setting.\n   - Tier C transfer: 1 item, the rule used in a domain the learner has not seen.\n2. Set the gate: 4 of 5 on Tier A to attempt B; 2 of 3 on B to attempt C. Below the gate, revisit the tier.\n3. Write each item with a runnable check where possible, e.g. `pytest exercises\u002Fset1\u002Ftest_tier_b.py -q` expecting `3 passed`.\n4. For non-code items, give a one-line model answer the learner can self-mark against.\n5. Order items by increasing distance from the teaching example, not by subjective difficulty.\n6. Record for each Tier C item the transfer axis (new data shape, new language, new scale) so you can audit coverage.\n7. Cap the whole set at nine items; more than that and the learner stops at Tier B.\n8. Re-tune the gates after the first learner: if everyone clears Tier B, the items were too easy.\n9. Keep the model answers in `_answers\u002F`, separate from the learner copy.\n10. Time the set on yourself; if it takes over an hour, cut items rather than adding pressure.\n11. Print a score per tier so the learner sees which rung they are on, not a single pass\u002Ffail.\n12. Version the set against the topic commit it was written for, so drift is visible.\n13. Record how long each tier takes you, so the set fits the session it is used in.\n14. Print the tier next to each item so grading is unambiguous.\n15. Keep one worked example per tier visible, so the learner sees the standard expected.\n16. Store items as data (e.g. YAML) so gates and counts are adjustable without editing prose.\n\n## Pitfalls\n\n- Ten Tier A items and no Tier C, so the set rewards memorisation.\n- A Tier C item that is really Tier B with new variable names; transfer means new context.\n- Making the gate a hard wall with no route back to re-study.\n- Self-marking Tier B items with a vague model answer no learner can match.\n- Publishing the answer key in the same directory the learner works in.\n- Letting the tiers drift so a \"recall\" item needs reasoning and an \"apply\" item does not.\n- Tier B items that can be answered by copying a Tier A answer.\n- A set with no retry, so one bad tier ends the whole session.\n- Gates set by feel rather than by watching the first learner attempt them.\n- Requirements that mix tiers, so the grader cannot tell what is being tested.\n- A worked example that reveals the Tier C answer.\n- Gates hard-coded in several places that drift out of sync.\n\n## Verification\n\n    pytest exercises\u002Fset1 -q\n    # passes when 5 tier_a, 3 tier_b, 1 tier_c collect and the golden run reports 9 passed\n\nReport to the user: the tier counts, each gate value, and the transfer axis named for the Tier C item.\n","# Design a Graded Exercise Set\n\nRecognition is not ability. A set that only asks the learner to recall lets them pass without solving anything; a ladder that forces application and transfer exposes the gap while it is still cheap to fix.\n\n## Procedure\n\n1. Split the topic into three tiers and cap each:\n   - Tier A recall: 5 items, one right answer, no reasoning required.\n   - Tier B apply: 3 items, the rule used in a worked-like setting.\n   - Tier C transfer: 1 item, the rule used in a domain the learner has not seen.\n2. Set the gate: 4 of 5 on Tier A to attempt B; 2 of 3 on B to attempt C. Below the gate, revisit the tier.\n3. Write each item with a runnable check where possible, e.g. `pytest exercises\u002Fset1\u002Ftest_tier_b.py -q` expecting `3 passed`.\n4. For non-code items, give a one-line model answer the learner can self-mark against.\n5. Order items by increasing distance from the teaching example, not by subjective difficulty.\n6. Record for each Tier C item the transfer axis (new data shape, new language, new scale) so you can audit coverage.\n7. Cap the whole set at nine items; more than that and the learner stops at Tier B.\n8. Re-tune the gates after the first learner: if everyone clears Tier B, the items were too easy.\n9. Keep the model answers in `_answers\u002F`, separate from the learner copy.\n10. Time the set on yourself; if it takes over an hour, cut items rather than adding pressure.\n11. Print a score per tier so the learner sees which rung they are on, not a single pass\u002Ffail.\n12. Version the set against the topic commit it was written for, so drift is visible.\n13. Record how long each tier takes you, so the set fits the session it is used in.\n14. Print the tier next to each item so grading is unambiguous.\n15. Keep one worked example per tier visible, so the learner sees the standard expected.\n16. Store items as data (e.g. YAML) so gates and counts are adjustable without editing prose.\n\n## Pitfalls\n\n- Ten Tier A items and no Tier C, so the set rewards memorisation.\n- A Tier C item that is really Tier B with new variable names; transfer means new context.\n- Making the gate a hard wall with no route back to re-study.\n- Self-marking Tier B items with a vague model answer no learner can match.\n- Publishing the answer key in the same directory the learner works in.\n- Letting the tiers drift so a \"recall\" item needs reasoning and an \"apply\" item does not.\n- Tier B items that can be answered by copying a Tier A answer.\n- A set with no retry, so one bad tier ends the whole session.\n- Gates set by feel rather than by watching the first learner attempt them.\n- Requirements that mix tiers, so the grader cannot tell what is being tested.\n- A worked example that reveals the Tier C answer.\n- Gates hard-coded in several places that drift out of sync.\n\n## Verification\n\n    pytest exercises\u002Fset1 -q\n    # passes when 5 tier_a, 3 tier_b, 1 tier_c collect and the golden run reports 9 passed\n\nReport to the user: the tier counts, each gate value, and the transfer axis named for the Tier C item.\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fpayments\u002F0xklen-design-a-graded-exercise-set",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-13 02:31:19",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill design-a-graded-exercise-set",{"tool":64,"command":65},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill design-a-graded-exercise-set",{"tool":67,"command":68},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill design-a-graded-exercise-set","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-design-a-graded-exercise-set\u002FSKILL.md",true,[72,76,82],{"path":73,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":16},"LICENSE","许可证",1063,{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"SOURCE.md","REFERENCE","参考文档",354,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-design-a-graded-exercise-set\u002FSOURCE.md",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},"TRUST.auto.yaml",2217,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-design-a-graded-exercise-set\u002FTRUST.auto.yaml",[87,115,137,155,168,178],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":91,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":44},"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",[],[95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":119,"licenseFileUrl":120,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":44},"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",[],[124,125,126,127,128,129,130,131,132,133,41,134,135,136],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","api keys","maintenance","protobuf",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":119,"licenseFileUrl":141,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":44},"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",[],[145,125,146,147,148,149,150,134,41,133,151,152,153,129,154,128,127],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":119,"licenseFileUrl":159,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":44},"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",[],[163,164,126,165,166,135,41,167,132,131,129,128],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":169,"name":170,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":171,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":44},"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",[],[175,176,177],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":182,"sourceHtmlUrl":183,"categories":184,"keywords":185,"publishedAt":44},"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",[],[186,187,188,189,190,191,32,37,192,193,194],"tests","cover","verify tests cover changed lines","verify","coverage","pr","patch","code","share"]