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.

77

2.88x
Quality

72%

Does it follow best practices?

Impact

98%

2.88x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-ai-voicelive-dotnet/SKILL.md

The canonical home for this skill is azure-ai-voicelive-dotnet in sickn33/agentic-awesome-skills

SKILL.md
Quality
Evals
Security

Quality

Content

78%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: fully executable examples cover the complete workflow from installation through function calling, with clear sequencing and error handling. Its main weaknesses are minor token waste (boilerplate 'When to Use' section, duplicated type listing) and zero use of bundle files — the API/type reference material should be split into a references/ file rather than inlined.

Suggestions

Split the 'Key Types Reference' and 'Related SDKs' tables into a references/ file (e.g. references/types.md) and link to it, keeping SKILL.md as a lean overview.

Delete or replace the boilerplate 'When to Use' section — 'This skill is applicable to execute the workflow or actions described in the overview.' conveys no actionable information.

Move version numbers ('Stable v1.0.0, Preview v1.1.0-beta.1') into a versioning/deprecation note or the external reference links so they don't go stale inline, and add an explicit reconnect/retry step for dropped WebSocket sessions to close the workflow validation gap.

DimensionReasoningScore

Conciseness

The body is dominated by executable code and dense tables with no padding or explanations of concepts Claude already knows — no 'what is WebSocket' or 'how .NET works' filler. Minor trims exist: the 'When to Use' section ('This skill is applicable to execute the workflow or actions described in the overview.') is boilerplate that adds nothing, the 'Key Types Reference' table partially duplicates the Client Hierarchy diagram, and bare version numbers ('Stable v1.0.0, Preview v1.1.0-beta.1') are time-sensitive without a deprecation section. This fits anchor 4 ('Efficient; minor instances of over-explanation that could be trimmed') rather than anchor 5's every-token-earns-its-place.

4 / 5

Actionability

Every section is copy-paste ready: exact dotnet install commands, both auth patterns with complete constructor calls, a full session-configure-and-start block, a typed event-processing loop, and an end-to-end function-calling example including the tool definition, argument deserialization, and FunctionCallOutputItem round-trip. This matches anchor 5 ('Fully executable; copy-paste ready code or commands; specific examples cover the common cases').

5 / 5

Workflow Clarity

The Core Workflow is explicitly numbered 1-4 (start/configure session → process events → send message → function calling) with a dedicated Error Handling section covering SessionUpdateError and a known-benign case. It fits anchor 4 ('Clear sequence with most checkpoints present; minor validation gaps'): error events are detected and logged, but there are no explicit recovery/retry loops (e.g., reconnect on session drop) and no guidance on verifying audio output. Not a destructive/batch operation, so no cap applies.

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are all absent), so everything lives inline in a ~260-line file. Section headers are clear and the Reference Links point to external docs, but inline blocks like the 'Key Types Reference' table and 'Related SDKs' are reference material that belongs in a separate file — matching anchor 3's example ('200 lines of API reference that could be in a separate file' with some structure). It is not anchor 2 because the structure and navigation within the file are good, and not anchor 4 because no content is actually split out.

3 / 5

Total

16

/

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 about the domain and technology but reads like a package summary rather than a skill trigger: it answers 'what' clearly yet entirely lacks 'when to use' guidance and natural trigger phrasing. Adding a 'Use when...' clause with user-natural terms would lift the completeness and trigger-term dimensions substantially.

Suggestions

Add an explicit trigger clause, e.g. 'Use when building voice assistants, real-time speech-to-speech apps, or WebSocket voice bots with Azure AI in .NET.'

Include natural synonyms users would actually say — 'voice assistant', 'speech', 'audio streaming', 'Azure.AI.VoiceLive' — to improve trigger matching.

Enumerate a few more concrete capabilities (session configuration, audio streaming, VAD turn detection, function calling) to raise specificity from one action to several.

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"), but stops there — no mention of session management, audio streaming, function calling, or turn detection. This matches the anchor 'Names domain and 1-2 concrete actions, but not comprehensive' and is clearly below anchor 4 ('several specific actions; minor gaps').

3 / 5

Completeness

The 'what' is present and clear ("Build real-time voice AI applications with bidirectional WebSocket communication"), but there is no 'Use when...' clause or equivalent trigger guidance anywhere. Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3, exactly matching the anchor 'Has a clear what but when is missing'.

3 / 5

Trigger Term Quality

Relevant keywords exist ("Azure", "Voice Live", "real-time voice AI", "WebSocket", ".NET") but common natural variations are missing — no "voice assistant", "speech", "audio streaming", or package/extension terms. Anchor 3 ('Some relevant keywords but missing common variations or synonyms') fits best; it exceeds anchor 2's generic-only bar but lacks anchor 4's 'good keyword coverage'.

3 / 5

Distinctiveness Conflict Risk

Naming a specific SDK ("Azure AI Voice Live SDK for .NET") carves a clear niche with minimal conflict risk against unrelated skills. It falls just short of anchor 5 because phrases like "real-time voice AI applications" could also match closely related Azure speech/voice skills (e.g., Microsoft.CognitiveServices.Speech), and no explicit trigger phrasing further disambiguates — fitting anchor 4's 'minor overlap risk with closely related skills'.

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
administrakt0r/AI-Agents-Safe-Coding-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.