CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-ai-voicelive-dotnet

Azure AI Voice Live SDK for .NET. 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

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/azure-ai-voicelive-dotnet/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.

The body is a strong, code-first reference: executable C# for every major SDK operation, a clearly numbered core workflow, and genuinely useful error-handling details like the benign cancellation error. Its weaknesses are the missing audio capture/playback example for a voice SDK, inlined reference material that belongs in a separate file, and boilerplate 'When to Use'/'Limitations' filler plus unpinned version numbers that pad the token budget.

Suggestions

Add a concrete end-to-end audio example: capturing microphone input with NAudio and calling session.SendAudioAsync(), and playing SessionUpdateResponseAudioDelta chunks — the central loop of a realtime voice SDK is currently only implied.

Move the 'Key Types Reference', voice/model tables, and reference links into a references/ file (e.g. references/types.md) and keep SKILL.md as a concise overview with clearly signaled links, enabling progressive disclosure.

Delete the boilerplate 'When to Use' and generic 'Limitations' sections, and relocate version numbers ("Stable v1.0.0, Preview v1.1.0-beta.1") to a versioning/deprecations section so time-sensitive details don't bloat the main body.

Add a reconnect/recovery note for dropped WebSocket sessions to round out the error-handling feedback loop.

DimensionReasoningScore

Conciseness

The body is mostly efficient code and tables that assume Claude's competence, but includes unnecessary filler ("This skill is applicable to execute the workflow or actions described in the overview", generic Limitations boilerplate) and time-sensitive version numbers ("Stable v1.0.0, Preview v1.1.0-beta.1") outside any deprecated/old-patterns section, which the guidelines say should penalize conciseness. This fits 'mostly efficient but includes some unnecessary explanation' rather than anchor 4's minor instances only.

3 / 5

Actionability

Concrete, copy-paste-ready C# covers installation, both auth flows, session configuration, event processing, and function calling, matching 'mostly executable guidance with minor gaps'. It falls short of anchor 5 because the core audio loop of a voice SDK — capturing microphone audio and calling SendAudioAsync, and playing audioDelta via NAudio — is only hinted at with comments ("Play audio via NAudio or other audio library") rather than shown.

4 / 5

Workflow Clarity

The 'Core Workflow' section sequences steps 1-4 explicitly (start/configure session → process events → send message → function calling), and a dedicated Error Handling section identifies a known-benign error, giving most checkpoints. It is not anchor 5 because there is no explicit validate-fix-retry feedback loop (e.g., reconnection or error-recovery guidance for a dropped WebSocket).

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and the skill is a well-sectioned but monolithic ~270-line file that inlines content belonging in separate reference files: the 'Key Types Reference' table, voice/model tables, related-SDK comparison, and reference links. This matches 'some structure but content that should be separate is inline'; the simple-skill exception (under 50 lines) does not apply, and anchor 2's 'minimal structure' is too harsh given the clear section headers.

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 clearly identifies the what — a specific .NET SDK for real-time bidirectional voice AI — and is appropriately concise and distinct from neighboring skills. Its main weakness is the complete absence of any 'Use when...' trigger guidance and of natural user phrasings like 'voice assistant' or 'speech', leaving a model to guess when to invoke it.

Suggestions

Add an explicit trigger clause, e.g. 'Use when building voice assistants, real-time speech applications, or bidirectional audio streaming with Azure AI in .NET.'

Include natural synonyms and user phrasings such as 'voice assistant', 'speech-to-speech', and 'real-time audio' so the skill triggers on how users actually describe the task.

Optionally enumerate 1-2 more concrete capabilities (e.g., 'stream audio over WebSockets, handle function calls mid-conversation') to lift specificity.

DimensionReasoningScore

Specificity

The description names the domain ("Azure AI Voice Live SDK for .NET") and one concrete action ("Build real-time voice AI applications with bidirectional WebSocket communication"), matching the anchor for 1-2 concrete actions. It does not list several specific actions (anchor 4) and the action given is concrete rather than generic (above anchor 2).

3 / 5

Completeness

The 'what' is clearly stated (build real-time voice AI applications with this SDK), but there is no 'Use when...' clause or equivalent trigger guidance; per the judging guidelines a missing 'when' caps completeness at 3. Score 4 requires an explicit 'when' clause, which is absent.

3 / 5

Trigger Term Quality

Relevant keywords like "Azure AI Voice Live", "voice AI", ".NET", and "WebSocket" are present, but common natural variations users would say ("voice assistant", "speech", "real-time audio") are missing. This matches 'some relevant keywords but missing common variations or synonyms' rather than anchor 4's good coverage.

3 / 5

Distinctiveness Conflict Risk

Naming a specific SDK, platform (.NET), and scenario (bidirectional real-time voice) makes it mostly distinct with only minor overlap risk against closely related skills (e.g., Azure Speech SDK). It lacks the fully distinct trigger phrasing of anchor 5, which would require explicit 'when' triggers.

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.