skills/agora/intake/SKILL.md
First skill to run when the user's Agora product need is unclear or involves multiple products. Understands the full product landscape, identifies user needs, recommends the optimal product combination, and routes to the appropriate skill. Use when the user describes a use case without naming a specific Agora product, or says things like "I want to build", "help me set up", or requests multiple capabilities (video + AI, recording + live, etc.).
npx skillsauth add agoraio/skills agora-intakeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
First entry point for vague or multi-product Agora requests. This skill understands the full product landscape, identifies what the user needs, and routes to the right place.
Note: Skip-intake logic is defined in skills/agora/SKILL.md (root router). If you are here, the root router has already determined that intake is needed. Do NOT second-guess the routing decision — proceed with the intake flow below.
| Product | What it does | Typical user says | |---------|-------------|-------------------| | RTC SDK | Real-time audio/video between humans | "video call", "live streaming", "voice chat" | | RTM | Real-time messaging / signaling | "chat", "messaging", "signaling", "notifications" | | ConvoAI | AI voice agent (ASR→LLM→TTS over RTC) | "AI assistant", "voice bot", "conversational AI" | | Cloud Recording | Record RTC sessions server-side | "recording", "archive sessions", "record calls" | | Server/Tokens | Auth token generation | "token server", "authentication", "App Certificate" | | Server Gateway SDK | Server-side media streaming (Linux) | "server SDK", "Linux SDK", "send audio from server", "server gateway" |
┌─────────────┐
│ RTC SDK │ ← foundation layer
└──────┬──────┘
│
┌────────────────┼────────────────┐
│ │ │
┌─────┴─────┐ ┌─────┴─────┐
│ ConvoAI │ │ Cloud │
│ (AI Agent)│ │ Recording │
└─────┬─────┘ └───────────┘
│
┌─────┴─────┐
│ RTM │ ← often paired with RTC/ConvoAI
└───────────┘
Key relationships:
| Use case | Products needed | |----------|----------------| | 1v1 / group video call | RTC SDK | | Video call + chat | RTC SDK + RTM | | AI voice assistant | ConvoAI + RTC SDK (client) | | AI voice assistant + chat history | ConvoAI + RTC SDK + RTM | | Live streaming with recording | RTC SDK + Cloud Recording | | Record AI conversations | ConvoAI + RTC SDK + Cloud Recording |
If the user's intent is not immediately clear, ask:
"What are you trying to build? Please describe the use case."
Listen for keywords and map to products using the Product Landscape table above.
Based on the user's description, determine:
Use the Product Relationships and Common Combinations tables to make this determination.
Server-side disambiguation — "backend", "Python/Go/Node.js server", or "server-side" alone is ambiguous. Clarify which server role is needed before routing:
| User says | They need |
|-----------|-----------|
| "authenticate users", "issue tokens", "token server" | Server/Tokens → references/server/ |
| "start an AI agent", "call the ConvoAI API", "Python ConvoAI backend" | ConvoAI → references/conversational-ai/ |
| "my server sends audio/video", "server joins RTC channel", "Linux media SDK" | Server Gateway → references/server-gateway/ |
If unclear, ask: "Does your server need to (a) generate auth tokens, (b) call the ConvoAI REST API to start agents, or (c) send/receive audio-video media directly?"
Example analysis:
User: "I want to build an AI customer service bot where users call in and an AI answers"
- Primary: ConvoAI (AI voice agent)
- Supporting: RTC SDK (client-side for user to join channel)
- Optional: Cloud Recording (record conversations for QA), RTM (send chat transcript)
Present your analysis:
Needs Analysis:
─────────────────────────────────────
Use case: [user's described use case]
Primary product: [primary product]
Supporting: [supporting products]
Optional: [optional enhancements]
─────────────────────────────────────
Does this look right? Any adjustments needed?
Wait for user confirmation before proceeding.
For each identified product, route to its skill file:
| Product | Product skill | |---------|--------------| | ConvoAI | references/conversational-ai/README.md | | RTC SDK | references/rtc/README.md | | RTM | references/rtm/README.md | | Cloud Recording | references/cloud-recording/README.md | | Token generation | references/server/README.md | | Server Gateway SDK | references/server-gateway/README.md |
When multiple products are needed, run the primary product's skill first, then address supporting products in order.
For common patterns, skip the full intake flow:
| User says | Shortcut |
|-----------|----------|
| "video call" / "live stream" / "RTC" | → references/rtc/README.md directly |
| "screen share" / "screen sharing" | → references/rtc/README.md → cross-platform-coordination.md |
| "chat" / "messaging" / "signaling" | → references/rtm/README.md directly |
| "voice bot" / "AI assistant" / "ConvoAI" | → references/conversational-ai/README.md directly |
| "recording" / "record sessions" / "record calls" | → references/cloud-recording/README.md directly |
| "generate token" / "token server" / "App Certificate" | → references/server/README.md directly |
| "Server Gateway" / "Linux SDK" / "server sends audio" | → references/server-gateway/README.md directly |
tools
Activate when the user wants to build voice AI agents, video or voice calls, live streaming, screen sharing, in-app messaging and presence, recording, token or auth flows, or use the `agora` CLI for login, quickstarts, env setup, diagnostics, introspection, skills, or MCP serving, especially when integrating Agora into an app.
development
Mocking patterns and testing requirements for Agora SDK integration code. Covers RTC Web, RTC React, RTC iOS, RTC Android, RTC React Native, RTC Flutter, RTM Web, RTM iOS, RTM Android, and ConvoAI REST API. Use when generating tests for any Agora integration, or when reminding the user to add tests to an implementation.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.