[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GS9EV1B55NPBVBWWX9NT22":3,"skill-same:01M6GS9EV1B55NPBVBWWX9NT22":75},{"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":18,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":45,"updatedAt":46,"install":47,"resources":60},"01M6GS9EV1B55NPBVBWWX9NT22","wagmi",null,"Use wagmi React hooks for Celo dApps. Includes wallet connection, transaction hooks, and React integration patterns.","jiayaoqijia\u002Fcryptoskill","jiayaoqijia","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1453879?v=4","01M6GMYTX7Q7S504VC6E756ENR","YQ","01M6GMYV1QKJ1CC75MTTGT9PR0",81,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fwagmi\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29],"react","integration","use","hooks","Wallet","patterns","transaction","org","react hooks","connection","for","2026-11-10 10:12:30",false,"---\nname: wagmi\ndescription: Use wagmi React hooks for Celo dApps. Includes wallet connection, transaction hooks, and React integration patterns.\nlicense: Apache-2.0\nmetadata:\n  author: celo-org\n  version: \"1.0.0\"\n---\n\n# Wagmi for Celo\n\nWagmi is a React library for building Ethereum applications with hooks. It uses viem under the hood.\n\nSource: https:\u002F\u002Fwagmi.sh\n\n## When to Use\n\n- Building React dApps on Celo\n- Implementing wallet connection flows\n- Managing blockchain state in React components\n- Using React hooks for contract interactions\n\n## Installation\n\n```bash\nnpm install wagmi viem@2.x @tanstack\u002Freact-query\n```\n\n## Configuration\n\n### Basic Setup\n\n```typescript\n\u002F\u002F config.ts\nimport { http, createConfig } from \"wagmi\";\nimport { celo, celoSepolia } from \"wagmi\u002Fchains\";\n\nexport const config = createConfig({\n  chains: [celo, celoSepolia],\n  transports: {\n    [celo.id]: http(),\n    [celoSepolia.id]: http(),\n  },\n});\n```\n\n### With Connectors\n\n```typescript\nimport { http, createConfig } from \"wagmi\";\nimport { celo, celoSepolia } from \"wagmi\u002Fchains\";\nimport { injected, walletConnect, metaMask } from \"wagmi\u002Fconnectors\";\n\nconst projectId = process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID!;\n\nexport const config = createConfig({\n  chains: [celo, celoSepolia],\n  connectors: [\n    injected(),\n    walletConnect({ projectId }),\n    metaMask(),\n  ],\n  transports: {\n    [celo.id]: http(),\n    [celoSepolia.id]: http(),\n  },\n});\n```\n\nSource: https:\u002F\u002Fwagmi.sh\u002Freact\u002Fguides\u002Fconnect-wallet\n\n## Provider Setup\n\n```tsx\n\u002F\u002F app.tsx\nimport { WagmiProvider } from \"wagmi\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack\u002Freact-query\";\nimport { config } from \".\u002Fconfig\";\n\nconst queryClient = new QueryClient();\n\nfunction App({ children }: { children: React.ReactNode }) {\n  return (\n    \u003CWagmiProvider config={config}>\n      \u003CQueryClientProvider client={queryClient}>\n        {children}\n      \u003C\u002FQueryClientProvider>\n    \u003C\u002FWagmiProvider>\n  );\n}\n```\n\n## Wallet Connection\n\n### Display Wallet Options\n\n```tsx\nimport { useConnect, useConnectors } from \"wagmi\";\n\nfunction WalletOptions() {\n  const { connect } = useConnect();\n  const connectors = useConnectors();\n\n  return (\n    \u003Cdiv>\n      {connectors.map((connector) => (\n        \u003Cbutton\n          key={connector.uid}\n          onClick={() => connect({ connector })}\n        >\n          {connector.name}\n        \u003C\u002Fbutton>\n      ))}\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n### Display Connected Account\n\n```tsx\nimport { useAccount, useDisconnect } from \"wagmi\";\n\nfunction Account() {\n  const { address, isConnected, chain } = useAccount();\n  const { disconnect } = useDisconnect();\n\n  if (!isConnected) return \u003CWalletOptions \u002F>;\n\n  return (\n    \u003Cdiv>\n      \u003Cp>Connected: {address}\u003C\u002Fp>\n      \u003Cp>Chain: {chain?.name}\u003C\u002Fp>\n      \u003Cbutton onClick={() => disconnect()}>Disconnect\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n## Reading Contract Data\n\n```tsx\nimport { useReadContract } from \"wagmi\";\n\nconst ERC20_ABI = [\n  {\n    name: \"balanceOf\",\n    type: \"function\",\n    stateMutability: \"view\",\n    inputs: [{ name: \"account\", type: \"address\" }],\n    outputs: [{ type: \"uint256\" }],\n  },\n] as const;\n\nfunction TokenBalance({ address }: { address: `0x${string}` }) {\n  const { data: balance, isLoading } = useReadContract({\n    address: \"0x765de816845861e75a25fca122bb6898b8b1282a\", \u002F\u002F USDm\n    abi: ERC20_ABI,\n    functionName: \"balanceOf\",\n    args: [address],\n  });\n\n  if (isLoading) return \u003Cdiv>Loading...\u003C\u002Fdiv>;\n\n  return \u003Cdiv>Balance: {balance?.toString()}\u003C\u002Fdiv>;\n}\n```\n\n## Writing to Contracts\n\n```tsx\nimport { useWriteContract, useWaitForTransactionReceipt } from \"wagmi\";\nimport { parseEther } from \"viem\";\n\nfunction TransferToken() {\n  const { writeContract, data: hash, isPending } = useWriteContract();\n\n  const { isLoading: isConfirming, isSuccess } = useWaitForTransactionReceipt({\n    hash,\n  });\n\n  async function handleTransfer() {\n    writeContract({\n      address: \"0x765de816845861e75a25fca122bb6898b8b1282a\",\n      abi: ERC20_ABI,\n      functionName: \"transfer\",\n      args: [\"0x...\", parseEther(\"10\")],\n    });\n  }\n\n  return (\n    \u003Cdiv>\n      \u003Cbutton onClick={handleTransfer} disabled={isPending}>\n        {isPending ? \"Confirming...\" : \"Transfer\"}\n      \u003C\u002Fbutton>\n      {isConfirming && \u003Cdiv>Waiting for confirmation...\u003C\u002Fdiv>}\n      {isSuccess && \u003Cdiv>Transaction confirmed!\u003C\u002Fdiv>}\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n## Sending Transactions\n\n```tsx\nimport { useSendTransaction, useWaitForTransactionReceipt } from \"wagmi\";\nimport { parseEther } from \"viem\";\n\nfunction SendCelo() {\n  const { sendTransaction, data: hash, isPending } = useSendTransaction();\n\n  const { isSuccess } = useWaitForTransactionReceipt({ hash });\n\n  return (\n    \u003Cbutton\n      onClick={() =>\n        sendTransaction({\n          to: \"0x...\",\n          value: parseEther(\"0.1\"),\n        })\n      }\n      disabled={isPending}\n    >\n      Send 0.1 CELO\n    \u003C\u002Fbutton>\n  );\n}\n```\n\n## Chain Switching\n\n```tsx\nimport { useSwitchChain } from \"wagmi\";\nimport { celo, celoSepolia } from \"wagmi\u002Fchains\";\n\nfunction NetworkSwitcher() {\n  const { switchChain, isPending } = useSwitchChain();\n\n  return (\n    \u003Cdiv>\n      \u003Cbutton\n        onClick={() => switchChain({ chainId: celo.id })}\n        disabled={isPending}\n      >\n        Switch to Celo Mainnet\n      \u003C\u002Fbutton>\n      \u003Cbutton\n        onClick={() => switchChain({ chainId: celoSepolia.id })}\n        disabled={isPending}\n      >\n        Switch to Celo Sepolia\n      \u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n## Common Hooks\n\n| Hook | Purpose |\n|------|---------|\n| useAccount | Get connected account info |\n| useConnect | Connect wallet |\n| useDisconnect | Disconnect wallet |\n| useReadContract | Read contract state |\n| useWriteContract | Write to contract |\n| useSendTransaction | Send native currency |\n| useWaitForTransactionReceipt | Wait for tx confirmation |\n| useSwitchChain | Switch networks |\n| useBalance | Get account balance |\n| useChainId | Get current chain ID |\n\n## Celo Chain IDs\n\n| Network | Chain ID |\n|---------|----------|\n| Celo Mainnet | 42220 |\n| Celo Sepolia | 11142220 |\n\n## Dependencies\n\n```json\n{\n  \"dependencies\": {\n    \"wagmi\": \"^2.0.0\",\n    \"viem\": \"^2.0.0\",\n    \"@tanstack\u002Freact-query\": \"^5.0.0\"\n  }\n}\n```\n\n## Additional Resources\n\n- [hooks-reference.md](references\u002Fhooks-reference.md) - Complete hooks reference\n","# Wagmi for Celo\n\nWagmi is a React library for building Ethereum applications with hooks. It uses viem under the hood.\n\nSource: https:\u002F\u002Fwagmi.sh\n\n## When to Use\n\n- Building React dApps on Celo\n- Implementing wallet connection flows\n- Managing blockchain state in React components\n- Using React hooks for contract interactions\n\n## Installation\n\n```bash\nnpm install wagmi viem@2.x @tanstack\u002Freact-query\n```\n\n## Configuration\n\n### Basic Setup\n\n```typescript\n\u002F\u002F config.ts\nimport { http, createConfig } from \"wagmi\";\nimport { celo, celoSepolia } from \"wagmi\u002Fchains\";\n\nexport const config = createConfig({\n  chains: [celo, celoSepolia],\n  transports: {\n    [celo.id]: http(),\n    [celoSepolia.id]: http(),\n  },\n});\n```\n\n### With Connectors\n\n```typescript\nimport { http, createConfig } from \"wagmi\";\nimport { celo, celoSepolia } from \"wagmi\u002Fchains\";\nimport { injected, walletConnect, metaMask } from \"wagmi\u002Fconnectors\";\n\nconst projectId = process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID!;\n\nexport const config = createConfig({\n  chains: [celo, celoSepolia],\n  connectors: [\n    injected(),\n    walletConnect({ projectId }),\n    metaMask(),\n  ],\n  transports: {\n    [celo.id]: http(),\n    [celoSepolia.id]: http(),\n  },\n});\n```\n\nSource: https:\u002F\u002Fwagmi.sh\u002Freact\u002Fguides\u002Fconnect-wallet\n\n## Provider Setup\n\n```tsx\n\u002F\u002F app.tsx\nimport { WagmiProvider } from \"wagmi\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack\u002Freact-query\";\nimport { config } from \".\u002Fconfig\";\n\nconst queryClient = new QueryClient();\n\nfunction App({ children }: { children: React.ReactNode }) {\n  return (\n    \u003CWagmiProvider config={config}>\n      \u003CQueryClientProvider client={queryClient}>\n        {children}\n      \u003C\u002FQueryClientProvider>\n    \u003C\u002FWagmiProvider>\n  );\n}\n```\n\n## Wallet Connection\n\n### Display Wallet Options\n\n```tsx\nimport { useConnect, useConnectors } from \"wagmi\";\n\nfunction WalletOptions() {\n  const { connect } = useConnect();\n  const connectors = useConnectors();\n\n  return (\n    \u003Cdiv>\n      {connectors.map((connector) => (\n        \u003Cbutton\n          key={connector.uid}\n          onClick={() => connect({ connector })}\n        >\n          {connector.name}\n        \u003C\u002Fbutton>\n      ))}\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n### Display Connected Account\n\n```tsx\nimport { useAccount, useDisconnect } from \"wagmi\";\n\nfunction Account() {\n  const { address, isConnected, chain } = useAccount();\n  const { disconnect } = useDisconnect();\n\n  if (!isConnected) return \u003CWalletOptions \u002F>;\n\n  return (\n    \u003Cdiv>\n      \u003Cp>Connected: {address}\u003C\u002Fp>\n      \u003Cp>Chain: {chain?.name}\u003C\u002Fp>\n      \u003Cbutton onClick={() => disconnect()}>Disconnect\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n## Reading Contract Data\n\n```tsx\nimport { useReadContract } from \"wagmi\";\n\nconst ERC20_ABI = [\n  {\n    name: \"balanceOf\",\n    type: \"function\",\n    stateMutability: \"view\",\n    inputs: [{ name: \"account\", type: \"address\" }],\n    outputs: [{ type: \"uint256\" }],\n  },\n] as const;\n\nfunction TokenBalance({ address }: { address: `0x${string}` }) {\n  const { data: balance, isLoading } = useReadContract({\n    address: \"0x765de816845861e75a25fca122bb6898b8b1282a\", \u002F\u002F USDm\n    abi: ERC20_ABI,\n    functionName: \"balanceOf\",\n    args: [address],\n  });\n\n  if (isLoading) return \u003Cdiv>Loading...\u003C\u002Fdiv>;\n\n  return \u003Cdiv>Balance: {balance?.toString()}\u003C\u002Fdiv>;\n}\n```\n\n## Writing to Contracts\n\n```tsx\nimport { useWriteContract, useWaitForTransactionReceipt } from \"wagmi\";\nimport { parseEther } from \"viem\";\n\nfunction TransferToken() {\n  const { writeContract, data: hash, isPending } = useWriteContract();\n\n  const { isLoading: isConfirming, isSuccess } = useWaitForTransactionReceipt({\n    hash,\n  });\n\n  async function handleTransfer() {\n    writeContract({\n      address: \"0x765de816845861e75a25fca122bb6898b8b1282a\",\n      abi: ERC20_ABI,\n      functionName: \"transfer\",\n      args: [\"0x...\", parseEther(\"10\")],\n    });\n  }\n\n  return (\n    \u003Cdiv>\n      \u003Cbutton onClick={handleTransfer} disabled={isPending}>\n        {isPending ? \"Confirming...\" : \"Transfer\"}\n      \u003C\u002Fbutton>\n      {isConfirming && \u003Cdiv>Waiting for confirmation...\u003C\u002Fdiv>}\n      {isSuccess && \u003Cdiv>Transaction confirmed!\u003C\u002Fdiv>}\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n## Sending Transactions\n\n```tsx\nimport { useSendTransaction, useWaitForTransactionReceipt } from \"wagmi\";\nimport { parseEther } from \"viem\";\n\nfunction SendCelo() {\n  const { sendTransaction, data: hash, isPending } = useSendTransaction();\n\n  const { isSuccess } = useWaitForTransactionReceipt({ hash });\n\n  return (\n    \u003Cbutton\n      onClick={() =>\n        sendTransaction({\n          to: \"0x...\",\n          value: parseEther(\"0.1\"),\n        })\n      }\n      disabled={isPending}\n    >\n      Send 0.1 CELO\n    \u003C\u002Fbutton>\n  );\n}\n```\n\n## Chain Switching\n\n```tsx\nimport { useSwitchChain } from \"wagmi\";\nimport { celo, celoSepolia } from \"wagmi\u002Fchains\";\n\nfunction NetworkSwitcher() {\n  const { switchChain, isPending } = useSwitchChain();\n\n  return (\n    \u003Cdiv>\n      \u003Cbutton\n        onClick={() => switchChain({ chainId: celo.id })}\n        disabled={isPending}\n      >\n        Switch to Celo Mainnet\n      \u003C\u002Fbutton>\n      \u003Cbutton\n        onClick={() => switchChain({ chainId: celoSepolia.id })}\n        disabled={isPending}\n      >\n        Switch to Celo Sepolia\n      \u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  );\n}\n```\n\n## Common Hooks\n\n| Hook | Purpose |\n|------|---------|\n| useAccount | Get connected account info |\n| useConnect | Connect wallet |\n| useDisconnect | Disconnect wallet |\n| useReadContract | Read contract state |\n| useWriteContract | Write to contract |\n| useSendTransaction | Send native currency |\n| useWaitForTransactionReceipt | Wait for tx confirmation |\n| useSwitchChain | Switch networks |\n| useBalance | Get account balance |\n| useChainId | Get current chain ID |\n\n## Celo Chain IDs\n\n| Network | Chain ID |\n|---------|----------|\n| Celo Mainnet | 42220 |\n| Celo Sepolia | 11142220 |\n\n## Dependencies\n\n```json\n{\n  \"dependencies\": {\n    \"wagmi\": \"^2.0.0\",\n    \"viem\": \"^2.0.0\",\n    \"@tanstack\u002Freact-query\": \"^5.0.0\"\n  }\n}\n```\n\n## Additional Resources\n\n- [hooks-reference.md](references\u002Fhooks-reference.md) - Complete hooks reference\n",{"name":5,"license":15,"metadata":35,"description":7},{"author":36,"version":37},"celo-org","1.0.0","main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fdev-tools\u002Fwagmi",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":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill wagmi",{"tool":53,"command":54},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill wagmi",{"tool":56,"command":57},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill wagmi","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fwagmi\u002FSKILL.md",true,[61,67,71],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Fhooks-reference.md","REFERENCE","参考文档",4614,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fwagmi\u002Freferences\u002Fhooks-reference.md",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"SOURCE.md",211,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fwagmi\u002FSOURCE.md",{"path":72,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":73,"sourceHtmlUrl":74},"TRUST.auto.yaml",2213,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdev-tools\u002Fwagmi\u002FTRUST.auto.yaml",[76,104,125,142,155,165],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":80,"licenseFileUrl":81,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":30},"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",[],[85,86,87,88,89,90,91,92,93,94,95,96,97,98,19,99,100,101,102,103],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","browser","layout","screen","network","metamask",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":108,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":30},"01M70XT2F8A5CQZ81JBP98KSW3","mexc-spot-websocket","MEXC Spot WebSocket workflows for public streams, protobuf handling, depth maintenance, listen keys, and private streams without exposing API keys.","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",[],[112,113,114,115,116,117,118,119,120,121,29,122,123,124],"mexc spot websocket","spot","websocket","api","workflows","public","listen","streams","depth","keys","api keys","maintenance","protobuf",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":129,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":30},"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",[],[133,113,134,135,136,23,137,122,29,121,138,139,140,117,141,116,115],"mexc spot rest","REST","admin","signing","requests","actions","secure","data","orders",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":146,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":30},"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",[],[150,151,114,152,153,123,29,154,120,119,117,116],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":156,"name":157,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":80,"licenseFileUrl":158,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":30},"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",[],[162,163,164],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":80,"licenseFileUrl":169,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":30},"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",[],[173,174,175,176,177,178,179,21,180,181,182],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","patch","code","share"]