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.

52

Quality

58%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/azure-ai-voicelive-ts/SKILL.md
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, highly actionable SDK reference with executable examples for every major feature, weakened by monolithic structure and redundancy. Moving the event catalog, type tables, and format/voice/model references into bundled reference files and de-duplicating the function-calling example would substantially improve both conciseness and progressive disclosure.

Suggestions

Split the event-handler catalog, 'Key Types Reference', and the voice/model/audio-format tables into a references/ file (e.g. references/events.md, references/api-reference.md) and link to them from SKILL.md.

Remove the near-verbatim duplication of the function-calling example between 'Event Handling' and 'Function Calling', and merge Quick Start's session configuration with the 'Session Configuration' section.

Complete the truncated Browser example or replace it with an explicit pointer to a real sample file, and move the version pin ('1.0.0-beta.3') out of the main body or drop it, since time-sensitive details penalize conciseness.

DimensionReasoningScore

Conciseness

The body is dense and mostly code/tables rather than concept padding, but it is noticeably long: the function-calling example is duplicated almost verbatim in 'Event Handling' and 'Function Calling', Quick Start repeats 'Session Configuration', and time-sensitive info ('Current Version: 1.0.0-beta.3') sits outside any deprecated/old-patterns section.

3 / 5

Actionability

Concrete, executable TypeScript covers installation, both auth paths, session setup, the event-handling pattern, tools, error classes, and logging — copy-paste ready for the common cases. Minor gaps keep it below anchor 5: 'playAudioChunk()' is never defined and the Browser section is truncated with '// ... (see samples for full implementation)'.

4 / 5

Workflow Clarity

Quick Start gives a clear ordered sequence (install → client → startSession → updateSession → subscribe → sendAudio), supported by an Error Handling section and a numbered Best Practices list including cleanup. It is not anchor 5 because there are no explicit validation checkpoints or fix-and-retry feedback loops (e.g. verifying the connection or session state before streaming).

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and everything is inline in one ~460-line file: the full event-handler catalog, Key Types Reference, and voice/model/audio-format tables are API-reference material that clearly belongs in a separate file. Section headers and tables give it real structure, so it sits at anchor 3 rather than 2.

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 is specific and honest about what the SDK is, but reads more like a package subtitle than a skill trigger: it has no 'use when' guidance and few natural trigger phrases. Adding an explicit trigger clause and broader keyword coverage would move it into good-overall-example territory.

Suggestions

Add a 'Use when...' clause, e.g. 'Use when building real-time voice assistants, speech-enabled chatbots, or bidirectional audio streaming apps with Azure AI in Node.js or the browser.'

Include natural trigger terms and synonyms users would actually say — 'voice assistant', 'speech', 'real-time audio', 'WebSocket voice', and the npm package name '@azure/ai-voicelive'.

List 2-3 more concrete capabilities (stream audio in/out, live transcription, function calling with voice agents) to round out the 'what' beyond a single 'Build' verb.

DimensionReasoningScore

Specificity

The description names the domain ('Azure AI Voice Live SDK for JavaScript/TypeScript') and one concrete action ('Build real-time voice AI applications with bidirectional WebSocket communication'), but stops short of the several specific, comprehensive actions of anchor 4 — no mention of streaming audio, transcription, function calling, or session management.

3 / 5

Completeness

It clearly answers 'what' (an SDK for building real-time voice AI applications) but contains no 'Use when...' clause or equivalent trigger guidance, which per the judging guidelines caps completeness at 3.

3 / 5

Trigger Term Quality

Terms like 'Azure AI Voice Live SDK', 'voice AI', 'real-time', and 'WebSocket' are relevant, but common natural phrases users would say ('speech', 'voice assistant', 'audio', the npm package name '@azure/ai-voicelive') are missing, matching anchor 3's 'some relevant keywords but missing common variations or synonyms'.

3 / 5

Distinctiveness Conflict Risk

Naming a specific Azure SDK scoped to JavaScript/TypeScript creates a clear niche with only minor overlap risk against closely related Azure speech/voice skills; it lacks the explicit distinct trigger phrases needed for anchor 5.

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
sickn33/agentic-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.