CtrlK
BlogDocsLog inGet started
Tessl Logo

operating-livekit-agents

Deploys and operates a LiveKit agent in production: shipping a version to LiveKit Cloud and rolling it back, secrets and configuration, the worker process model and prewarming, safe async inside worker processes, provider timeouts and degradation, graceful shutdown, SDK upgrades, and observability. Use when the user says "deploy my agent", "roll back the deployment", "tail the agent logs", "the first call after a restart is slow", "attached to a different loop / event loop is closed", "prewarm the VAD", "shut down without dropping calls", "upgrade livekit-agents safely", "correlate logs by session", or is changing an agent codebase that is already live. Not for designing the agent (building-livekit-agents) or reproducing one bad conversation locally (debugging-livekit-agents).

73

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A dense, high-judgment operational skill: it stays lean, avoids restating what `--help` and the docs already say, and sequences the deploy/upgrade/debug workflows with real verification steps. The main gap is illustrative concreteness at the point of configuration — provider timeout, drain-vs-grace-period, and observability wiring advice would all land harder with one-line examples or settings.

Suggestions

Add a minimal config snippet or setting name for the two most repeated directives — provider timeouts and matching the orchestrator grace period to the drain timeout — so 'set timeouts' and 'match them' become checkable actions.

Turn the verification goals into explicit steps in the shutdown and rollback sections (e.g., how to confirm the grace period value and drain timeout, and the exact command to return to a previous version) rather than advising Claude to 'know' or 'make sure'.

Consider offloading the endpointing/turn-detection tuning details and the observability wiring (what LiveKit Cloud exports and how) into reference files, keeping SKILL.md as the overview with clearly signaled links.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence throughout: it never explains what LiveKit or a VAD is, and it explicitly refuses to restate CLI flags ("read `lk agent --help`... it deliberately doesn't restate them"). Every paragraph carries non-obvious operational judgment rather than padding. Not 4 because there are no trimmable over-explanations — rhetorical framing lines like "Misunderstanding this is the single most common source of production-only bugs" earn their tokens as prioritization signals.

5 / 5

Actionability

Guidance is largely concrete and executable: named commands (`lk agent start`, `status`, `versions`, `logs`), specific error signatures to trace ("events bound to a different loop", "tasks destroyed while pending"), and greppable anti-patterns ("Synchronous I/O in an async context", "Loading during a call"). Deferring exact flags to `--help` is explicitly justified ("the shape is stable even as the flags move"), so it is not penalized. Not 5 because some advice stays at the directive level with no example — e.g., "Set timeouts" and "Log provider response times" never show a config snippet or setting, and "match them" for the grace period gives no mechanism to check either value.

4 / 5

Workflow Clarity

Multi-step processes are clearly sequenced with verification checkpoints: the deploy flow (run start mode locally before first deploy, then verify with `status`, `logs`, and a real conversation via a simulation), and the upgrade flow (pin version, read changelog, branch, test suite, simulations, then watch latency for the first hours). Debugging follows a classify-then-reproduce sequence. Not 5 because several checkpoints are stated as goals rather than steps — "Know the rollback command before you need it" and "make sure it completes inside the drain" tell Claude what to ensure but not how to check it, and there is no explicit feedback loop for a failed deploy beyond pointing at build/deploy logs.

4 / 5

Progressive Disclosure

No bundle files exist; the body is well-sectioned and delegates detail appropriately — command flags to `--help`, docs and changelogs to `reading-livekit-docs`, and adjacent workflows to named sibling skills in a closing "Related skills" section. Not 5 because all substantive content is inline in a single ~150-line file with no offloading of deeper material (e.g., endpointing/turn-detection tuning or observability wiring each warrant a reference page), keeping it a step short of the "clear overview with well-signaled references" anchor.

4 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: third-person voice, dense with concrete capabilities, natural quoted trigger phrases covering both tasks and production symptoms, and explicit boundaries against sibling skills. Nothing vague or padded.

DimensionReasoningScore

Specificity

The description enumerates concrete capability areas — "shipping a version to LiveKit Cloud and rolling it back", "the worker process model and prewarming", "provider timeouts and degradation", "graceful shutdown, SDK upgrades, and observability" — covering the full operating lifecycle with no filler.

5 / 5

Completeness

It explicitly answers both questions: a clear "what" (the enumerated deploy/operate/rollback/observe capabilities) and a concrete "Use when the user says..." clause with quoted trigger phrases, plus explicit negative scope ("Not for designing the agent... or reproducing one bad conversation locally").

5 / 5

Trigger Term Quality

Trigger phrases are natural user speech spanning the whole scope: "deploy my agent", "roll back the deployment", "tail the agent logs", "the first call after a restart is slow", "prewarm the VAD", "shut down without dropping calls", "upgrade livekit-agents safely", "correlate logs by session" — including symptom-level phrasings ("event loop is closed") a user would actually type.

5 / 5

Distinctiveness Conflict Risk

It carves out a clear niche (operating an agent that is already live) and explicitly names and excludes the adjacent skills (building-livekit-agents, debugging-livekit-agents), so it is unlikely to trigger for the wrong skill.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
livekit/agent-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.