voice-agent-expert
This skill is a practical, 'use-it-while-debugging' reference for getting a LiveKit + Letta voice agent working reliably.
Best use case
voice-agent-expert is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. This skill is a practical, 'use-it-while-debugging' reference for getting a LiveKit + Letta voice agent working reliably.
This skill is a practical, 'use-it-while-debugging' reference for getting a LiveKit + Letta voice agent working reliably.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "voice-agent-expert" skill to help with this workflow task. Context: This skill is a practical, 'use-it-while-debugging' reference for getting a LiveKit + Letta voice agent working reliably.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/voice-agent-expert/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How voice-agent-expert Compares
| Feature / Agent | voice-agent-expert | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This skill is a practical, 'use-it-while-debugging' reference for getting a LiveKit + Letta voice agent working reliably.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Voice Agent Expert – Debugging Cheat Sheet (Skill)
This skill is a practical, "use-it-while-debugging" reference for getting a LiveKit + Letta voice agent working reliably.
---
## Core rules (fix 90% of issues)
1. **Override the right LiveKit hook**
- The framework calls `llm_node`, **not** `generate_reply`.
- If you override the wrong method, your changes won't run and your agent may "look alive" but never route text correctly.
2. **Only ONE voice-agent process can run at a time**
- Duplicate processes commonly cause:
- timeouts
- audio cutting out
- inconsistent behavior (you're looking at logs from one process while another is actually serving)
3. **Use `dev` mode for local testing**
- `start` can sit waiting for dispatch and look "broken."
- If you're actively testing locally, `dev` mode is the fast path.
---
## Nuclear reset (when it's just stuck)
Run this when things are wedged, timeouts are happening, or audio is cutting out.
It kills old processes, restarts LiveKit in dev mode, then restarts the Letta voice agent.
```bash
pkill -9 -f letta_voice_agent.py
pkill -f livekit-server
sleep 2
cd /home/adamsl/ottomator-agents/livekit-agent
nohup ./livekit-server --dev --bind 0.0.0.0 > /tmp/livekit.log 2>&1 &
cd /home/adamsl/planner/a2a_communicating_agents/hybrid_letta_agents
/home/adamsl/planner/.venv/bin/python3 letta_voice_agent.py dev > /tmp/letta_voice_agent.log 2>&1 &
```
---
## Is it alive? checks (fastest signals)
1. **LiveKit responding (not just "listening")**
```bash
curl -v http://localhost:7880/ 2>&1 | head -20
```
If this hangs or times out, LiveKit is stuck → restart it.
2. **Confirm you don't have duplicate voice-agent processes**
```bash
ps aux | grep letta_voice_agent | grep -v grep
```
You should see exactly one.
3. **Confirm Letta routing is actually being used**
Watch your logs for your 🎤 marker (or equivalent logging) that proves `llm_node` is being hit.
---
## Common gotchas
### WebSocket double-slash problem
If the browser tries:
```
ws://127.0.0.1:7880//rtc
```
Use instead:
```
ws://localhost:7880
```
**Reason:** The client appends `/rtc`, and some configs end up producing a double-slash.
### Code changes not taking effect
- Edits don't apply until you kill + restart the running process.
- If you edited code and nothing changed, assume you're running an old process.
---
## If messages aren't showing up in Letta Desktop
Most common causes:
- You overrode the wrong method (`generate_reply` instead of `llm_node`)
- An old process is still running (your edits aren't live)
- The session LLM is bypassing Letta routing
### Recommended fix flow
1. Search your code for `llm_node` and confirm your override is in place.
2. Kill all running agent processes.
3. Restart cleanly using the Nuclear reset section above.
4. Tail logs and confirm you see your 🎤 marker.Related Skills
voice-ai-engine-development
Build real-time conversational AI voice engines using async worker pipelines, streaming transcription, LLM agents, and TTS synthesis with interrupt handling and multi-provider support
voice-ai-development
Expert in building voice AI applications - from real-time voice agents to voice-enabled apps. Covers OpenAI Realtime API, Vapi for voice agents, Deepgram for transcription, ElevenLabs for synthesis, LiveKit for real-time infrastructure, and WebRTC fundamentals. Knows how to build low-latency, production-ready voice experiences. Use when: voice ai, voice agent, speech to text, text to speech, realtime voice.
voice-agents
Voice agents represent the frontier of AI interaction - humans speaking naturally with AI systems. The challenge isn't just speech recognition and synthesis, it's achieving natural conversation flow with sub-800ms latency while handling interruptions, background noise, and emotional nuance. This skill covers two architectures: speech-to-speech (OpenAI Realtime API, lowest latency, most natural) and pipeline (STT→LLM→TTS, more control, easier to debug). Key insight: latency is the constraint. Hu
typescript-expert
TypeScript and JavaScript expert with deep knowledge of type-level programming, performance optimization, monorepo management, migration strategies, and modern tooling. Use PROACTIVELY for any TypeScript/JavaScript issues including complex type gymnastics, build performance, debugging, and architectural decisions. If a specialized expert is a better fit, I will recommend switching and stop.
threat-modeling-expert
Expert in threat modeling methodologies, security architecture review, and risk assessment. Masters STRIDE, PASTA, attack trees, and security requirement extraction. Use for security architecture reviews, threat identification, and secure-by-design planning.
service-mesh-expert
Expert service mesh architect specializing in Istio, Linkerd, and cloud-native networking patterns. Masters traffic management, security policies, observability integration, and multi-cluster mesh con
prisma-expert
Prisma ORM expert for schema design, migrations, query optimization, relations modeling, and database operations. Use PROACTIVELY for Prisma schema issues, migration problems, query performance, relation design, or database connection issues.
nosql-expert
Expert guidance for distributed NoSQL databases (Cassandra, DynamoDB). Focuses on mental models, query-first modeling, single-table design, and avoiding hot partitions in high-scale systems.
nestjs-expert
Nest.js framework expert specializing in module architecture, dependency injection, middleware, guards, interceptors, testing with Jest/Supertest, TypeORM/Mongoose integration, and Passport.js authentication. Use PROACTIVELY for any Nest.js application issues including architecture decisions, testing strategies, performance optimization, or debugging complex dependency injection problems. If a specialized expert is a better fit, I will recommend switching and stop.
n8n-mcp-tools-expert
Expert guide for using n8n-mcp MCP tools effectively. Use when searching for nodes, validating configurations, accessing templates, managing workflows, or using any n8n-mcp tool. Provides tool selection guidance, parameter formats, and common patterns.
mermaid-expert
Create Mermaid diagrams for flowcharts, sequences, ERDs, and architectures. Masters syntax for all diagram types and styling. Use PROACTIVELY for visual documentation, system diagrams, or process flows.
laravel-expert
Senior Laravel Engineer role for production-grade, maintainable, and idiomatic Laravel solutions. Focuses on clean architecture, security, performance, and modern standards (Laravel 10/11+).