CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-ai-voicelive-dotnet

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

Quality

73%

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

71%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 well-organized, code-heavy skill body that is efficient and immediately actionable for the common session/event/function-calling flow. The main gaps are the absent inbound-audio example, missing explicit validation checkpoints in the workflow, and a fully monolithic structure where API-reference tables belong in separate reference files.

Suggestions

Split the "Key Types Reference" and "Supported Models" tables into a references/ file (e.g., REFERENCES.md) and link them from the body to enable progressive disclosure.

Add a concrete microphone-capture-to-SendAudioAsync example (NAudio WaveInEvent → session.SendAudioAsync) so the bidirectional audio loop is fully executable.

Delete the content-free "When to Use" and boilerplate "Limitations" sections and instead add one explicit validation checkpoint in the workflow (e.g., verify session configuration succeeded before sending audio).

DimensionReasoningScore

Conciseness

The body is dense and code-first with almost no explanation of concepts Claude already knows (no WebSocket primer, no NAudio tutorial); nearly every line is install commands, executable C#, or reference tables. Minor trimmable padding exists: the boilerplate "When to Use" section ("This skill is applicable to execute the workflow or actions described in the overview.") and generic "Limitations" section add no information, keeping it below the lean/every-token-earns-its-place anchor of 5.

4 / 5

Actionability

Most guidance is executable, copy-paste-ready C#: auth setup, session configuration, the GetUpdatesAsync event loop, function calling with argument validation, and error handling. It falls short of fully-executable because the inbound audio path is never shown ("SendAudioAsync" appears only in a hierarchy diagram and "// Play audio via NAudio or other audio library" is a comment, not code), and the function-call handler snippet references `serverEvent` outside its event-loop context.

4 / 5

Workflow Clarity

The "Core Workflow" is a clearly numbered sequence (Start Session and Configure → Process Events → Send User Message → Function Calling) with error checkpoints baked into the event loop (SessionUpdateError cases and a benign-error branch). It is not a destructive/batch operation so no hard cap applies, but there is no explicit validation checkpoint (e.g., confirm session configured before streaming audio), which keeps it below the explicit-validate/feedback-loop anchor of 5.

4 / 5

Progressive Disclosure

This is a 275-line single-file skill with no bundle files and no pointers to any external material: the 14-row "Key Types Reference", "Supported Models", and "Reference Links" tables are reference content inlined in SKILL.md that would naturally live in a references/ file. Structure is decent (clear section headers throughout), but content that should be separate is inline with no one-level-deep references, matching the anchor for 'some structure but could be better organized' rather than the good-split anchor of 4.

3 / 5

Total

15

/

20

Passed

Description

65%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 on-target and distinctive, naming the exact SDK and language with a clear 'what'. Its main weakness is the complete absence of a 'when to use' clause, which caps completeness, and thin coverage of concrete capabilities beyond 'build real-time voice AI applications'.

Suggestions

Add an explicit trigger clause, e.g. "Use when building .NET voice assistants, speech bots, or real-time audio chat with Azure AI."

Mention 1-2 more concrete capabilities (e.g., configure sessions, stream audio in/out, handle tool/function calls) to strengthen specificity.

Include natural synonyms such as "voice assistant", "speech-to-speech", or "realtime audio" to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

The description names the domain ("Azure AI Voice Live SDK for .NET") and 1-2 concrete actions ("Build real-time voice AI applications with bidirectional WebSocket communication"), but does not enumerate several specific actions like configuring sessions, streaming audio, or handling function calls. It fits the 'names domain and 1-2 concrete actions, but not comprehensive' anchor; a 4 would require several specific actions listed.

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 explicit trigger guidance anywhere in the description, which caps completeness at 3 per the judging guidelines. A 4 would require an explicit 'when' clause even if only moderately specific.

3 / 5

Trigger Term Quality

Terms like "Azure AI Voice Live SDK", ".NET", "real-time voice AI", and "WebSocket" are natural phrases a user would say when needing this skill, giving good keyword coverage. A few natural terms/synonyms are missing (e.g., "voice assistant", "speech", "realtime audio"), which keeps it below the comprehensive-synonyms anchor of 5.

4 / 5

Distinctiveness Conflict Risk

"Azure AI Voice Live SDK for .NET" carves out a clear niche with distinct triggers (specific Azure SDK, specific language, specific modality); virtually no other skill would overlap with these terms. This matches the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

15

/

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

Path

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