Skip to content

AgoraIO/skills

Agora Skills

Structured reference knowledge for Agora (agora.io) real-time AI and Communication SDKs, designed for AI coding assistants. Covers Conversational AI (voice AI agents), RTC (video/voice), RTM (signaling/messaging), and server-side token generation.

Installation

Skills CLI (recommended)

npx skills add github:AgoraIO/skills

Skills activate automatically when your agent detects relevant tasks (e.g., "build a voice agent", "integrate Agora RTC", "generate a token").

Claude Code Plugin (recommended if using Claude)

Install Agora skills and the Agora Docs MCP server as a Claude Code plugin. Run these two slash commands inside Claude Code:

/plugin marketplace add AgoraIO/skills
/plugin install agora@agora-skills

The Agora MCP server (mcp.agora.io) is bundled automatically — no separate MCP configuration needed.

Git clone

Clone the repo once, then point your tool at skills/agora/:

git clone https://github.com/AgoraIO/skills.git ~/agora-skills

Configure with your Agent or IDE (optional)

Claude Code — symlink (user-level):

When installing the skill using the Skills CLI, you can symlink the skill to your home directory. This will make the skill available to all your agents.

ln -s ~/agora-skills/skills/agora ~/.claude/skills/agora

Claude Code — copy (project-level, shared with team):

When installing the skill using the Claude Code Plugin, you can copy the skill to your project directory. This will make the skill available to all your agents in the project.

mkdir -p .claude/skills
cp -r ~/agora-skills/skills/agora .claude/skills/agora

Cursor: Copy or symlink into .cursor/rules/. See Cursor skills docs.

Windsurf: Add skills/agora/ to your Cascade context. See Windsurf skills docs.

GitHub Copilot: Reference via @workspace or add to .github/copilot-instructions.md. See Copilot CLI skills and Copilot Agents skills.

Any other tool: The skill files are plain markdown. Point your tool at skills/agora/ or load individual files directly. Use SKILL.md as the entry point — it links to everything else.


What This Is

This repo contains markdown skill files that give AI coding assistants deep knowledge of Agora's platform. When a developer asks for help with Agora, the assistant loads the relevant reference material — from high-level product overviews down to platform-specific code examples and API details.

Products covered:

  • RTC (Video/Voice SDK) — Web, React, Next.js, iOS (Swift), Android (Kotlin/Java)
  • RTM (Signaling) — Web (JS/TS) messaging, presence, metadata, stream channels
  • Conversational AI — REST API, agent config, Gemini Live + OpenAI Realtime MLLM, 6 recipe repos (agent-samples, agent-toolkit, agent-client-toolkit-react, agent-ui-kit, server-custom-llm, server-mcp)
  • Cloud Recording — REST API acquire/start/query/stop lifecycle
  • Server Gateway — Linux SDK (C++) for server-side RTC
  • Server-Side — Token generation for Node.js, Python, Go
  • Testing Guidance — ConvoAI and RTC testing patterns

Design — 4-Layer Progressive Disclosure

LLM context windows are finite. Load the minimum needed, go deeper only when required.

Layer What Size When Loaded
1 — Description Trigger keywords in SKILL.md frontmatter ~100 words Always (skill index)
2 — SKILL.md body Core concepts, product index, framework notes ~72 lines On activation
3 — Product README Overview, critical rules, topic links 20–100 lines Per product
4 — Topic files Implementation detail, code examples, API reference, or TOC + links 34–500 lines Per topic

Navigation: SKILL.md → product README.md → topic file (e.g., web.md, agent-samples.md).

Link-First vs Inline

Not all content belongs inline. The skill uses two strategies depending on how fast upstream content moves and how well it's documented:

Product Strategy Why
Conversational AI TOC + links to repo READMEs and AGENT.md Fast-moving, 5 upstream repos with good docs
RTC / RTM Inline code examples Stable APIs, official docs lack good examples
Server / Tokens TOC + links to official docs Well-documented at docs.agora.io

ConvoAI files are aligned 1:1 with repos in AgoraIO-Conversational-AI. Each file maps to one repo and links to its README and AGENT.md as sources of truth. Gotchas and quirks that LLMs consistently get wrong stay inline in the ConvoAI README.

File Structure

skills/
└── agora/                          Skill root
    ├── SKILL.md                    Entry point, product index
    ├── intake/
    │   └── SKILL.md                Multi-product needs analysis router
    └── references/
        ├── doc-fetching.md         Two-tier lookup procedure (agent-facing)
        ├── mcp-tools.md            MCP tool reference and graceful degradation
        ├── rtc/                    RTC (Video/Voice SDK)
        │   ├── README.md           Critical rules, encoder profiles, cross-platform notes
        │   ├── web.md              agora-rtc-sdk-ng: client, tracks, events, screen share
        │   ├── react.md            agora-rtc-react: hooks, custom patterns
        │   ├── nextjs.md           Next.js / SSR dynamic import patterns
        │   ├── ios.md              AgoraRtcEngineKit (Swift): setup, delegation
        │   └── android.md          RtcEngine (Kotlin/Java): setup, callbacks
        ├── rtm/                    RTM (Signaling / Messaging)
        │   ├── README.md           Key concepts, platform links
        │   └── web.md              agora-rtm v2: messaging, presence, stream channels
        ├── conversational-ai/      Conversational AI (Voice AI Agents)
        │   ├── README.md           Architecture, endpoints, auth, lifecycle, gotchas
        │   ├── agent-samples.md    Backend, React clients, profiles, MLLM, deployment
        │   ├── agent-toolkit.md    @agora/conversational-ai SDK: API, helpers, hooks
        │   ├── agent-client-toolkit-react.md   React hooks: provider, transcript, state
        │   ├── agent-ui-kit.md     @agora/agent-ui-kit React components
        │   ├── server-custom-llm.md  Custom LLM proxy: RAG, tools, memory
        │   └── server-mcp.md       MCP memory server: persistent per-user memory
        ├── cloud-recording/        Cloud Recording (REST API)
        │   └── README.md           acquire/start/query/stop lifecycle, storage config
        ├── server-gateway/         Server Gateway (Linux SDK)
        │   ├── README.md           Overview, use cases, critical notes
        │   └── linux-cpp.md        C++ SDK: setup, callbacks, media pipeline
        ├── server/                 Server-Side (Tokens)
        │   ├── README.md           Token types, when tokens are needed
        │   └── tokens.md           Token generation TOC + links to official docs
        └── testing-guidance/       Testing Patterns
            └── SKILL.md            ConvoAI and RTC test setup, mocking patterns

Maintaining and Extending

Adding a New Product

  1. Create references/{product}/README.md (Layer 3)
  2. Add an entry to the Products section of SKILL.md
  3. Create topic files as needed (Layer 4)

Adding a New Platform

  1. Create references/{product}/{platform}.md (Layer 4)
  2. Add a link in the product's README.md

Updating Content

  • Edit the specific Layer 4 file.
  • Inline files (RTC, RTM, TEN): Keep code examples current, keep Official Documentation URLs at the bottom.
  • Link-first files (ConvoAI, server): Update TOC links when upstream repos restructure. Keep gotchas/quirks inline only for things LLMs get wrong that aren't obvious in upstream docs.
  • Don't duplicate content that lives in upstream repo READMEs or AGENT.md — link to it instead.

Verifying URLs

grep -roh 'https://[^ )]*' skills/ | sort -u | while read url; do
  code=$(curl -s -o /dev/null -w "%{http_code}" -L --max-time 10 "$url")
  echo "$code $url"
done

Agora Release Notes

About

Reusable AI coding agent skills for building with Agora

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages