[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FKGJSHVCZWNNFPHWS3CC7K":3,"skill-same:01M6FKGJSHVCZWNNFPHWS3CC7K":47},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":29,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M6FKGJSHVCZWNNFPHWS3CC7K","rivet-sdk",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Frivet-sdk\u002FSKILL.md",[],[18,19],"sdk","rivet sdk","2026-11-10 10:12:30",false,"# Zoom Rivet SDK\n\nImplementation guidance for Zoom Rivet (JavaScript\u002FTypeScript) as a server-side framework for:\n- OAuth and token handling\n- Webhook event consumption\n- Typed REST API endpoint wrappers\n- Multi-module server composition\n\nOfficial docs:\n- https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Frivet\u002F\n- https:\u002F\u002Fdevelopers.zoom.us\u002Fdocs\u002Frivet\u002Fjavascript\u002F\n- https:\u002F\u002Fzoom.github.io\u002Frivet-javascript\u002F\n\nReference samples:\n- https:\u002F\u002Fgithub.com\u002Fzoom\u002Frivet-javascript-sample\n- https:\u002F\u002Fgithub.com\u002Fzoom\u002Fisv-rivet-starter\n- https:\u002F\u002Fgithub.com\u002Fzoom\u002FRivet-Server-Sample\n- https:\u002F\u002Fgithub.com\u002Fzoom\u002Frivet-javascript\n\n## Routing Guardrail\n\n- Rivet SDK is a Node.js framework that bundles Zoom auth handling, webhook receivers, and typed API wrappers.\n- Rivet is recommended for faster server-side scaffolding, but it is not mandatory.\n- At planning start, confirm preference:\n- `Do you want Rivet SDK, or direct OAuth + REST without Rivet?`\n- Use Rivet when the user wants a Node.js server that combines Zoom auth + webhooks + API calls with minimal glue code.\n- If the user only needs direct API calls from an existing backend, chain with [..\u002Frest-api\u002FSKILL.md](..\u002Frest-api\u002FSKILL.md).\n- If the user is focused on Zoom Team Chat app cards\u002Fcommands behavior, chain with [..\u002Fteam-chat\u002FSKILL.md](..\u002Fteam-chat\u002FSKILL.md).\n- If the user needs SDK embed (Meeting SDK\u002FVideo SDK client runtime), route to [..\u002Fmeeting-sdk\u002FSKILL.md](..\u002Fmeeting-sdk\u002FSKILL.md) or [..\u002Fvideo-sdk\u002FSKILL.md](..\u002Fvideo-sdk\u002FSKILL.md).\n\n## Quick Links\n\nStart here:\n1. [concepts\u002Farchitecture-and-lifecycle.md](concepts\u002Farchitecture-and-lifecycle.md)\n2. [scenarios\u002Fhigh-level-scenarios.md](scenarios\u002Fhigh-level-scenarios.md)\n3. [examples\u002Fgetting-started-pattern.md](examples\u002Fgetting-started-pattern.md)\n4. [examples\u002Fmulti-client-pattern.md](examples\u002Fmulti-client-pattern.md)\n5. [references\u002Frivet-reference-map.md](references\u002Frivet-reference-map.md)\n6. [references\u002Fversioning-and-compatibility.md](references\u002Fversioning-and-compatibility.md)\n7. [references\u002Fsamples-validation.md](references\u002Fsamples-validation.md)\n8. [references\u002Fsource-map.md](references\u002Fsource-map.md)\n9. [references\u002Fenvironment-variables.md](references\u002Fenvironment-variables.md)\n10. [troubleshooting\u002Fcommon-issues.md](troubleshooting\u002Fcommon-issues.md)\n11. [RUNBOOK.md](RUNBOOK.md)\n12. [rivet-sdk.md](rivet-sdk.md)\n\n## Common Lifecycle Pattern\n\n1. Choose modules and auth model per module (Client Credentials, User OAuth, S2S OAuth, Video SDK JWT).\n2. Instantiate client(s) with credentials, webhook secret, and per-module port.\n3. Register event handlers (`webEventConsumer.event(...)` or shortcuts).\n4. Implement API calls through `client.endpoints.*`.\n5. Start receiver(s) and expose webhook endpoint(s) (`\u002Fzoom\u002Fevents`) to Zoom.\n6. Persist tokens\u002Fstate for OAuth workloads and enforce signature verification.\n7. Monitor module-specific failures and rotate secrets\u002Fversion with changelog cadence.\n\n## High-Level Scenarios\n\n- Team Chat slash-command bot + Team Chat data API enrichment.\n- Multi-module backend (Users + Meetings + Team Chat + Phone) sharing one process.\n- Video SDK telemetry backend using `videosdk` module event stream + API surfaces.\n- ISV orchestration layer with tenant-aware token storage and per-module webhooks.\n- AWS Lambda webhook processor with Rivet `AwsLambdaReceiver`.\n\nSee [scenarios\u002Fhigh-level-scenarios.md](scenarios\u002Fhigh-level-scenarios.md) for details.\n\n## Chaining\n\n- OAuth architecture and grant selection: [..\u002Foauth\u002FSKILL.md](..\u002Foauth\u002FSKILL.md)\n- API endpoint semantics and request payload details: [..\u002Frest-api\u002FSKILL.md](..\u002Frest-api\u002FSKILL.md)\n- Team Chat app cards, command and bot UX: [..\u002Fteam-chat\u002FSKILL.md](..\u002Fteam-chat\u002FSKILL.md)\n- Video SDK API-specific behavior and BYOS context: [..\u002Fvideo-sdk\u002FSKILL.md](..\u002Fvideo-sdk\u002FSKILL.md)\n\n## Environment Variables\n\n- See [references\u002Fenvironment-variables.md](references\u002Fenvironment-variables.md) for standardized `.env` keys and where to find each value.\n\n## Operations\n\n- [RUNBOOK.md](RUNBOOK.md) - 5-minute preflight and debugging checklist.\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fzoom\u002Fskills\u002Frivet-sdk",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":7,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill rivet-sdk",{"tool":39,"command":40},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill rivet-sdk",{"tool":42,"command":43},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill rivet-sdk","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Frivet-sdk\u002FSKILL.md",true,[],[48,62,72,80,86,93],{"skillNo":49,"name":50,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":51,"categories":52,"keywords":58,"publishedAt":20},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[53],{"categoryNo":54,"categoryName":55,"taxonomyType":56,"taxonomyTypeDesc":57},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[59,60,61],"model","model hierarchy","model hierarchy skill",{"skillNo":63,"name":64,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":68,"publishedAt":20},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[67],{"categoryNo":54,"categoryName":55,"taxonomyType":56,"taxonomyTypeDesc":57},[69,70,71],"MCP","zoom","zoom mcp",{"skillNo":73,"name":74,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":20},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[18,78,79,70],"zoom apps sdk","apps",{"skillNo":81,"name":82,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":85,"publishedAt":20},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[82],{"skillNo":87,"name":88,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":92,"publishedAt":20},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[91],{"categoryNo":54,"categoryName":55,"taxonomyType":56,"taxonomyTypeDesc":57},[88],{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":20},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[95]]