Azure AI Voice Live SDK for .NET. Build real-time voice AI applications with bidirectional WebSocket communication.
48
52%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/azure-ai-voicelive-dotnet/SKILL.mdQuality
Discovery
40%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 clear and distinctive technology niche (Azure AI Voice Live SDK for .NET) which minimizes conflict risk, but it reads more like a tagline than a functional skill description. It lacks specific concrete actions the skill enables and entirely omits a 'Use when...' clause, making it difficult for Claude to know when to select this skill from a large pool.
Suggestions
Add a 'Use when...' clause with explicit triggers, e.g., 'Use when the user asks about building voice AI apps with Azure, real-time audio streaming in .NET, or bidirectional speech communication via WebSocket.'
List multiple concrete actions the skill covers, such as 'Configure WebSocket connections, stream audio input/output, handle speech recognition events, manage conversation sessions, integrate Azure Cognitive Services voice APIs.'
Include natural user-facing trigger terms like 'speech-to-text', 'text-to-speech', 'voice assistant', 'audio streaming', 'conversational AI', and 'Azure Cognitive Services'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Azure AI Voice Live SDK, .NET) and 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 responses'. | 2 / 3 |
Completeness | Describes what the skill is about at a high level but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also fairly thin, warranting a 1. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Azure AI', 'Voice', '.NET', 'WebSocket', and 'real-time', but misses common user variations such as 'speech-to-text', 'text-to-speech', 'audio streaming', 'voice assistant', or 'conversational AI'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of 'Azure AI Voice Live SDK', '.NET', and 'bidirectional WebSocket communication' creates a very specific niche that is unlikely to conflict with other skills. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
64%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 SDK reference skill with excellent actionability — the code examples are complete, executable, and cover the key use cases well. The main weaknesses are the lack of validation/error recovery steps in the workflow (important for WebSocket-based real-time communication) and the monolithic structure that could benefit from splitting reference material into separate files. Some minor verbosity exists in boilerplate sections and obvious best practices.
Suggestions
Add explicit validation checkpoints to the workflow: verify session connection succeeded before configuring, check configuration acknowledgment before sending audio/messages, and include a reconnection strategy for WebSocket failures.
Split reference tables (Key Types, Voice Options, Supported Models, Related SDKs) into a separate REFERENCE.md file to reduce the main skill's token footprint.
Remove the generic 'When to Use' and 'Limitations' boilerplate sections — they add no SDK-specific value and waste tokens.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with good code examples, but includes some unnecessary sections like 'When to Use' and 'Limitations' which are generic boilerplate, the 'Related SDKs' table repeats installation info, and the Reference Links table could be trimmed. The Best Practices section contains some obvious advice Claude would already know (e.g., 'Never hardcode API keys'). | 2 / 3 |
Actionability | The skill provides fully executable, copy-paste ready C# code for all key operations: authentication, session setup, event processing, function calling, and error handling. Code examples are complete with proper imports and realistic patterns. | 3 / 3 |
Workflow Clarity | The core workflow is clearly numbered (1-4) with a logical sequence from session creation through event processing and function calling. However, there are no explicit validation checkpoints — no guidance on verifying the session connected successfully, no error recovery flow if configuration fails, and no feedback loop for WebSocket connection issues in this real-time communication context. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear headers and tables, but it's a monolithic document (~250 lines) with no bundle files. The reference tables, voice options, supported models, and detailed function calling examples could be split into separate reference files. For a skill of this complexity, the single-file approach makes it harder to navigate. | 2 / 3 |
Total | 9 / 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.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
76aea27
Table of Contents
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.