[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GNCJCF6WRZ29CFHDHEFJ2S":3,"skill-same:01M6GNCJCF6WRZ29CFHDHEFJ2S":158},{"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":19,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":59,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6GNCJCF6WRZ29CFHDHEFJ2S","solana-rpc",null,"Expert assistant for Solana JSON-RPC — works with any provider: QuickNode, Helius,\nTriton, Ankr, Chainstack, or public endpoints. Standard JSON-RPC methods are identical\nacross providers; only the URL differs.\n\nUse whenever the user wants raw Solana data: fetch transactions by signature, read account\nstate, get block data, check SPL token balances, query program accounts, submit transactions,\nestimate priority fees, or do anything requiring direct Solana node access.\n\nAlso use when the user mentions Helius\u002FQuickNode specifically, or wants Helius-specific\nfeatures (DAS API, Enhanced Transactions, LaserStream, Webhooks) or QuickNode addons\n(qn_estimatePriorityFees, Metaplex DAS, Jito bundles).\n\nEnforces: batch JSON-RPC requests over loops, prefer DAS\u002FEnhanced APIs over raw RPC\nwhen available, never use `getProgramAccounts` without tight filters.","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\u002Fai-crypto\u002Fsolana-rpc-skill\u002FLICENSE","https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002FSKILL.md",[],[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"rpc","solana rpc","solana","program","when","balances","URL","triton","loops","submit","get","across","query","expert","filters","only","never","fetch","access","Bash","transactions","api","batch","2026-11-10 10:12:30",false,"---\nname: solana-rpc\ndescription: |\n  Expert assistant for Solana JSON-RPC — works with any provider: QuickNode, Helius,\n  Triton, Ankr, Chainstack, or public endpoints. Standard JSON-RPC methods are identical\n  across providers; only the URL differs.\n\n  Use whenever the user wants raw Solana data: fetch transactions by signature, read account\n  state, get block data, check SPL token balances, query program accounts, submit transactions,\n  estimate priority fees, or do anything requiring direct Solana node access.\n\n  Also use when the user mentions Helius\u002FQuickNode specifically, or wants Helius-specific\n  features (DAS API, Enhanced Transactions, LaserStream, Webhooks) or QuickNode addons\n  (qn_estimatePriorityFees, Metaplex DAS, Jito bundles).\n\n  Enforces: batch JSON-RPC requests over loops, prefer DAS\u002FEnhanced APIs over raw RPC\n  when available, never use `getProgramAccounts` without tight filters.\ncompatibility:\n  tools:\n    - Bash\n    - Write\n    - Read\n---\n\n# Solana RPC Skill\n\nReference files:\n- `references\u002Fcore-methods.md` — standard Solana JSON-RPC methods, parameters, response shapes\n- `references\u002Fhelius-extensions.md` — DAS API, Enhanced Transactions, Priority Fee, Sender, LaserStream\n- `references\u002Fquicknode-extensions.md` — `qn_estimatePriorityFees`, Metaplex DAS addon, Jito\n- `references\u002Fpatterns.md` — batching, rate limits, resume, cost optimization\n- `references\u002Fexamples\u002F` — working Python scripts\n\n---\n\n## ? Rule #1: use the provider's parsed\u002Fenhanced APIs when available\n\nThe biggest credit waste on Solana RPC is fetching raw data and parsing it yourself when the provider offers a parsed endpoint. Matrix:\n\n| Task | Cheap option | Expensive \u002F broken option |\n|------|--------------|---------------------------|\n| Wallet NFTs + tokens | **Helius DAS `getAssetsByOwner`** | `getTokenAccountsByOwner` + metadata lookups |\n| Complete tx history | **Helius `getTransactionsForAddress`** | `getSignaturesForAddress` + N × `getTransaction` |\n| Parsed DEX swap details | **Helius Enhanced Tx** or Solscan | `getTransaction` + manual program parsing |\n| NFTs by collection | **DAS `getAssetsByGroup` \u002F `searchAssets`** | `getProgramAccounts` (expensive + slow) |\n| Priority fee estimate | **`getPriorityFeeEstimate` (Helius)** or `qn_estimatePriorityFees` (QuickNode) | `getRecentPrioritizationFees` (raw, needs math) |\n| Compressed NFT history | **DAS `getSignaturesForAsset`** | `getSignaturesForAddress` (doesn't work for cNFTs) |\n\nWhen in doubt: check `references\u002Fhelius-extensions.md` first — if Helius has a purpose-built endpoint, use it.\n\n## ? Rule #2: batch JSON-RPC requests\n\n**Single HTTP request can carry an array of JSON-RPC calls:**\n\n```json\n[\n  {\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"getTransaction\",\"params\":[\"sig1\",{\"encoding\":\"jsonParsed\",\"maxSupportedTransactionVersion\":0}]},\n  {\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"getTransaction\",\"params\":[\"sig2\",{\"encoding\":\"jsonParsed\",\"maxSupportedTransactionVersion\":0}]},\n  ...up to ~100 items\n]\n```\n\nResponse is an array. Most providers count each call individually but save massive HTTP overhead. **Always batch when fetching N items of same shape.**\n\nSee `references\u002Fpatterns.md` for semaphore tuning and provider-specific batch limits.\n\n## ? Rule #3: never `getProgramAccounts` without tight filters\n\n`getProgramAccounts` scans ALL accounts under a program. On popular programs (SPL Token, Token 2022, NFT programs) it's catastrophically slow and expensive, often times out.\n\n**Always apply:**\n- `dataSize` filter (exact byte length)\n- `memcmp` filter (matches at specific offset) — typically for mint address, owner, or discriminator\n\nIf you're querying NFTs or tokens by collection\u002Fowner: **use DAS instead** (`getAssetsByGroup`, `getAssetsByOwner`).\n\n---\n\n## Setup: provider URL\n\nAll Solana RPC calls need a URL. Configure via env var:\n\n```bash\n# Helius\nexport SOLANA_RPC_URL=\"https:\u002F\u002Fmainnet.helius-rpc.com\u002F?api-key=YOUR_KEY\"\n\n# QuickNode\nexport SOLANA_RPC_URL=\"https:\u002F\u002FYOUR-ENDPOINT.solana-mainnet.quiknode.pro\u002FYOUR-TOKEN\u002F\"\n\n# Ankr\nexport SOLANA_RPC_URL=\"https:\u002F\u002Frpc.ankr.com\u002Fsolana\u002FYOUR_KEY\"\n\n# Public (DON'T use for production)\nexport SOLANA_RPC_URL=\"https:\u002F\u002Fapi.mainnet-beta.solana.com\"\n```\n\nScripts read from `SOLANA_RPC_URL`. Never hardcode. If user has separate endpoints for archive vs. frontend (common on QuickNode), support `SOLANA_RPC_URL_ARCHIVE` additionally.\n\n## Multi-provider fallback (optional)\n\nIf user has both Helius and QuickNode, you can configure fallback:\n- `SOLANA_RPC_URL_PRIMARY` — first choice\n- `SOLANA_RPC_URL_FALLBACK` — used when PRIMARY hits 429 or errors 5×× persistently\n\nScript pattern in `references\u002Fexamples\u002F`.\n\n## Step-by-step workflow\n\n**1. Classify the task**\n- Read account data → `getAccountInfo`, `getMultipleAccounts`\n- Read tx → `getTransaction` (raw) or Helius Enhanced (parsed)\n- Read history → `getSignaturesForAddress` + batch `getTransaction`, OR Helius `getTransactionsForAddress`\n- Read token balances\u002FNFTs → **DAS `getAssetsByOwner`** (preferred) or `getTokenAccountsByOwner`\n- Submit tx → `sendTransaction` or **Helius Sender** (better landing rate)\n- Estimate fee → `getPriorityFeeEstimate` (Helius) or `qn_estimatePriorityFees` (QuickNode)\n- Stream real-time → WebSocket \u002F LaserStream (not polling)\n\n**2. Check for batch opportunities**\nIf > 3 items of same method → batch them in one HTTP request. Don't loop.\n\n**3. Pick commitment level**\n- Default `confirmed` for reads\n- `finalized` for financial audit \u002F history\n- Never `processed` for production (may revert)\n\n**4. Execute (MCP or script)**\n- Single call: curl or httpx inline\n- Batch: Python script with aiohttp + JSON-RPC array, output JSONL\n\n**5. Present results**\n- Lamports → divide by 1e9 for SOL\n- Token amounts → divide by 10^decimals\n- Timestamps: `block_time` is unix seconds (no sub-second precision on `getBlockTime`)\n\n---\n\n## Common mistakes & error codes\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| `-32009` \"Slot ... skipped\" | Asked for a slot that wasn't produced | Use `getBlock` with `commitment: \"confirmed\"` and skip error silently |\n| `-32602` Invalid params | Wrong encoding \u002F missing `maxSupportedTransactionVersion: 0` | Add `\"maxSupportedTransactionVersion\": 0` to all tx reads |\n| 429 Too Many Requests | Rate limit | Respect provider's `Retry-After`, lower semaphore |\n| Response timeout on `getBlock` | Large response (~MBs) | Set HTTP timeout ≥ 30s; consider `transactionDetails: \"signatures\"` or `accounts` if full tx not needed |\n| Empty result on `getSignaturesForAddress` | No sigs in the range OR wrong `before`\u002F`until` cursors | Verify cursor with `getSignatureStatuses` |\n| DAS methods missing | Not Helius\u002FQuickNode with DAS addon | Fall back to raw RPC or enable addon |\n\n## Memory updates\n\nOld memory says:\n- \"QuickNode `getTransaction`: ~10k\u002Fmin, ~15KB response, 3x faster than Solscan for single-tx\" — ✅ still valid\n- \"`getBlock`: ~30s timeout needed, large response\" — ✅ still valid\n- \"`getBlockTime`: seconds precision only\" — ✅ still valid\n\nAdd:\n- `maxSupportedTransactionVersion: 0` is **required** for modern tx reads — otherwise you get \"Transaction version (0) is not supported\" errors on v0 tx\n- Helius DAS now supports fungible tokens too (`showFungible: true` on `getAssetsByOwner`)\n- Priority fee: prefer `getPriorityFeeEstimate` (Helius) over raw `getRecentPrioritizationFees`\n\n## Reference files\n\n- `references\u002Fcore-methods.md` — standard Solana JSON-RPC: accounts, blocks, transactions, fees\n- `references\u002Fhelius-extensions.md` — DAS, Enhanced Tx, Priority Fee, Sender, Webhooks, LaserStream\n- `references\u002Fquicknode-extensions.md` — qn_estimatePriorityFees, DAS addon, Jito\n- `references\u002Fpatterns.md` — batching details, rate limits, fallback, cost\n- `references\u002Fexamples\u002Ffetch_tx_batch.py` — batched `getTransaction` for N signatures\n- `references\u002Fexamples\u002Fwallet_full_history.py` — Helius `getTransactionsForAddress` with pagination\n- `references\u002Fexamples\u002Fwallet_holdings_das.py` — DAS `getAssetsByOwner` with full token metadata\n","# Solana RPC Skill\n\nReference files:\n- `references\u002Fcore-methods.md` — standard Solana JSON-RPC methods, parameters, response shapes\n- `references\u002Fhelius-extensions.md` — DAS API, Enhanced Transactions, Priority Fee, Sender, LaserStream\n- `references\u002Fquicknode-extensions.md` — `qn_estimatePriorityFees`, Metaplex DAS addon, Jito\n- `references\u002Fpatterns.md` — batching, rate limits, resume, cost optimization\n- `references\u002Fexamples\u002F` — working Python scripts\n\n---\n\n## ? Rule #1: use the provider's parsed\u002Fenhanced APIs when available\n\nThe biggest credit waste on Solana RPC is fetching raw data and parsing it yourself when the provider offers a parsed endpoint. Matrix:\n\n| Task | Cheap option | Expensive \u002F broken option |\n|------|--------------|---------------------------|\n| Wallet NFTs + tokens | **Helius DAS `getAssetsByOwner`** | `getTokenAccountsByOwner` + metadata lookups |\n| Complete tx history | **Helius `getTransactionsForAddress`** | `getSignaturesForAddress` + N × `getTransaction` |\n| Parsed DEX swap details | **Helius Enhanced Tx** or Solscan | `getTransaction` + manual program parsing |\n| NFTs by collection | **DAS `getAssetsByGroup` \u002F `searchAssets`** | `getProgramAccounts` (expensive + slow) |\n| Priority fee estimate | **`getPriorityFeeEstimate` (Helius)** or `qn_estimatePriorityFees` (QuickNode) | `getRecentPrioritizationFees` (raw, needs math) |\n| Compressed NFT history | **DAS `getSignaturesForAsset`** | `getSignaturesForAddress` (doesn't work for cNFTs) |\n\nWhen in doubt: check `references\u002Fhelius-extensions.md` first — if Helius has a purpose-built endpoint, use it.\n\n## ? Rule #2: batch JSON-RPC requests\n\n**Single HTTP request can carry an array of JSON-RPC calls:**\n\n```json\n[\n  {\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"getTransaction\",\"params\":[\"sig1\",{\"encoding\":\"jsonParsed\",\"maxSupportedTransactionVersion\":0}]},\n  {\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"getTransaction\",\"params\":[\"sig2\",{\"encoding\":\"jsonParsed\",\"maxSupportedTransactionVersion\":0}]},\n  ...up to ~100 items\n]\n```\n\nResponse is an array. Most providers count each call individually but save massive HTTP overhead. **Always batch when fetching N items of same shape.**\n\nSee `references\u002Fpatterns.md` for semaphore tuning and provider-specific batch limits.\n\n## ? Rule #3: never `getProgramAccounts` without tight filters\n\n`getProgramAccounts` scans ALL accounts under a program. On popular programs (SPL Token, Token 2022, NFT programs) it's catastrophically slow and expensive, often times out.\n\n**Always apply:**\n- `dataSize` filter (exact byte length)\n- `memcmp` filter (matches at specific offset) — typically for mint address, owner, or discriminator\n\nIf you're querying NFTs or tokens by collection\u002Fowner: **use DAS instead** (`getAssetsByGroup`, `getAssetsByOwner`).\n\n---\n\n## Setup: provider URL\n\nAll Solana RPC calls need a URL. Configure via env var:\n\n```bash\n# Helius\nexport SOLANA_RPC_URL=\"https:\u002F\u002Fmainnet.helius-rpc.com\u002F?api-key=YOUR_KEY\"\n\n# QuickNode\nexport SOLANA_RPC_URL=\"https:\u002F\u002FYOUR-ENDPOINT.solana-mainnet.quiknode.pro\u002FYOUR-TOKEN\u002F\"\n\n# Ankr\nexport SOLANA_RPC_URL=\"https:\u002F\u002Frpc.ankr.com\u002Fsolana\u002FYOUR_KEY\"\n\n# Public (DON'T use for production)\nexport SOLANA_RPC_URL=\"https:\u002F\u002Fapi.mainnet-beta.solana.com\"\n```\n\nScripts read from `SOLANA_RPC_URL`. Never hardcode. If user has separate endpoints for archive vs. frontend (common on QuickNode), support `SOLANA_RPC_URL_ARCHIVE` additionally.\n\n## Multi-provider fallback (optional)\n\nIf user has both Helius and QuickNode, you can configure fallback:\n- `SOLANA_RPC_URL_PRIMARY` — first choice\n- `SOLANA_RPC_URL_FALLBACK` — used when PRIMARY hits 429 or errors 5×× persistently\n\nScript pattern in `references\u002Fexamples\u002F`.\n\n## Step-by-step workflow\n\n**1. Classify the task**\n- Read account data → `getAccountInfo`, `getMultipleAccounts`\n- Read tx → `getTransaction` (raw) or Helius Enhanced (parsed)\n- Read history → `getSignaturesForAddress` + batch `getTransaction`, OR Helius `getTransactionsForAddress`\n- Read token balances\u002FNFTs → **DAS `getAssetsByOwner`** (preferred) or `getTokenAccountsByOwner`\n- Submit tx → `sendTransaction` or **Helius Sender** (better landing rate)\n- Estimate fee → `getPriorityFeeEstimate` (Helius) or `qn_estimatePriorityFees` (QuickNode)\n- Stream real-time → WebSocket \u002F LaserStream (not polling)\n\n**2. Check for batch opportunities**\nIf > 3 items of same method → batch them in one HTTP request. Don't loop.\n\n**3. Pick commitment level**\n- Default `confirmed` for reads\n- `finalized` for financial audit \u002F history\n- Never `processed` for production (may revert)\n\n**4. Execute (MCP or script)**\n- Single call: curl or httpx inline\n- Batch: Python script with aiohttp + JSON-RPC array, output JSONL\n\n**5. Present results**\n- Lamports → divide by 1e9 for SOL\n- Token amounts → divide by 10^decimals\n- Timestamps: `block_time` is unix seconds (no sub-second precision on `getBlockTime`)\n\n---\n\n## Common mistakes & error codes\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| `-32009` \"Slot ... skipped\" | Asked for a slot that wasn't produced | Use `getBlock` with `commitment: \"confirmed\"` and skip error silently |\n| `-32602` Invalid params | Wrong encoding \u002F missing `maxSupportedTransactionVersion: 0` | Add `\"maxSupportedTransactionVersion\": 0` to all tx reads |\n| 429 Too Many Requests | Rate limit | Respect provider's `Retry-After`, lower semaphore |\n| Response timeout on `getBlock` | Large response (~MBs) | Set HTTP timeout ≥ 30s; consider `transactionDetails: \"signatures\"` or `accounts` if full tx not needed |\n| Empty result on `getSignaturesForAddress` | No sigs in the range OR wrong `before`\u002F`until` cursors | Verify cursor with `getSignatureStatuses` |\n| DAS methods missing | Not Helius\u002FQuickNode with DAS addon | Fall back to raw RPC or enable addon |\n\n## Memory updates\n\nOld memory says:\n- \"QuickNode `getTransaction`: ~10k\u002Fmin, ~15KB response, 3x faster than Solscan for single-tx\" — ✅ still valid\n- \"`getBlock`: ~30s timeout needed, large response\" — ✅ still valid\n- \"`getBlockTime`: seconds precision only\" — ✅ still valid\n\nAdd:\n- `maxSupportedTransactionVersion: 0` is **required** for modern tx reads — otherwise you get \"Transaction version (0) is not supported\" errors on v0 tx\n- Helius DAS now supports fungible tokens too (`showFungible: true` on `getAssetsByOwner`)\n- Priority fee: prefer `getPriorityFeeEstimate` (Helius) over raw `getRecentPrioritizationFees`\n\n## Reference files\n\n- `references\u002Fcore-methods.md` — standard Solana JSON-RPC: accounts, blocks, transactions, fees\n- `references\u002Fhelius-extensions.md` — DAS, Enhanced Tx, Priority Fee, Sender, Webhooks, LaserStream\n- `references\u002Fquicknode-extensions.md` — qn_estimatePriorityFees, DAS addon, Jito\n- `references\u002Fpatterns.md` — batching details, rate limits, fallback, cost\n- `references\u002Fexamples\u002Ffetch_tx_batch.py` — batched `getTransaction` for N signatures\n- `references\u002Fexamples\u002Fwallet_full_history.py` — Helius `getTransactionsForAddress` with pagination\n- `references\u002Fexamples\u002Fwallet_holdings_das.py` — DAS `getAssetsByOwner` with full token metadata\n",{"name":5,"description":48,"compatibility":49},"Expert assistant for Solana JSON-RPC — works with any provider: QuickNode, Helius,\nTriton, Ankr, Chainstack, or public endpoints. Standard JSON-RPC methods are identical\nacross providers; only the URL differs.\n\nUse whenever the user wants raw Solana data: fetch transactions by signature, read account\nstate, get block data, check SPL token balances, query program accounts, submit transactions,\nestimate priority fees, or do anything requiring direct Solana node access.\n\nAlso use when the user mentions Helius\u002FQuickNode specifically, or wants Helius-specific\nfeatures (DAS API, Enhanced Transactions, LaserStream, Webhooks) or QuickNode addons\n(qn_estimatePriorityFees, Metaplex DAS, Jito bundles).\n\nEnforces: batch JSON-RPC requests over loops, prefer DAS\u002FEnhanced APIs over raw RPC\nwhen available, never use `getProgramAccounts` without tight filters.\n",{"tools":50},[39,51,52],"Write","Read","main","3df1d0d67b30ff15236561f8c0f9f06d33f42dfd","skills\u002Fai-crypto\u002Fsolana-rpc-skill",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":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add jiayaoqijia\u002Fcryptoskill --skill solana-rpc",{"tool":68,"command":69},"bunx","bunx skills add jiayaoqijia\u002Fcryptoskill --skill solana-rpc",{"tool":71,"command":72},"pnpm","pnpm dlx skills add jiayaoqijia\u002Fcryptoskill --skill solana-rpc","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002FSKILL.md",true,[76,82,86,92,96,100,104,108,112,116,120,124,130,134,138,142,146,150,154],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},".env.example","OTHER","其他",196,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002F.env.example",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},".gitignore",515,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002F.gitignore",{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},".source.json","REFERENCE","参考文档",355,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002F.source.json",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"AGENTS.md",1278,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002FAGENTS.md",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"docs\u002Fquicknode\u002Fhelius-llms.txt",64287,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Fdocs\u002Fquicknode\u002Fhelius-llms.txt",{"path":101,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":102,"sourceHtmlUrl":103},"docs\u002Fquicknode\u002Fsummary.md",7200,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Fdocs\u002Fquicknode\u002Fsummary.md",{"path":105,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":106,"sourceHtmlUrl":107},"GENERATED.md",446,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002FGENERATED.md",{"path":109,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":110,"sourceHtmlUrl":111},"INSTALL.md",1190,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002FINSTALL.md",{"path":113,"resourceType":113,"resourceTypeDesc":114,"sizeBytes":115,"sourceHtmlUrl":16},"LICENSE","许可证",1056,{"path":117,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":118,"sourceHtmlUrl":119},"README.md",4505,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002FREADME.md",{"path":121,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":122,"sourceHtmlUrl":123},"references\u002Fcore-methods.md",7073,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Freferences\u002Fcore-methods.md",{"path":125,"resourceType":126,"resourceTypeDesc":127,"sizeBytes":128,"sourceHtmlUrl":129},"references\u002Fexamples\u002Ffetch_tx_batch.py","SCRIPT","脚本",3255,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Freferences\u002Fexamples\u002Ffetch_tx_batch.py",{"path":131,"resourceType":126,"resourceTypeDesc":127,"sizeBytes":132,"sourceHtmlUrl":133},"references\u002Fexamples\u002Fwallet_full_history.py",3042,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Freferences\u002Fexamples\u002Fwallet_full_history.py",{"path":135,"resourceType":126,"resourceTypeDesc":127,"sizeBytes":136,"sourceHtmlUrl":137},"references\u002Fexamples\u002Fwallet_holdings_das.py",3355,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Freferences\u002Fexamples\u002Fwallet_holdings_das.py",{"path":139,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":140,"sourceHtmlUrl":141},"references\u002Fhelius-extensions.md",6189,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Freferences\u002Fhelius-extensions.md",{"path":143,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":144,"sourceHtmlUrl":145},"references\u002Fpatterns.md",6646,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Freferences\u002Fpatterns.md",{"path":147,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":148,"sourceHtmlUrl":149},"references\u002Fquicknode-extensions.md",4335,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002Freferences\u002Fquicknode-extensions.md",{"path":151,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":152,"sourceHtmlUrl":153},"SOURCE.md",204,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002FSOURCE.md",{"path":155,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":156,"sourceHtmlUrl":157},"TRUST.auto.yaml",2330,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fai-crypto\u002Fsolana-rpc-skill\u002FTRUST.auto.yaml",[159,187,209,227,240,250],{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":163,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":43},"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",[],[167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186],"performance","recipe performance","recipe","mm","sentry","harness","app","deterministic","recipes","flow","cold","critical","analysis","tasks","react","browser","layout","screen","network","metamask",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":192,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":43},"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",[],[196,197,198,41,199,200,201,202,203,204,205,206,207,208],"mexc spot websocket","spot","websocket","workflows","public","listen","streams","depth","keys","for","api keys","maintenance","protobuf",{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":213,"sourceHtmlUrl":214,"categories":215,"keywords":216,"publishedAt":43},"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",[],[217,197,218,219,220,221,222,206,205,204,223,224,225,200,226,199,41],"mexc spot rest","REST","admin","signing","Wallet","requests","actions","secure","data","orders",{"skillNo":228,"name":229,"nameZh":6,"description":230,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":231,"sourceHtmlUrl":232,"categories":233,"keywords":234,"publishedAt":43},"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",[],[235,236,198,237,238,207,205,239,203,202,200,199],"mexc futures websocket","futures","position","ping","subscriptions",{"skillNo":241,"name":242,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":243,"sourceHtmlUrl":244,"categories":245,"keywords":246,"publishedAt":43},"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",[],[247,248,249],"refresh","0xklen version and refresh sanctions lists","version",{"skillNo":251,"name":252,"nameZh":6,"description":253,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":254,"sourceHtmlUrl":255,"categories":256,"keywords":257,"publishedAt":43},"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",[],[258,259,260,261,262,263,264,265,266,267,268],"tests","cover","verify tests cover changed lines","verify","coverage","pr","exercise","use","patch","code","share"]