[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F74TQJDRV2AQ2Z7XTSEARW":3,"skill-same:01M6F74TQJDRV2AQ2Z7XTSEARW":83},{"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":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":65,"ownerHtmlUrl":66,"ownerBlogUrl":6,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6F74TQJDRV2AQ2Z7XTSEARW","apollo-common-errors",null,"Diagnose and fix common Apollo.io API errors.\nUse when encountering Apollo API errors, debugging integration issues,\nor troubleshooting failed requests.\nTrigger with phrases like \"apollo error\", \"apollo api error\",\n\"debug apollo\", \"apollo 401\", \"apollo 429\", \"apollo troubleshoot\".","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fapollo-common-errors\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","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],"apollo common errors","apollo","common","429","openclaw","error","trigger","io","use","fix","read","Bash","api","saas","issues","code","debugging","diagnose","debug","troubleshoot","2026-11-10 10:12:30",false,"---\nname: apollo-common-errors\ndescription: |\n  Diagnose and fix common Apollo.io API errors.\n  Use when encountering Apollo API errors, debugging integration issues,\n  or troubleshooting failed requests.\n  Trigger with phrases like \"apollo error\", \"apollo api error\",\n  \"debug apollo\", \"apollo 401\", \"apollo 429\", \"apollo troubleshoot\".\nallowed-tools: Read, Grep, Bash(curl:*)\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\ntags: [saas, apollo, api, debugging]\n\n---\n# Apollo Common Errors\n\n## Overview\nComprehensive guide to diagnosing and fixing Apollo.io API errors. Apollo uses `x-api-key` header authentication and the base URL `https:\u002F\u002Fapi.apollo.io\u002Fapi\u002Fv1\u002F`. Apollo distinguishes between **master** and **standard** API keys — many endpoints require master keys.\n\n## Prerequisites\n- Valid Apollo.io API credentials\n- Node.js 18+ or Python 3.10+\n\n## Instructions\n\n### Step 1: Identify the Error Category\n```typescript\n\u002F\u002F src\u002Fapollo\u002Ferror-handler.ts\nimport { AxiosError } from 'axios';\n\ntype ErrorCategory = 'auth' | 'permission' | 'rate_limit' | 'validation' | 'server' | 'network';\n\nfunction categorizeError(err: AxiosError): ErrorCategory {\n  if (!err.response) return 'network';\n  switch (err.response.status) {\n    case 401: return 'auth';\n    case 403: return 'permission';\n    case 429: return 'rate_limit';\n    case 400: case 422: return 'validation';\n    default: return err.response.status >= 500 ? 'server' : 'validation';\n  }\n}\n```\n\n### Step 2: Handle 401 — Invalid API Key\n```typescript\n\u002F\u002F Most common cause: missing x-api-key header or wrong key format\nasync function diagnoseAuth() {\n  try {\n    const response = await fetch('https:\u002F\u002Fapi.apollo.io\u002Fapi\u002Fv1\u002Fauth\u002Fhealth', {\n      headers: { 'x-api-key': process.env.APOLLO_API_KEY! },\n    });\n    const data = await response.json();\n    if (data.is_logged_in) {\n      console.log('API key is valid');\n    } else {\n      console.error('API key is invalid or expired');\n      console.error('  Generate a new one at: Apollo > Settings > Integrations > API Keys');\n    }\n  } catch (err: any) {\n    console.error('Cannot reach Apollo API:', err.message);\n  }\n}\n```\n\n**Common 401 causes:**\n1. Using `api_key` query parameter instead of `x-api-key` header\n2. Key was revoked or regenerated in the dashboard\n3. Key has trailing whitespace (check with `echo -n \"$APOLLO_API_KEY\" | wc -c`)\n\n### Step 3: Handle 403 — Wrong Key Type\n```\nStandard API key: search + enrichment only\nMaster API key:   full access (contacts, sequences, deals, tasks)\n```\n\nEndpoints that **require a master key**:\n- `POST \u002Fcontacts` (create\u002Fupdate)\n- `POST \u002Femailer_campaigns\u002Fsearch` (sequences)\n- `POST \u002Femailer_campaigns\u002F{id}\u002Fadd_contact_ids`\n- `POST \u002Fopportunities` (deals)\n- `POST \u002Ftasks` (tasks)\n- `DELETE \u002Fcontacts\u002F{id}`\n\n```typescript\n\u002F\u002F Diagnose: test a master-key-only endpoint\nasync function diagnoseMasterKey() {\n  try {\n    await client.post('\u002Fcontacts\u002Fsearch', { per_page: 1 });\n    console.log('Master API key confirmed');\n  } catch (err: any) {\n    if (err.response?.status === 403) {\n      console.error('Your API key is a standard key. Master key required.');\n      console.error('  Go to Apollo > Settings > Integrations > API Keys');\n      console.error('  Generate a new key with \"Master Key\" type');\n    }\n  }\n}\n```\n\n### Step 4: Handle 429 — Rate Limiting\nApollo uses fixed-window rate limiting per endpoint category:\n\n```\nEndpoint Category         | Limit      | Window  | Burst\n--------------------------+------------+---------+------\nPeople Search             | 100\u002Fmin    | 1 min   | 10\u002Fsec\nPeople Enrichment         | 100\u002Fmin    | 1 min   | 10\u002Fsec\nBulk People Enrichment    | 10\u002Fmin     | 1 min   | 2\u002Fsec\nOrganization Enrichment   | 100\u002Fmin    | 1 min   | 10\u002Fsec\nContacts (CRUD)           | 100\u002Fmin    | 1 min   | 10\u002Fsec\nSequences                 | 100\u002Fmin    | 1 min   | 10\u002Fsec\n```\n\n```typescript\n\u002F\u002F Respect Retry-After header\nasync function handleRateLimit\u003CT>(fn: () => Promise\u003CT>): Promise\u003CT> {\n  try {\n    return await fn();\n  } catch (err: any) {\n    if (err.response?.status === 429) {\n      const retryAfter = parseInt(err.response.headers['retry-after'] ?? '60', 10);\n      console.warn(`Rate limited. Waiting ${retryAfter}s...`);\n      await new Promise((r) => setTimeout(r, retryAfter * 1000));\n      return fn();\n    }\n    throw err;\n  }\n}\n```\n\n### Step 5: Handle 422 — Validation Errors\n```typescript\n\u002F\u002F Common 422 causes:\n\u002F\u002F   - per_page > 100 on search endpoints\n\u002F\u002F   - Missing required fields on \u002Fcontacts POST (first_name, last_name)\n\u002F\u002F   - Invalid email format on \u002Fpeople\u002Fmatch\n\u002F\u002F   - page > 500 on \u002Fmixed_people\u002Fapi_search (50,000 record limit)\n\nfunction logValidationError(err: AxiosError) {\n  const body = err.response?.data as any;\n  console.error('Validation error:', {\n    status: err.response?.status,\n    message: body?.message ?? body?.error,\n    errors: body?.errors,\n    url: err.config?.url,\n    body: typeof err.config?.data === 'string' ? JSON.parse(err.config.data) : err.config?.data,\n  });\n}\n```\n\n### Step 6: Build Comprehensive Error Middleware\n```typescript\n\u002F\u002F src\u002Fapollo\u002Ferror-middleware.ts\nimport { AxiosError, AxiosInstance } from 'axios';\n\nexport function attachErrorHandler(client: AxiosInstance) {\n  client.interceptors.response.use(\n    (response) => response,\n    (err: AxiosError) => {\n      const status = err.response?.status;\n      const body = err.response?.data as any;\n      const endpoint = err.config?.url ?? 'unknown';\n\n      const info = {\n        status,\n        endpoint,\n        message: body?.message ?? err.message,\n        timestamp: new Date().toISOString(),\n      };\n\n      switch (categorizeError(err)) {\n        case 'auth':\n          console.error('[APOLLO AUTH] Invalid x-api-key header', info);\n          break;\n        case 'permission':\n          console.error('[APOLLO PERMISSION] Master key required for this endpoint', info);\n          break;\n        case 'rate_limit':\n          console.warn('[APOLLO RATE LIMIT]', info);\n          break;\n        case 'validation':\n          console.error('[APOLLO VALIDATION]', info);\n          break;\n        case 'server':\n          console.error('[APOLLO SERVER] Check status.apollo.io', info);\n          break;\n        case 'network':\n          console.error('[APOLLO NETWORK] Cannot reach api.apollo.io', info);\n          break;\n      }\n\n      return Promise.reject(err);\n    },\n  );\n}\n```\n\n## Error Reference\n| Code | Meaning | Fix |\n|------|---------|-----|\n| 401 | Invalid or missing `x-api-key` header | Verify key in dashboard, check header name |\n| 403 | Standard key used for master-only endpoint | Generate master API key |\n| 422 | Bad request body | Check field names, per_page \u003C= 100, page \u003C= 500 |\n| 429 | Rate limit exceeded | Read `Retry-After` header, implement backoff |\n| 500 | Apollo server error | Retry with backoff, check [status.apollo.io](https:\u002F\u002Fstatus.apollo.io) |\n| ECONNREFUSED | Network\u002Ffirewall | Allow outbound HTTPS to `api.apollo.io:443` |\n\n## Examples\n\n### Quick cURL Diagnostic\n```bash\n# Test auth (should return is_logged_in: true)\ncurl -s -H \"x-api-key: $APOLLO_API_KEY\" \\\n  https:\u002F\u002Fapi.apollo.io\u002Fapi\u002Fv1\u002Fauth\u002Fhealth | python3 -m json.tool\n\n# Test master key (returns contacts or 403)\ncurl -s -X POST -H \"Content-Type: application\u002Fjson\" -H \"x-api-key: $APOLLO_API_KEY\" \\\n  -d '{\"per_page\":1}' https:\u002F\u002Fapi.apollo.io\u002Fapi\u002Fv1\u002Fcontacts\u002Fsearch | python3 -m json.tool\n```\n\n## Resources\n- [Apollo API Error Reference](https:\u002F\u002Fdocs.apollo.io\u002Freference\u002Frate-limits)\n- [Apollo Status Page](https:\u002F\u002Fstatus.apollo.io)\n- [Create API Keys](https:\u002F\u002Fdocs.apollo.io\u002Fdocs\u002Fcreate-api-key)\n- [API Usage Stats](https:\u002F\u002Fdocs.apollo.io\u002Freference\u002Fview-api-usage-stats)\n\n## Next Steps\nProceed to `apollo-debug-bundle` for collecting debug evidence.\n\n","# Apollo Common Errors\n\n## Overview\nComprehensive guide to diagnosing and fixing Apollo.io API errors. Apollo uses `x-api-key` header authentication and the base URL `https:\u002F\u002Fapi.apollo.io\u002Fapi\u002Fv1\u002F`. Apollo distinguishes between **master** and **standard** API keys — many endpoints require master keys.\n\n## Prerequisites\n- Valid Apollo.io API credentials\n- Node.js 18+ or Python 3.10+\n\n## Instructions\n\n### Step 1: Identify the Error Category\n```typescript\n\u002F\u002F src\u002Fapollo\u002Ferror-handler.ts\nimport { AxiosError } from 'axios';\n\ntype ErrorCategory = 'auth' | 'permission' | 'rate_limit' | 'validation' | 'server' | 'network';\n\nfunction categorizeError(err: AxiosError): ErrorCategory {\n  if (!err.response) return 'network';\n  switch (err.response.status) {\n    case 401: return 'auth';\n    case 403: return 'permission';\n    case 429: return 'rate_limit';\n    case 400: case 422: return 'validation';\n    default: return err.response.status >= 500 ? 'server' : 'validation';\n  }\n}\n```\n\n### Step 2: Handle 401 — Invalid API Key\n```typescript\n\u002F\u002F Most common cause: missing x-api-key header or wrong key format\nasync function diagnoseAuth() {\n  try {\n    const response = await fetch('https:\u002F\u002Fapi.apollo.io\u002Fapi\u002Fv1\u002Fauth\u002Fhealth', {\n      headers: { 'x-api-key': process.env.APOLLO_API_KEY! },\n    });\n    const data = await response.json();\n    if (data.is_logged_in) {\n      console.log('API key is valid');\n    } else {\n      console.error('API key is invalid or expired');\n      console.error('  Generate a new one at: Apollo > Settings > Integrations > API Keys');\n    }\n  } catch (err: any) {\n    console.error('Cannot reach Apollo API:', err.message);\n  }\n}\n```\n\n**Common 401 causes:**\n1. Using `api_key` query parameter instead of `x-api-key` header\n2. Key was revoked or regenerated in the dashboard\n3. Key has trailing whitespace (check with `echo -n \"$APOLLO_API_KEY\" | wc -c`)\n\n### Step 3: Handle 403 — Wrong Key Type\n```\nStandard API key: search + enrichment only\nMaster API key:   full access (contacts, sequences, deals, tasks)\n```\n\nEndpoints that **require a master key**:\n- `POST \u002Fcontacts` (create\u002Fupdate)\n- `POST \u002Femailer_campaigns\u002Fsearch` (sequences)\n- `POST \u002Femailer_campaigns\u002F{id}\u002Fadd_contact_ids`\n- `POST \u002Fopportunities` (deals)\n- `POST \u002Ftasks` (tasks)\n- `DELETE \u002Fcontacts\u002F{id}`\n\n```typescript\n\u002F\u002F Diagnose: test a master-key-only endpoint\nasync function diagnoseMasterKey() {\n  try {\n    await client.post('\u002Fcontacts\u002Fsearch', { per_page: 1 });\n    console.log('Master API key confirmed');\n  } catch (err: any) {\n    if (err.response?.status === 403) {\n      console.error('Your API key is a standard key. Master key required.');\n      console.error('  Go to Apollo > Settings > Integrations > API Keys');\n      console.error('  Generate a new key with \"Master Key\" type');\n    }\n  }\n}\n```\n\n### Step 4: Handle 429 — Rate Limiting\nApollo uses fixed-window rate limiting per endpoint category:\n\n```\nEndpoint Category         | Limit      | Window  | Burst\n--------------------------+------------+---------+------\nPeople Search             | 100\u002Fmin    | 1 min   | 10\u002Fsec\nPeople Enrichment         | 100\u002Fmin    | 1 min   | 10\u002Fsec\nBulk People Enrichment    | 10\u002Fmin     | 1 min   | 2\u002Fsec\nOrganization Enrichment   | 100\u002Fmin    | 1 min   | 10\u002Fsec\nContacts (CRUD)           | 100\u002Fmin    | 1 min   | 10\u002Fsec\nSequences                 | 100\u002Fmin    | 1 min   | 10\u002Fsec\n```\n\n```typescript\n\u002F\u002F Respect Retry-After header\nasync function handleRateLimit\u003CT>(fn: () => Promise\u003CT>): Promise\u003CT> {\n  try {\n    return await fn();\n  } catch (err: any) {\n    if (err.response?.status === 429) {\n      const retryAfter = parseInt(err.response.headers['retry-after'] ?? '60', 10);\n      console.warn(`Rate limited. Waiting ${retryAfter}s...`);\n      await new Promise((r) => setTimeout(r, retryAfter * 1000));\n      return fn();\n    }\n    throw err;\n  }\n}\n```\n\n### Step 5: Handle 422 — Validation Errors\n```typescript\n\u002F\u002F Common 422 causes:\n\u002F\u002F   - per_page > 100 on search endpoints\n\u002F\u002F   - Missing required fields on \u002Fcontacts POST (first_name, last_name)\n\u002F\u002F   - Invalid email format on \u002Fpeople\u002Fmatch\n\u002F\u002F   - page > 500 on \u002Fmixed_people\u002Fapi_search (50,000 record limit)\n\nfunction logValidationError(err: AxiosError) {\n  const body = err.response?.data as any;\n  console.error('Validation error:', {\n    status: err.response?.status,\n    message: body?.message ?? body?.error,\n    errors: body?.errors,\n    url: err.config?.url,\n    body: typeof err.config?.data === 'string' ? JSON.parse(err.config.data) : err.config?.data,\n  });\n}\n```\n\n### Step 6: Build Comprehensive Error Middleware\n```typescript\n\u002F\u002F src\u002Fapollo\u002Ferror-middleware.ts\nimport { AxiosError, AxiosInstance } from 'axios';\n\nexport function attachErrorHandler(client: AxiosInstance) {\n  client.interceptors.response.use(\n    (response) => response,\n    (err: AxiosError) => {\n      const status = err.response?.status;\n      const body = err.response?.data as any;\n      const endpoint = err.config?.url ?? 'unknown';\n\n      const info = {\n        status,\n        endpoint,\n        message: body?.message ?? err.message,\n        timestamp: new Date().toISOString(),\n      };\n\n      switch (categorizeError(err)) {\n        case 'auth':\n          console.error('[APOLLO AUTH] Invalid x-api-key header', info);\n          break;\n        case 'permission':\n          console.error('[APOLLO PERMISSION] Master key required for this endpoint', info);\n          break;\n        case 'rate_limit':\n          console.warn('[APOLLO RATE LIMIT]', info);\n          break;\n        case 'validation':\n          console.error('[APOLLO VALIDATION]', info);\n          break;\n        case 'server':\n          console.error('[APOLLO SERVER] Check status.apollo.io', info);\n          break;\n        case 'network':\n          console.error('[APOLLO NETWORK] Cannot reach api.apollo.io', info);\n          break;\n      }\n\n      return Promise.reject(err);\n    },\n  );\n}\n```\n\n## Error Reference\n| Code | Meaning | Fix |\n|------|---------|-----|\n| 401 | Invalid or missing `x-api-key` header | Verify key in dashboard, check header name |\n| 403 | Standard key used for master-only endpoint | Generate master API key |\n| 422 | Bad request body | Check field names, per_page \u003C= 100, page \u003C= 500 |\n| 429 | Rate limit exceeded | Read `Retry-After` header, implement backoff |\n| 500 | Apollo server error | Retry with backoff, check [status.apollo.io](https:\u002F\u002Fstatus.apollo.io) |\n| ECONNREFUSED | Network\u002Ffirewall | Allow outbound HTTPS to `api.apollo.io:443` |\n\n## Examples\n\n### Quick cURL Diagnostic\n```bash\n# Test auth (should return is_logged_in: true)\ncurl -s -H \"x-api-key: $APOLLO_API_KEY\" \\\n  https:\u002F\u002Fapi.apollo.io\u002Fapi\u002Fv1\u002Fauth\u002Fhealth | python3 -m json.tool\n\n# Test master key (returns contacts or 403)\ncurl -s -X POST -H \"Content-Type: application\u002Fjson\" -H \"x-api-key: $APOLLO_API_KEY\" \\\n  -d '{\"per_page\":1}' https:\u002F\u002Fapi.apollo.io\u002Fapi\u002Fv1\u002Fcontacts\u002Fsearch | python3 -m json.tool\n```\n\n## Resources\n- [Apollo API Error Reference](https:\u002F\u002Fdocs.apollo.io\u002Freference\u002Frate-limits)\n- [Apollo Status Page](https:\u002F\u002Fstatus.apollo.io)\n- [Create API Keys](https:\u002F\u002Fdocs.apollo.io\u002Fdocs\u002Fcreate-api-key)\n- [API Usage Stats](https:\u002F\u002Fdocs.apollo.io\u002Freference\u002Fview-api-usage-stats)\n\n## Next Steps\nProceed to `apollo-debug-bundle` for collecting debug evidence.\n\n",{"name":5,"tags":54,"author":55,"license":15,"version":56,"description":57,"allowed-tools":58,"compatible-with":59},[42,30,41,45],"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Diagnose and fix common Apollo.io API errors.\nUse when encountering Apollo API errors, debugging integration issues,\nor troubleshooting failed requests.\nTrigger with phrases like \"apollo error\", \"apollo api error\",\n\"debug apollo\", \"apollo 401\", \"apollo 429\", \"apollo troubleshoot\".\n","Read, Grep, Bash(curl:*)","claude-code, codex, openclaw","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fapollo-common-errors",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill apollo-common-errors",{"tool":75,"command":76},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill apollo-common-errors",{"tool":78,"command":79},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill apollo-common-errors","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fjeremylongshore\u002Fclaude-code-plugins-plus-skills\u002Fapollo-common-errors\u002FSKILL.md",true,[],[84,96,106,115,121,128],{"skillNo":85,"name":86,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":92,"publishedAt":49},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[93,94,95],"model","model hierarchy","model hierarchy skill",{"skillNo":97,"name":98,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":102,"publishedAt":49},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[101],{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},[103,104,105],"MCP","zoom","zoom mcp",{"skillNo":107,"name":108,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":49},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[112,113,114,104],"sdk","zoom apps sdk","apps",{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":49},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[117],{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":49},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[126],{"categoryNo":90,"categoryName":91,"taxonomyType":21,"taxonomyTypeDesc":22},[123],{"skillNo":129,"name":130,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":49},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[130]]