CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-ai-voicelive-ts

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

49

Quality

37%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/azure-ai-voicelive-ts/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

32%

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 a specific SDK and technology stack but reads more like a tagline than a skill description. It lacks concrete actions (e.g., setting up connections, streaming audio, handling events) and entirely omits explicit trigger guidance ('Use when...'), making it difficult for Claude to reliably select this skill from a large pool.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Azure AI Voice Live SDK, real-time voice applications, speech-to-text streaming, or bidirectional audio WebSocket connections in JavaScript/TypeScript.'

List specific concrete actions the skill covers, such as 'Initialize WebSocket connections, stream audio input/output, handle voice events, configure voice models, manage session lifecycle.'

Include natural trigger terms users might say, like 'voice chat', 'speech recognition', 'audio streaming', 'Azure speech', 'real-time transcription', or 'text-to-speech'.

DimensionReasoningScore

Specificity

Names the domain (Azure AI Voice Live SDK) and mentions a key action ('Build real-time voice AI applications with bidirectional WebSocket communication'), but doesn't list multiple concrete actions like 'stream audio', 'transcribe speech', 'synthesize voice responses', etc.

2 / 3

Completeness

Describes what the skill is about (Azure AI Voice Live SDK for building voice AI apps) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, missing 'Use when' caps completeness at 2, and the 'what' is also only partially described, warranting a 1.

1 / 3

Trigger Term Quality

Includes some relevant keywords like 'Azure', 'voice', 'real-time', 'WebSocket', 'JavaScript', 'TypeScript', but misses common user variations like 'speech-to-text', 'text-to-speech', 'audio streaming', 'voice chat', 'conversational AI', or 'Azure Cognitive Services'.

2 / 3

Distinctiveness Conflict Risk

The mention of 'Azure AI Voice Live SDK' is fairly specific and distinctive, but 'real-time voice AI applications' and 'WebSocket communication' could overlap with other voice/audio or WebSocket-related skills. The SDK name helps but the description isn't precise enough to fully prevent conflicts.

2 / 3

Total

7

/

12

Passed

Implementation

42%

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

The skill provides highly actionable, executable TypeScript code examples covering all major SDK features, which is its primary strength. However, it is severely bloated with duplicated patterns (function calling shown twice, session config repeated), inline reference tables, and exhaustive event handler listings that should be in separate files. The lack of validation checkpoints for WebSocket lifecycle management and the monolithic structure significantly reduce its effectiveness as a skill document.

Suggestions

Extract reference tables (voice options, models, audio formats, key types) and the exhaustive event handler listing into separate files (e.g., REFERENCE.md, EVENTS.md) and link to them from the main skill.

Remove the duplicated function calling example — keep only one complete version and reference it from the session configuration section.

Add explicit validation checkpoints: verify session connection before sending audio, check session.updateSession() success, and include a reconnection pattern for dropped WebSocket connections.

Remove the generic 'When to Use' and 'Limitations' boilerplate sections that add no SDK-specific value.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~400+ lines, with significant redundancy (function calling pattern shown twice, session configuration duplicated between Quick Start and Session Configuration sections). Tables for voice options, models, audio formats, and types are reference material that should be in separate files. The 'When to Use' and 'Limitations' sections are generic boilerplate adding no value.

1 / 3

Actionability

The code examples are concrete, executable TypeScript with proper imports, realistic configurations, and complete patterns for authentication, session setup, event handling, and function calling. Copy-paste ready with specific API calls and parameter values.

3 / 3

Workflow Clarity

The Quick Start shows a clear sequence (create client → start session → configure → subscribe → send audio), but there are no explicit validation checkpoints. For a WebSocket-based real-time system, there's no guidance on verifying connection success before sending audio, no reconnection strategy, and no feedback loop for handling connection drops.

2 / 3

Progressive Disclosure

This is a monolithic wall of text with everything inline. Reference tables (voice options, models, audio formats, types), detailed event handler listings, and the full function calling example should be in separate referenced files. The Reference Links section at the bottom points to external resources but the skill itself doesn't split its own content appropriately.

1 / 3

Total

7

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
sickn33/antigravity-awesome-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.