Setting the file. One moment. RUNBOOK · Build Zoom Video SDK App · anthropics/knowledge-work-plugins · Skills Docs
Use this before deep debugging. It catches the most common Video SDK failures fast.
22
Validate Data
Tech Debt
62
Recruiting Pipeline
71
Vendor Check
125
Zoom Meeting SDK Web
88
Vendor Review
181
Create An Asset
Video Sdk/web
- Agent-skill standard entrypoint is
SKILL.md.
- This runbook is an operational convention (recommended), not a required skill file.
SKILL.md is also a navigation convention for larger skill docs.
- Video SDK is for custom video experiences (not Zoom Meeting UI).
- If you expect native Zoom meeting UI behavior, use Meeting SDK instead.
createClient()
init()
join()
getMediaStream()
startAudio() / startVideo()
Calling stream APIs before join() causes silent failures.
- JWT must be generated server-side.
- Validate
app_key, role_type, tpc, iat, exp claims.
- Ensure topic (
tpc) matches what clients join with.
- Use event-driven attach/detach flow for participant video.
- Handle user join/leave and peer video state changes.
- Do not assume remote video auto-renders.
- npm vs CDN globals differ (
ZoomVideo vs WebVideoSDK.default).
- In CDN/module setups, guard for SDK-load race conditions.
- Signature endpoint returns valid JWT payload.
- Join succeeds for two users on same
topic.
- Audio/video start calls return success.
- Browser logs show no mixed-content/CORS blocking.
Expected: JSON from token endpoint and HTML from app route.
- No media stream -> check lifecycle order (
getMediaStream after join).
- Only local video works -> missing event-driven remote attach flow.
- Join auth errors -> JWT claims mismatch or expired token.
- Use Video SDK for custom video sessions you design.
- Use Meeting SDK for Zoom-native meeting experience embedding.
- If implementation asks for
meetingNumber or uses join_url, you are not in Video SDK flow.
- If implementation creates resources via
/v2/meetings for join flow, you are on REST/Meeting path.
- For Video SDK MVP, require: Video SDK JWT +
client.join(topic, ...) + media stream lifecycle.
RUNBOOK.md