[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H3853BEMZ1ACE6SMP8QGCY":3,"skill-same:01M6H3853BEMZ1ACE6SMP8QGCY":161},{"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":27,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":65,"updatedAt":66,"install":67,"resources":79},"01M6H3853BEMZ1ACE6SMP8QGCY","mobile-testing",null,"Single MetaMask Mobile testing entrypoint. Routes unit, component-view, integration, Appium E2E, and test-layer placement work to the right references. Use when writing, fixing, reviewing, or placing Mobile tests; when the user mentions Jest layers, *.view.test.tsx, *.integration.test.ts, Appium smoke, MMQA test-layer tickets, or asks which testing skill to install.","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\u002Fwallets\u002Fmetamask-official-mobile-testing\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002FSKILL.md",[19,24],{"categoryNo":20,"categoryName":21,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":25,"categoryName":26,"taxonomyType":22,"taxonomyTypeDesc":23},"01JBSEEDCAT000000000000018","写作与文案",[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"mobile","testing","mobile testing","references","when","single","layers","which","true","appium","unit","tests","jest","tsx","smoke","use","view","work","testing skill","e2e","test","writing","2026-11-10 10:12:30",false,"---\nname: mobile-testing\ndescription: >\n  Single MetaMask Mobile testing entrypoint. Routes unit, component-view,\n  integration, Appium E2E, and test-layer placement work to the right\n  references. Use when writing, fixing, reviewing, or placing Mobile tests;\n  when the user mentions Jest layers, *.view.test.tsx, *.integration.test.ts,\n  Appium smoke, MMQA test-layer tickets, or asks which testing skill to install.\nmaturity: stable\nbase: true\n---\n\n# Mobile testing\n\nOne skill for MetaMask Mobile functional testing. Classify the task, pick the\nlayer, then open **only** the matching reference.\n\n**Out of scope:** performance, visual, A\u002FB, i18n, and flakiness skills — keep\nthose separate.\n\n## First step — choose the layer\n\nRead installed `knowledge\u002Ftesting-layers.md` (source:\n[`..\u002F..\u002Fknowledge\u002Ftesting-layers.md`](..\u002F..\u002Fknowledge\u002Ftesting-layers.md))\nbefore writing any test. `references\u002Flayers.md` is only a redirect stub.\n\n## Open next\n\n| If the work is… | Open |\n| --- | --- |\n| Pure logic \u002F helpers \u002F selectors \u002F CV fallback | [`references\u002Funit.md`](references\u002Funit.md) |\n| Screen UI via real Redux \u002F `*.view.test.tsx` | [`references\u002Fcomponent-view.md`](references\u002Fcomponent-view.md) |\n| App↔controller seam \u002F `*.integration.test.ts` | [`references\u002Fintegration.md`](references\u002Fintegration.md) |\n| Justified device\u002Fnative journey \u002F run Appium locally (after layer gate) | [`references\u002Fappium-e2e.md`](references\u002Fappium-e2e.md) → mobile `docs\u002Ftesting\u002Fappium-smoke-testing.md` |\n| Area \u002F Jira \u002F PR coverage audit across layers | [`references\u002Fplacement.md`](references\u002Fplacement.md) |\n\nDo not read every reference up front. Follow the decision tree in installed\n`knowledge\u002Ftesting-layers.md`, then open nested files only when that doc sends\nyou there.\n\n## Hard rules\n\n1. **Layer gate first.** Prefer **CV → integration → unit fallback → E2E**. Do not\n   propose E2E until CV and integration have been ruled out in writing (why CV\n   fails, why integration fails, required device\u002Fnative boundary).\n2. **If and only if E2E is justified**, implement device E2E in **Appium**.\n3. For E2E, inspect existing Appium specs, POMs, fixtures, flows, and nearby\n   feature examples in the mobile repo before proposing code.\n4. E2E POM methods must not use `try\u002Fcatch`.\n5. Placement work defaults to **ANALYZE** — implement only when the user asks.\n\n## Examples\n\n```\nUser: Add tests for the new Predict screen visibility toggles\nAgent: layers → CV → references\u002Fcomponent-view.md → writing-tests.md\n```\n\n```\nUser: Cover HyperLiquid placeOrder through the real provider\nAgent: layers → integration → references\u002Fintegration.md\n```\n\n```\nUser: Add an Appium smoke for account rename\nAgent: layers gate first — if only UI\u002Fnav, prefer CV; if device boundary required → appium-e2e.md\n```\n\n```\nUser: Cover a multi-screen filter journey on Predict\nAgent: layers → CV (cross-screen routes) → references\u002Fcomponent-view.md — not E2E\n```\n\n```\nUser: Analyze Perps for unit\u002FCV\u002Fintegration\u002Fe2e — MMQA-2102\nAgent: references\u002Fplacement.md (ANALYZE mode)\n```\n","# Mobile testing\n\nOne skill for MetaMask Mobile functional testing. Classify the task, pick the\nlayer, then open **only** the matching reference.\n\n**Out of scope:** performance, visual, A\u002FB, i18n, and flakiness skills — keep\nthose separate.\n\n## First step — choose the layer\n\nRead installed `knowledge\u002Ftesting-layers.md` (source:\n[`..\u002F..\u002Fknowledge\u002Ftesting-layers.md`](..\u002F..\u002Fknowledge\u002Ftesting-layers.md))\nbefore writing any test. `references\u002Flayers.md` is only a redirect stub.\n\n## Open next\n\n| If the work is… | Open |\n| --- | --- |\n| Pure logic \u002F helpers \u002F selectors \u002F CV fallback | [`references\u002Funit.md`](references\u002Funit.md) |\n| Screen UI via real Redux \u002F `*.view.test.tsx` | [`references\u002Fcomponent-view.md`](references\u002Fcomponent-view.md) |\n| App↔controller seam \u002F `*.integration.test.ts` | [`references\u002Fintegration.md`](references\u002Fintegration.md) |\n| Justified device\u002Fnative journey \u002F run Appium locally (after layer gate) | [`references\u002Fappium-e2e.md`](references\u002Fappium-e2e.md) → mobile `docs\u002Ftesting\u002Fappium-smoke-testing.md` |\n| Area \u002F Jira \u002F PR coverage audit across layers | [`references\u002Fplacement.md`](references\u002Fplacement.md) |\n\nDo not read every reference up front. Follow the decision tree in installed\n`knowledge\u002Ftesting-layers.md`, then open nested files only when that doc sends\nyou there.\n\n## Hard rules\n\n1. **Layer gate first.** Prefer **CV → integration → unit fallback → E2E**. Do not\n   propose E2E until CV and integration have been ruled out in writing (why CV\n   fails, why integration fails, required device\u002Fnative boundary).\n2. **If and only if E2E is justified**, implement device E2E in **Appium**.\n3. For E2E, inspect existing Appium specs, POMs, fixtures, flows, and nearby\n   feature examples in the mobile repo before proposing code.\n4. E2E POM methods must not use `try\u002Fcatch`.\n5. Placement work defaults to **ANALYZE** — implement only when the user asks.\n\n## Examples\n\n```\nUser: Add tests for the new Predict screen visibility toggles\nAgent: layers → CV → references\u002Fcomponent-view.md → writing-tests.md\n```\n\n```\nUser: Cover HyperLiquid placeOrder through the real provider\nAgent: layers → integration → references\u002Fintegration.md\n```\n\n```\nUser: Add an Appium smoke for account rename\nAgent: layers gate first — if only UI\u002Fnav, prefer CV; if device boundary required → appium-e2e.md\n```\n\n```\nUser: Cover a multi-screen filter journey on Predict\nAgent: layers → CV (cross-screen routes) → references\u002Fcomponent-view.md — not E2E\n```\n\n```\nUser: Analyze Perps for unit\u002FCV\u002Fintegration\u002Fe2e — MMQA-2102\nAgent: references\u002Fplacement.md (ANALYZE mode)\n```\n",{"base":55,"name":5,"maturity":56,"description":57},true,"stable","Single MetaMask Mobile testing entrypoint. Routes unit, component-view, integration, Appium E2E, and test-layer placement work to the right references. Use when writing, fixing, reviewing, or placing Mobile tests; when the user mentions Jest layers, *.view.test.tsx, *.integration.test.ts, Appium smoke, MMQA test-layer tickets, or asks which testing skill to install.\n","main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fwallets\u002Fmetamask-official-mobile-testing",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-12 02:28:42",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":55},[69,72,75],{"tool":70,"command":71},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill mobile-testing",{"tool":73,"command":74},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill mobile-testing",{"tool":76,"command":77},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill mobile-testing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002FSKILL.md",[80,84,90,94,98,102,106,110,114,118,122,126,130,134,137,141,145,149,153,157],{"path":81,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":16},"LICENSE","许可证",1065,{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fappium-e2e.md","REFERENCE","参考文档",9441,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fappium-e2e.md",{"path":91,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fcomponent-view.md",11917,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fcomponent-view.md",{"path":95,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fcomponent-view\u002Fnavigation-mocking.md",9453,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fcomponent-view\u002Fnavigation-mocking.md",{"path":99,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fcomponent-view\u002Freference.md",27044,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fcomponent-view\u002Freference.md",{"path":103,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Fcomponent-view\u002Fwriting-tests.md",24327,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fcomponent-view\u002Fwriting-tests.md",{"path":107,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Fintegration.md",10746,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fintegration.md",{"path":111,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Fintegration\u002Fharness-extension.md",11341,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fintegration\u002Fharness-extension.md",{"path":115,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Fintegration\u002Freference.md",13824,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fintegration\u002Freference.md",{"path":119,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Fintegration\u002Fwriting-tests.md",11912,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fintegration\u002Fwriting-tests.md",{"path":123,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":124,"sourceHtmlUrl":125},"references\u002Flayers.md",381,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Flayers.md",{"path":127,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":128,"sourceHtmlUrl":129},"references\u002Fplacement.md",10523,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fplacement.md",{"path":131,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":132,"sourceHtmlUrl":133},"references\u002Fplacement\u002Finventory.md",1614,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fplacement\u002Finventory.md",{"path":135,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":132,"sourceHtmlUrl":136},"references\u002Fplacement\u002Fpr-description-template.md","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fplacement\u002Fpr-description-template.md",{"path":138,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":139,"sourceHtmlUrl":140},"references\u002Fplacement\u002Freport-template.md",2000,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fplacement\u002Freport-template.md",{"path":142,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":143,"sourceHtmlUrl":144},"references\u002Fplacement\u002Funit-cv-overlap.md",2942,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Fplacement\u002Funit-cv-overlap.md",{"path":146,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":147,"sourceHtmlUrl":148},"references\u002Funit.md",25432,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Freferences\u002Funit.md",{"path":150,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":151,"sourceHtmlUrl":152},"repos\u002Fmetamask-mobile.md",655,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002Frepos\u002Fmetamask-mobile.md",{"path":154,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":155,"sourceHtmlUrl":156},"SOURCE.md",365,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002FSOURCE.md",{"path":158,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":159,"sourceHtmlUrl":160},"TRUST.auto.yaml",2201,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fwallets\u002Fmetamask-official-mobile-testing\u002FTRUST.auto.yaml",[162,190,213,231,244,254],{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":166,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":50},"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",[],[170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":194,"licenseFileUrl":195,"sourceHtmlUrl":196,"categories":197,"keywords":198,"publishedAt":50},"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",[],[199,200,201,202,203,204,205,206,207,208,209,210,211,212],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":194,"licenseFileUrl":217,"sourceHtmlUrl":218,"categories":219,"keywords":220,"publishedAt":50},"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",[],[221,200,222,223,224,225,226,210,209,208,227,228,229,204,230,203,202],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":232,"name":233,"nameZh":6,"description":234,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":194,"licenseFileUrl":235,"sourceHtmlUrl":236,"categories":237,"keywords":238,"publishedAt":50},"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",[],[239,240,201,241,242,211,209,243,207,206,204,203],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":245,"name":246,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":247,"sourceHtmlUrl":248,"categories":249,"keywords":250,"publishedAt":50},"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",[],[251,252,253],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":255,"name":256,"nameZh":6,"description":257,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":258,"sourceHtmlUrl":259,"categories":260,"keywords":261,"publishedAt":50},"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",[],[39,262,263,264,265,266,267,43,268,269,270],"cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","code","share"]