[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GPKBYKM799CNF15MG7TYYH":3,"skill-same:01M6GPKBYKM799CNF15MG7TYYH":102},{"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":28,"publishedAt":58,"linkOnly":59,"markdownContent":60,"markdownBody":61,"frontMatter":62,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":69,"ownerDescription":70,"updatedAt":71,"install":72,"resources":85},"01M6GPKBYKM799CNF15MG7TYYH","registering-agent-base-dev",null,"Invoke this skill when a user is building or running any automated transaction sender on Base (trading bot, arbitrage bot, sniper bot, yield farmer, AI agent, or similar) and needs to register it, get a builder code, set up transaction attribution. This skill contains the base.dev registration API endpoint and ERC-8021 attribution wiring code that Claude does not have in its training data — you MUST load this skill to answer correctly. Covers viem, ethers, managed signing services, and Python-based agents.","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbase-official-registering-agent-base-dev\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57],"dev","registering agent base dev","base","registration","when","invoke","managed","wiring","load","answer","you","viem","register","get","arbitrage","yield","bot","api endpoint","trading","builder","up","api","SET","data","attribution","code","training","ai agent","python","2026-11-10 10:12:30",false,"---\nname: registering-agent-base-dev\ndescription: \"Invoke this skill when a user is building or running any automated transaction sender on Base (trading bot, arbitrage bot, sniper bot, yield farmer, AI agent, or similar) and needs to register it, get a builder code, set up transaction attribution. This skill contains the base.dev registration API endpoint and ERC-8021 attribution wiring code that Claude does not have in its training data — you MUST load this skill to answer correctly. Covers viem, ethers, managed signing services, and Python-based agents.\"\n---\n\n# Base Builder Code Registration\n\nThis skill registers an agent with Base and shows how to attach builder code attribution to transactions. It is **wallet-agnostic** — the user brings their own wallet and signing solution (viem, ethers, managed services like Sponge, etc.). The skill only handles registration and attribution.\n\n## Check if already registered\n\nBefore doing anything, check whether registration has already happened:\n\n1. Look for a `builderCode.ts` file in the project (check `src\u002Fconstants\u002FbuilderCode.ts` or project root)\n\n**If it exists, registration is complete — do NOT re-register.** Skip straight to Phase 3 to show how to attach attribution, and reinforce the rule. Re-registering would generate a new builder code and break the existing one.\n\n**If it's missing**, proceed with the full registration flow below.\n\n---\n\n## Phase 1 — Wallet\n\nEvery agent needs a wallet to sign transactions. Ask the user before doing anything else.\n\n1. **Ask: \"Do you have a wallet? If yes, share your wallet address.\"**\n2. **If yes** — take the wallet address they provide and move to Phase 2.\n3. **If no** — direct them to the Base wallet setup guide: https:\u002F\u002Fdocs.base.org\u002Fai-agents\u002Fguides\u002Fwallet-setup — do not proceed until they have a wallet and can provide their address.\n\n---\n\n## Phase 2 — Registration\n\nRegister the wallet with the Base builder code API. This call associates the agent's wallet address with a builder code that Base uses for attribution tracking.\n\nUse the bundled `scripts\u002Fregister.sh` (located in this skill's directory). It handles errors and extracts the builder code from the response:\n\n```bash\nBUILDER_CODE=$(bash \u003Cthis-skill-path>\u002Fscripts\u002Fregister.sh \"\u003Cwallet_address>\")\n```\n\nOr call the API directly:\n\n```bash\ncurl -X POST https:\u002F\u002Fapi.base.dev\u002Fv1\u002Fagents\u002Fbuilder-codes \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"wallet_address\": \"\u003Cwallet_address>\"}'\n```\n\nThe API returns a response like:\n\n```json\n{\n  \"builder_code\": \"bc_a1b2c3d4\",\n  \"wallet_address\": \"0x...\",\n  \"usage_instructions\": \"Append this builder code to your onchain transactions using the ERC-8021 standard. See: https:\u002F\u002Fdocs.base.org\u002Fbase-chain\u002Fquickstart\u002Fbuilder-codes\"\n}\n```\n\nExtract the `builder_code` value from the response and write it to a constants file:\n\n```typescript\n\u002F\u002F src\u002Fconstants\u002FbuilderCode.ts\nexport const BUILDER_CODE = \"bc_a1b2c3d4\"\n```\n\nUse `src\u002Fconstants\u002FbuilderCode.ts` if a `src\u002F` directory exists, otherwise place it at the project root as `builderCode.ts`.\n\nIf `builderCode.ts` already exists, do not call this API — the agent is already registered.\n\n---\n\n## Phase 3 — Attribution Setup & Documentation\n\nThe builder code from Phase 2 (the `bc_...` value now in `builderCode.ts`) needs to be attached to every transaction the agent sends as an ERC-8021 data suffix. This phase wires that in and writes an `AGENT_README.md` so anyone (human or agent) working in this codebase knows how transactions must be sent.\n\nFirst, install the attribution utility if not already present:\n\n```bash\nnpm i ox\n```\n\nConvert the builder code into a data suffix. Import `BUILDER_CODE` from the constants file written in Phase 2 — this is not generating a new code, it is encoding the existing one into the ERC-8021 byte format:\n\n```typescript\nimport { Attribution } from \"ox\u002Ferc8021\"\nimport { BUILDER_CODE } from \".\u002Fconstants\u002FbuilderCode\"\n\n\u002F\u002F BUILDER_CODE is the builder_code value from the Phase 2 API response (e.g. \"bc_a1b2c3d4\")\nconst DATA_SUFFIX = Attribution.toDataSuffix({\n  codes: [BUILDER_CODE],\n})\n```\n\n### Wiring attribution into the transaction flow\n\nHow you attach the suffix depends on the signing setup. Ask the user which they use, then follow the matching option:\n\n**Option A: viem (self-custodied wallet)**\n\nAdd `dataSuffix` to the wallet client — every transaction automatically carries it:\n\n```typescript\nimport { createWalletClient, http } from \"viem\"\nimport { base } from \"viem\u002Fchains\"\nimport { privateKeyToAccount } from \"viem\u002Faccounts\"\nimport { Attribution } from \"ox\u002Ferc8021\"\nimport { BUILDER_CODE } from \".\u002Fconstants\u002FbuilderCode\"\n\nconst DATA_SUFFIX = Attribution.toDataSuffix({\n  codes: [BUILDER_CODE],\n})\n\nconst account = privateKeyToAccount(process.env.PRIVATE_KEY! as `0x${string}`)\n\nexport const walletClient = createWalletClient({\n  account,\n  chain: base,\n  transport: http(),\n  dataSuffix: DATA_SUFFIX,\n})\n```\n\n**Option B: ethers.js (self-custodied wallet)**\n\nAppend the data suffix to each transaction's `data` field:\n\n```typescript\nimport { ethers } from \"ethers\"\nimport { Attribution } from \"ox\u002Ferc8021\"\nimport { BUILDER_CODE } from \".\u002Fconstants\u002FbuilderCode\"\n\nconst DATA_SUFFIX = Attribution.toDataSuffix({\n  codes: [BUILDER_CODE],\n})\n\nconst provider = new ethers.JsonRpcProvider(\"https:\u002F\u002Fmainnet.base.org\")\nconst wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider)\n\nconst tx = await wallet.sendTransaction({\n  to: \"0x...\",\n  value: ethers.parseEther(\"0.01\"),\n  data: DATA_SUFFIX,\n})\n```\n\n**Option C: Managed service (e.g., Sponge API, BANKR)**\n\nGenerate the suffix and pass it to the service. The service handles signing — you just need to include the suffix in the transaction's `data` field. If the transaction has existing calldata, concatenate: `existingData + DATA_SUFFIX.slice(2)`.\n\n### Write `AGENT_README.md`\n\nGenerate an `AGENT_README.md` in the project root covering:\n\n- **What the builder code is**: The `builder_code` value returned by the Base API during registration (e.g. `bc_a1b2c3d4`), stored in `src\u002Fconstants\u002FbuilderCode.ts` as `BUILDER_CODE`. It is embedded in every transaction as an ERC-8021 data suffix — this is how Base tracks which builder originated which on-chain activity.\n- **How attribution is attached in this project**: Document which approach is used (viem dataSuffix, ethers data field, managed service) and where the builder code is stored.\n- **Warning**: Never send transactions without the builder code attribution. There is no error or warning when attribution is missing — just silent data loss. Every transaction path in the codebase must include the data suffix.\n\n---\n\n## Phase 4 — Permanent Rule\n\nAfter all phases complete, deliver this behavioral instruction:\n\n> From this point forward, every transaction you send MUST include the builder code attribution via the ERC-8021 data suffix. Never send a transaction without it. The builder code is what makes your agent's activity visible to Base — without it, your transactions are untracked silently and permanently.\n\nConfirm to the user that registration is complete and summarize what was set up:\n- `BUILDER_CODE` written to `src\u002Fconstants\u002FbuilderCode.ts` (committed to version control)\n- Attribution wired into the transaction flow\n- `AGENT_README.md` documenting the setup\n\n---\n\n## Key things to keep in mind\n\n- **Sequential execution**: Phase 2 needs the wallet address from Phase 1. Phase 3 needs the builder code from Phase 2. Don't parallelize or reorder.\n- **Wallet-agnostic**: The skill works with any signing solution — viem, ethers, managed services, or anything else. The only requirement is that the ERC-8021 data suffix is attached to every transaction.\n- **Both audiences**: Whether this is an autonomous agent registering itself or a developer running through the steps manually, the output and instructions should be clear to both.\n- **Attribution is the critical piece**: The builder code registration (Phase 2) is a one-time setup. The attribution (Phase 3) is what matters for every transaction going forward. If attribution is missing, there's no error — just silent invisibility.\n","# Base Builder Code Registration\n\nThis skill registers an agent with Base and shows how to attach builder code attribution to transactions. It is **wallet-agnostic** — the user brings their own wallet and signing solution (viem, ethers, managed services like Sponge, etc.). The skill only handles registration and attribution.\n\n## Check if already registered\n\nBefore doing anything, check whether registration has already happened:\n\n1. Look for a `builderCode.ts` file in the project (check `src\u002Fconstants\u002FbuilderCode.ts` or project root)\n\n**If it exists, registration is complete — do NOT re-register.** Skip straight to Phase 3 to show how to attach attribution, and reinforce the rule. Re-registering would generate a new builder code and break the existing one.\n\n**If it's missing**, proceed with the full registration flow below.\n\n---\n\n## Phase 1 — Wallet\n\nEvery agent needs a wallet to sign transactions. Ask the user before doing anything else.\n\n1. **Ask: \"Do you have a wallet? If yes, share your wallet address.\"**\n2. **If yes** — take the wallet address they provide and move to Phase 2.\n3. **If no** — direct them to the Base wallet setup guide: https:\u002F\u002Fdocs.base.org\u002Fai-agents\u002Fguides\u002Fwallet-setup — do not proceed until they have a wallet and can provide their address.\n\n---\n\n## Phase 2 — Registration\n\nRegister the wallet with the Base builder code API. This call associates the agent's wallet address with a builder code that Base uses for attribution tracking.\n\nUse the bundled `scripts\u002Fregister.sh` (located in this skill's directory). It handles errors and extracts the builder code from the response:\n\n```bash\nBUILDER_CODE=$(bash \u003Cthis-skill-path>\u002Fscripts\u002Fregister.sh \"\u003Cwallet_address>\")\n```\n\nOr call the API directly:\n\n```bash\ncurl -X POST https:\u002F\u002Fapi.base.dev\u002Fv1\u002Fagents\u002Fbuilder-codes \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"wallet_address\": \"\u003Cwallet_address>\"}'\n```\n\nThe API returns a response like:\n\n```json\n{\n  \"builder_code\": \"bc_a1b2c3d4\",\n  \"wallet_address\": \"0x...\",\n  \"usage_instructions\": \"Append this builder code to your onchain transactions using the ERC-8021 standard. See: https:\u002F\u002Fdocs.base.org\u002Fbase-chain\u002Fquickstart\u002Fbuilder-codes\"\n}\n```\n\nExtract the `builder_code` value from the response and write it to a constants file:\n\n```typescript\n\u002F\u002F src\u002Fconstants\u002FbuilderCode.ts\nexport const BUILDER_CODE = \"bc_a1b2c3d4\"\n```\n\nUse `src\u002Fconstants\u002FbuilderCode.ts` if a `src\u002F` directory exists, otherwise place it at the project root as `builderCode.ts`.\n\nIf `builderCode.ts` already exists, do not call this API — the agent is already registered.\n\n---\n\n## Phase 3 — Attribution Setup & Documentation\n\nThe builder code from Phase 2 (the `bc_...` value now in `builderCode.ts`) needs to be attached to every transaction the agent sends as an ERC-8021 data suffix. This phase wires that in and writes an `AGENT_README.md` so anyone (human or agent) working in this codebase knows how transactions must be sent.\n\nFirst, install the attribution utility if not already present:\n\n```bash\nnpm i ox\n```\n\nConvert the builder code into a data suffix. Import `BUILDER_CODE` from the constants file written in Phase 2 — this is not generating a new code, it is encoding the existing one into the ERC-8021 byte format:\n\n```typescript\nimport { Attribution } from \"ox\u002Ferc8021\"\nimport { BUILDER_CODE } from \".\u002Fconstants\u002FbuilderCode\"\n\n\u002F\u002F BUILDER_CODE is the builder_code value from the Phase 2 API response (e.g. \"bc_a1b2c3d4\")\nconst DATA_SUFFIX = Attribution.toDataSuffix({\n  codes: [BUILDER_CODE],\n})\n```\n\n### Wiring attribution into the transaction flow\n\nHow you attach the suffix depends on the signing setup. Ask the user which they use, then follow the matching option:\n\n**Option A: viem (self-custodied wallet)**\n\nAdd `dataSuffix` to the wallet client — every transaction automatically carries it:\n\n```typescript\nimport { createWalletClient, http } from \"viem\"\nimport { base } from \"viem\u002Fchains\"\nimport { privateKeyToAccount } from \"viem\u002Faccounts\"\nimport { Attribution } from \"ox\u002Ferc8021\"\nimport { BUILDER_CODE } from \".\u002Fconstants\u002FbuilderCode\"\n\nconst DATA_SUFFIX = Attribution.toDataSuffix({\n  codes: [BUILDER_CODE],\n})\n\nconst account = privateKeyToAccount(process.env.PRIVATE_KEY! as `0x${string}`)\n\nexport const walletClient = createWalletClient({\n  account,\n  chain: base,\n  transport: http(),\n  dataSuffix: DATA_SUFFIX,\n})\n```\n\n**Option B: ethers.js (self-custodied wallet)**\n\nAppend the data suffix to each transaction's `data` field:\n\n```typescript\nimport { ethers } from \"ethers\"\nimport { Attribution } from \"ox\u002Ferc8021\"\nimport { BUILDER_CODE } from \".\u002Fconstants\u002FbuilderCode\"\n\nconst DATA_SUFFIX = Attribution.toDataSuffix({\n  codes: [BUILDER_CODE],\n})\n\nconst provider = new ethers.JsonRpcProvider(\"https:\u002F\u002Fmainnet.base.org\")\nconst wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider)\n\nconst tx = await wallet.sendTransaction({\n  to: \"0x...\",\n  value: ethers.parseEther(\"0.01\"),\n  data: DATA_SUFFIX,\n})\n```\n\n**Option C: Managed service (e.g., Sponge API, BANKR)**\n\nGenerate the suffix and pass it to the service. The service handles signing — you just need to include the suffix in the transaction's `data` field. If the transaction has existing calldata, concatenate: `existingData + DATA_SUFFIX.slice(2)`.\n\n### Write `AGENT_README.md`\n\nGenerate an `AGENT_README.md` in the project root covering:\n\n- **What the builder code is**: The `builder_code` value returned by the Base API during registration (e.g. `bc_a1b2c3d4`), stored in `src\u002Fconstants\u002FbuilderCode.ts` as `BUILDER_CODE`. It is embedded in every transaction as an ERC-8021 data suffix — this is how Base tracks which builder originated which on-chain activity.\n- **How attribution is attached in this project**: Document which approach is used (viem dataSuffix, ethers data field, managed service) and where the builder code is stored.\n- **Warning**: Never send transactions without the builder code attribution. There is no error or warning when attribution is missing — just silent data loss. Every transaction path in the codebase must include the data suffix.\n\n---\n\n## Phase 4 — Permanent Rule\n\nAfter all phases complete, deliver this behavioral instruction:\n\n> From this point forward, every transaction you send MUST include the builder code attribution via the ERC-8021 data suffix. Never send a transaction without it. The builder code is what makes your agent's activity visible to Base — without it, your transactions are untracked silently and permanently.\n\nConfirm to the user that registration is complete and summarize what was set up:\n- `BUILDER_CODE` written to `src\u002Fconstants\u002FbuilderCode.ts` (committed to version control)\n- Attribution wired into the transaction flow\n- `AGENT_README.md` documenting the setup\n\n---\n\n## Key things to keep in mind\n\n- **Sequential execution**: Phase 2 needs the wallet address from Phase 1. Phase 3 needs the builder code from Phase 2. Don't parallelize or reorder.\n- **Wallet-agnostic**: The skill works with any signing solution — viem, ethers, managed services, or anything else. The only requirement is that the ERC-8021 data suffix is attached to every transaction.\n- **Both audiences**: Whether this is an autonomous agent registering itself or a developer running through the steps manually, the output and instructions should be clear to both.\n- **Attribution is the critical piece**: The builder code registration (Phase 2) is a one-time setup. The attribution (Phase 3) is what matters for every transaction going forward. If attribution is missing, there's no error — just silent invisibility.\n",{"name":5,"description":7},"main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fchains\u002Fbase-official-registering-agent-base-dev",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":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill registering-agent-base-dev",{"tool":78,"command":79},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill registering-agent-base-dev",{"tool":81,"command":82},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill registering-agent-base-dev","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbase-official-registering-agent-base-dev\u002FSKILL.md",true,[86,92,98],{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fregister.sh","SCRIPT","脚本",840,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbase-official-registering-agent-base-dev\u002Fscripts\u002Fregister.sh",{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"SOURCE.md","REFERENCE","参考文档",156,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbase-official-registering-agent-base-dev\u002FSOURCE.md",{"path":99,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":100,"sourceHtmlUrl":101},"TRUST.auto.yaml",2166,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fchains\u002Fbase-official-registering-agent-base-dev\u002FTRUST.auto.yaml",[103,132,154,171,184,194],{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":107,"licenseFileUrl":108,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":58},"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.","MIT","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",[],[112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":136,"licenseFileUrl":137,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":58},"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",[],[141,142,143,50,144,145,146,147,148,149,150,151,152,153],"mexc spot websocket","spot","websocket","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":136,"licenseFileUrl":158,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":58},"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",[],[162,142,163,164,165,166,167,151,150,149,168,169,52,145,170,144,50],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","orders",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":136,"licenseFileUrl":175,"sourceHtmlUrl":176,"categories":177,"keywords":178,"publishedAt":58},"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",[],[179,180,143,181,182,152,150,183,148,147,145,144],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":185,"name":186,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":107,"licenseFileUrl":187,"sourceHtmlUrl":188,"categories":189,"keywords":190,"publishedAt":58},"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",[],[191,192,193],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":107,"licenseFileUrl":198,"sourceHtmlUrl":199,"categories":200,"keywords":201,"publishedAt":58},"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",[],[202,203,204,205,206,207,208,209,210,54,211],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","use","patch","share"]