[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GXZDMZYB55XWRTFP2BAC1R":3,"skill-same:01M6GXZDMZYB55XWRTFP2BAC1R":79},{"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":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":48,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6GXZDMZYB55XWRTFP2BAC1R","collect-subagent-results-into-a-report",null,"Use when a fan-out has finished and many child outputs must become one parent report. Aggregates by iterating the roster so totals are exact and per-row provenance survives.","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-collect-subagent-results-into-a-report\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-collect-subagent-results-into-a-report\u002FSKILL.md",[19],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[25,26,27,28,29,30,31,32,33,34,35,36],"report","collect","subagent","results","collect subagent results into a report","provenance","use","aggregates","roster","child","outputs","when","2026-11-10 10:12:30",false,"---\nname: collect-subagent-results-into-a-report\ndescription: Use when a fan-out has finished and many child outputs must become one parent report. Aggregates by iterating the roster so totals are exact and per-row provenance survives.\n---\n\n# Collect Subagent Results into a Report\n\nThe parent's report is a reduction over children, and the reduction must be mechanical. Iterate the roster in code, never assemble the summary from what you remember seeing.\n\n## Procedure\n\n1. Load the roster from `notes\u002Froster.json` and treat it as the authoritative list of expected results.\n2. For every roster entry, append the child's verified artifact to `out\u002Freport\u002Frows.jsonl`, in roster order.\n3. Assert coverage before summarising: `jq length notes\u002Froster.json` equals the row count; a shortfall is a missing child, not an empty one.\n4. Aggregate with code: `jq -s 'group_by(.area) | map({area:.[0].area, n:length})' out\u002Freport\u002Frows.jsonl`.\n5. Include only values you verified yourself (per `notes\u002Fmetrics.tsv`), not the child's raw claims.\n6. State totals as counts you can reproduce, and attach the command behind each: \"20\u002F20 valid (validate.py)\".\n7. Preserve provenance per row as `{slug, child_id, artifact_path, verdict}` so any line traces to its child.\n8. List failures explicitly with their blocking reason; do not bury them under the success summary.\n9. Keep the report in a fixed order the requester asked for; if none was asked, use roster order and say so.\n10. Re-read the final report against the roster once, as a last check, before delivering it.\n\n## Pitfalls\n\n- Writing the summary from memory of the children's messages instead of iterating the roster file.\n- Reporting the children's claimed totals rather than recomputed ones, propagating inflated numbers.\n- Dropping a failed or missing child so the report reads cleaner than reality.\n- Sorting or grouping by eye and miscounting, when `jq` or `sort | uniq -c` gives the exact figure.\n- Losing provenance, so a wrong row in the report cannot be traced back to the child that produced it.\n\n## Verification\n\n```bash\njq length notes\u002Froster.json; wc -l \u003C out\u002Freport\u002Frows.jsonl\n# passes when the two numbers match and every failure has an explicit reason line\n```\n\nReport to the user: the roster size, the reproduced aggregate, and any child that failed with its reason.\n","# Collect Subagent Results into a Report\n\nThe parent's report is a reduction over children, and the reduction must be mechanical. Iterate the roster in code, never assemble the summary from what you remember seeing.\n\n## Procedure\n\n1. Load the roster from `notes\u002Froster.json` and treat it as the authoritative list of expected results.\n2. For every roster entry, append the child's verified artifact to `out\u002Freport\u002Frows.jsonl`, in roster order.\n3. Assert coverage before summarising: `jq length notes\u002Froster.json` equals the row count; a shortfall is a missing child, not an empty one.\n4. Aggregate with code: `jq -s 'group_by(.area) | map({area:.[0].area, n:length})' out\u002Freport\u002Frows.jsonl`.\n5. Include only values you verified yourself (per `notes\u002Fmetrics.tsv`), not the child's raw claims.\n6. State totals as counts you can reproduce, and attach the command behind each: \"20\u002F20 valid (validate.py)\".\n7. Preserve provenance per row as `{slug, child_id, artifact_path, verdict}` so any line traces to its child.\n8. List failures explicitly with their blocking reason; do not bury them under the success summary.\n9. Keep the report in a fixed order the requester asked for; if none was asked, use roster order and say so.\n10. Re-read the final report against the roster once, as a last check, before delivering it.\n\n## Pitfalls\n\n- Writing the summary from memory of the children's messages instead of iterating the roster file.\n- Reporting the children's claimed totals rather than recomputed ones, propagating inflated numbers.\n- Dropping a failed or missing child so the report reads cleaner than reality.\n- Sorting or grouping by eye and miscounting, when `jq` or `sort | uniq -c` gives the exact figure.\n- Losing provenance, so a wrong row in the report cannot be traced back to the child that produced it.\n\n## Verification\n\n```bash\njq length notes\u002Froster.json; wc -l \u003C out\u002Freport\u002Frows.jsonl\n# passes when the two numbers match and every failure has an explicit reason line\n```\n\nReport to the user: the roster size, the reproduced aggregate, and any child that failed with its reason.\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fpayments\u002F0xklen-collect-subagent-results-into-a-report",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":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill collect-subagent-results-into-a-report",{"tool":57,"command":58},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill collect-subagent-results-into-a-report",{"tool":60,"command":61},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill collect-subagent-results-into-a-report","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-collect-subagent-results-into-a-report\u002FSKILL.md",true,[65,69,75],{"path":66,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":16},"LICENSE","许可证",1063,{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"SOURCE.md","REFERENCE","参考文档",364,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-collect-subagent-results-into-a-report\u002FSOURCE.md",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"TRUST.auto.yaml",2168,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fpayments\u002F0xklen-collect-subagent-results-into-a-report\u002FTRUST.auto.yaml",[80,108,131,149,162,172],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":84,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":37},"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",[],[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":113,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":37},"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",[],[117,118,119,120,121,122,123,124,125,126,127,128,129,130],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":135,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":37},"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",[],[139,118,140,141,142,143,144,128,127,126,145,146,147,122,148,121,120],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":112,"licenseFileUrl":153,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":37},"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",[],[157,158,119,159,160,129,127,161,125,124,122,121],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":163,"name":164,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":165,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":37},"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",[],[169,170,171],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":176,"sourceHtmlUrl":177,"categories":178,"keywords":179,"publishedAt":37},"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",[],[180,181,182,183,184,185,186,31,187,188,189],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","code","share"]