CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-speech-to-text-rest-py

Azure Speech to Text REST API for short audio (Python). Use for simple speech recognition of audio files up to 60 seconds without the Speech SDK.

60

Quality

71%

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-speech-to-text-rest-py/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%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 skill excels at actionability with fully executable, well-structured Python code covering multiple use cases. However, it is far too verbose for a SKILL.md — it reads more like comprehensive API documentation than a concise skill file. The content would benefit significantly from splitting advanced patterns (async, chunked, auth options) into separate reference files and trimming the main file to Quick Start + essential parameters + error handling summary.

Suggestions

Move the Async Version, Chunked Transfer, Authentication Options, and detailed Response Formats sections into separate reference files (e.g., references/advanced-patterns.md) and link to them from the main skill.

Remove the Supported Languages table entirely — Claude can look this up or the user can be directed to the Microsoft docs link already provided.

Consolidate the three near-identical transcription functions (basic, chunked, error handling) into a single robust example that includes error handling, reducing repetitive URL/header/key setup code.

Remove the 'Best Practices' and 'When NOT to Use' sections or compress them into 2-3 bullet points — most of these are either obvious or already implied by the code examples.

DimensionReasoningScore

Conciseness

The skill is significantly verbose at ~250+ lines. It includes multiple redundant code examples (basic, chunked, error handling, async) that repeat the same URL construction, headers, and setup. The language table, profanity handling examples, and authentication options add bulk that Claude could derive from the Quick Start example. Many sections explain things Claude already knows (what WAV/OGG formats are, how to use aiohttp).

2 / 5

Actionability

All code examples are fully executable, copy-paste ready Python with proper imports, environment variable usage, and complete function signatures. The Quick Start alone is sufficient to accomplish the task, and additional examples cover chunked transfer, async, error handling, and authentication alternatives with concrete, runnable code.

5 / 5

Workflow Clarity

This is essentially a single-task skill (make an HTTP request to transcribe audio), so complex workflow sequencing isn't strictly needed. The error handling section provides good status-code-specific guidance and checks RecognitionStatus. However, there's no explicit validation step for verifying audio format/duration before sending, which would be a useful checkpoint given the 60-second limit.

4 / 5

Progressive Disclosure

The content is a monolithic wall with everything inlined. The reference to 'references/pronunciation-assessment.md' suggests awareness of file splitting, but the bulk content (async version, chunked transfer, error handling, auth options, language tables) should be in separate reference files. The skill would benefit greatly from a concise overview pointing to detailed files for advanced patterns.

2 / 5

Total

13

/

20

Passed

Description

82%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.

This is a well-crafted description that clearly defines its niche within the speech-to-text domain. It excels at completeness and distinctiveness by specifying precise constraints (REST API vs SDK, 60-second limit, Python). It could be improved by listing more concrete actions and including additional trigger synonyms like 'transcribe' or common audio file extensions.

Suggestions

Add trigger synonyms like 'transcribe', 'transcription', 'STT', 'voice to text', and file extensions like '.wav' to improve discoverability.

List additional concrete actions such as 'transcribe audio to text', 'recognize spoken language', or 'convert speech in .wav/.mp3 files' to improve specificity.

DimensionReasoningScore

Specificity

Names the domain (Azure Speech to Text REST API) and one concrete action (speech recognition of audio files), but doesn't list multiple specific actions like transcription output formats, language detection, or error handling.

3 / 5

Completeness

Clearly answers both 'what' (Azure Speech to Text REST API for short audio in Python) and 'when' ('Use for simple speech recognition of audio files up to 60 seconds without the Speech SDK'), with explicit trigger conditions including the constraint of no SDK and the 60-second limit.

5 / 5

Trigger Term Quality

Includes good natural keywords: 'Speech to Text', 'REST API', 'audio files', 'speech recognition', 'Python'. Missing some synonyms like 'transcribe', 'transcription', 'STT', 'voice to text', or audio file extensions like '.wav', '.mp3'.

4 / 5

Distinctiveness Conflict Risk

Highly distinctive with clear niche: specifically Azure (not Google/AWS), REST API (not SDK), short audio up to 60 seconds, Python. The constraints 'without the Speech SDK' and '60 seconds' sharply distinguish it from related speech recognition skills.

5 / 5

Total

17

/

20

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.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

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.