CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-ai-voicelive-ts

Azure AI Voice Live SDK for JavaScript/TypeScript. Build real-time voice AI applications with bidirectional WebSocket communication.

83

2.77x
Quality

66%

Does it follow best practices?

Impact

100%

2.77x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/azure-ai-voicelive-ts/SKILL.md

The canonical home for this skill is azure-ai-voicelive-ts in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

63%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.

This is a solid, code-heavy API reference that is genuinely actionable for a beta SDK Claude is unlikely to know, with a coherent usage flow. Its main weaknesses are redundancy across the configuration/event/function-calling sections and the absence of any progressive disclosure — everything, including deep reference tables, is inlined in one long file.

Suggestions

De-duplicate the repeated updateSession configuration (Quick Start, Session Configuration, and Turn Detection Options cover the same fields) and merge the duplicated function-calling example from 'Event Handling' and 'Function Calling' into one section.

Split the bulk reference material (event-handler catalog, Key Types, voice/model/audio-format tables) into a references/ file (e.g. references/events.md) and keep SKILL.md as a concise overview with clearly signaled one-level-deep links.

Complete or trim the browser section's '// ... (see samples for full implementation)' placeholder, and move the 'Current Version: 1.0.0-beta.3' note into a dedicated versioning section so it does not penalize conciseness.

DimensionReasoningScore

Conciseness

Mostly SDK-specific reference material Claude would not already know, but there is notable duplication: the Quick Start's updateSession config is repeated in 'Session Configuration', turn-detection options appear a third time in 'Turn Detection Options', and the function-calling handler appears nearly verbatim in both 'Event Handling' and 'Function Calling'. The bare time-sensitive version string ('Current Version: 1.0.0-beta.3') is inline rather than in a versioning/deprecated section. Matches anchor 3 — could be tightened; not 2 since the content is not generic concept explanation.

3 / 5

Actionability

Concrete, executable TypeScript throughout — install commands, both auth flows, quick start, session config, full event-handler catalog, error handling, and logging. Minor gaps: playAudioChunk and sendAudioChunk are referenced but undefined, and the browser section ends with '// ... (see samples for full implementation)', leaving that path incomplete. Matches anchor 4 rather than 5 due to those placeholders.

4 / 5

Workflow Clarity

A clear implicit sequence is established (install → authenticate → create client → start session → updateSession → subscribe → send audio → subscription.close()), reinforced by the client-hierarchy diagram, an error-handling section covering connection/auth/protocol errors, and a cleanup best practice. Not 5: no explicit validation checkpoints (e.g. verifying the session is connected/healthy before streaming) and no retry/recovery loop.

4 / 5

Progressive Disclosure

Section headers are well-organized, but the entire ~470-line document is a monolithic inline file: the full event-handler catalog, type tables, voice/model/format tables, and API reference all live in SKILL.md with no references/ bundle files or clearly signaled split content. Matches anchor 3 (content that should be separate is inline); not 2 because internal structure is good.

3 / 5

Total

14

/

20

Passed

Description

53%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.

The description identifies the domain and core capability clearly and is appropriately concise, but it reads like a library tagline rather than a trigger-oriented description. It lacks a 'Use when...' clause and natural trigger synonyms, capping both completeness and trigger term quality.

Suggestions

Add an explicit trigger clause, e.g. 'Use when building real-time voice assistants, speech-enabled chatbots, or WebSocket audio streaming apps with @azure/ai-voicelive in Node.js or browser projects.'

Include natural user-facing synonyms and identifiers — 'voice assistant', 'speech', 'realtime audio', and the npm package name '@azure/ai-voicelive' — so the skill triggers on the phrases users actually type.

Name one or two more concrete capabilities (e.g. streaming audio in/out, function calling in voice sessions) to lift specificity from 1-2 actions to several.

DimensionReasoningScore

Specificity

Names the domain ('Azure AI Voice Live SDK for JavaScript/TypeScript') and 1-2 concrete actions ('Build real-time voice AI applications', 'bidirectional WebSocket communication'), but coverage is not comprehensive — sessions, audio streaming, and function calling are absent. Anchor 3 fits; anchor 4 requires several specific actions.

3 / 5

Completeness

The 'what' is clear (build real-time voice AI applications with bidirectional WebSocket communication) but there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Contains relevant keywords like 'voice AI', 'Azure', 'JavaScript/TypeScript', and 'WebSocket', but misses common variations and synonyms users would naturally say such as 'speech', 'voice assistant', 'realtime audio', or the npm package name. Some relevant keywords, missing natural variations — anchor 3.

3 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (Azure Voice Live SDK for JS/TS real-time voice) that is mostly distinct from generic voice/audio skills, with only minor overlap risk against other Azure AI or OpenAI realtime SDK skills. Matches anchor 4, not 5, because the description itself lacks distinct trigger phrases to fully disambiguate.

4 / 5

Total

13

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/azure-ai-voicelive-ts/SKILL.md

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.