Agora (agora.io)
Skill version: 1.1.0
Build real-time communication applications using Agora SDKs across Web, iOS, Android, and server-side platforms.
Core Concepts
- App ID: Project identifier from Agora Console. Required for all SDK calls.
- App Certificate: A unique key generated by the Agora Console, unique to each project, for use in creating authentication tokens.
- Token: Time-limited auth key generated server-side from App ID + App Certificate. Never expose App Certificate on client. For testing, disable token authentication in Agora Console and pass
nullas the token. - Channel: Auto-created when first user joins, destroyed when last leaves. Users in same channel can communicate.
- UID: Unique user identifier per channel. Pass
null/0for auto-assignment. Duplicate UIDs cause undefined behavior.
Products
Read the README for the product the user needs. Only load what is needed.
RTC (Video/Voice SDK)
Real-time audio and video. Users join channels, publish local tracks, subscribe to remote tracks.
references/rtc/README.md — Platforms: Web, React, iOS, Android
RTM (Signaling / Messaging)
Text messaging, signaling, presence, and metadata. Independent from RTC — channel namespaces are separate.
references/rtm/README.md — Platforms: Web
Conversational AI (Voice AI Agents)
REST API-driven voice AI agents. Create agents that join RTC channels and converse with users via speech. Front-end clients connect via RTC+RTM.
references/conversational-ai/README.md — REST API, agent config, 6 recipe repos (agent-samples, agent-toolkit, agent-client-toolkit-react, agent-ui-kit, server-custom-llm, server-mcp)
Cloud Recording
Server-side recording of RTC channel audio/video. REST API only — no client SDK needed.
references/cloud-recording/README.md
Server-Side
Token generation and server utilities. Required for production authentication.
references/server/README.md — Token generation for Node.js, Python, Go
Server Gateway SDK
Self-hosted Linux SDK for server-side audio/video stream transmission. Use when a server process needs to send or receive media in an Agora RTC channel (call centers, AI audio processing, network testing).
references/server-gateway/README.md — C++, Java, Go, Python
Testing Guidance
Mocking patterns and testing requirements for Agora SDK integration code.
references/testing-guidance/SKILL.md
Routing
Clear, product-specific request: Route directly to the relevant product README.
Do not load intake/SKILL.md.
Examples of clear requests:
- "RTC Web video call" →
references/rtc/web.md - "ConvoAI Python" →
references/conversational-ai/README.md - "Generate RTC token in Go" →
references/server/tokens.md
Vague or multi-product request: Route through intake/SKILL.md.
Intake handles product identification, combination recommendations, and routing.
Documentation Lookup
Check bundled references first (Level 1). If they don't cover the detail needed,
fetch https://docs.agora.io/en/llms.txt, find the relevant URL, and fetch it (Level 2).
See references/doc-fetching.md for the full procedure, fallback URLs, and freeze-forever decision table.
Always fetch Level 2 before answering questions about: TTS/ASR/LLM vendor configs, model names, full request/response schemas, error code listings, or release notes. These change frequently — do not answer from training data or memory.
If MCP is unavailable or Level 2 fetch fails: use the fallback URLs in doc-fetching.md to reach the official markdown docs directly. Never fabricate API parameters — always tell the user to verify against official docs if live fetch is unavailable.
If a user explicitly asks about the Agora MCP server, see references/mcp-tools.md.
Web Framework Notes
Next.js / SSR
Agora SDKs are browser-only. See references/rtc/nextjs.md for the required dynamic import patterns — next/dynamic with ssr: false does not work in Next.js 14+ Server Components without extra steps.