CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

79%

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

77%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 highly actionable with complete, executable code and clear sequencing for a simple single-task skill. Weaknesses are repetition of the request boilerplate across four near-identical code blocks, a dangling reference to a nonexistent references/pronunciation-assessment.md, and a filler 'When to Use' section that adds no information.

Suggestions

Factor the shared setup (region/key env vars, URL, base headers) into one snippet and show only the deltas in the Chunked, Error Handling, and Async sections to remove the near-verbatim repetition.

Create the referenced references/pronunciation-assessment.md file or remove the 'Reference Files' table, since the pointer is currently broken; consider also moving the response-format examples and the supported-languages table into reference files to shrink the ~370-line body.

Delete the generic 'When to Use' section ('This skill is applicable to execute the workflow or actions described in the overview.'), which is meaningless filler; either replace it with concrete applicability guidance or drop it entirely.

DimensionReasoningScore

Conciseness

The core request setup (env vars, URL, headers) is repeated nearly verbatim across the Quick Start, Chunked, Error Handling, and Async sections, and 'Content-Type Headers'/'Authentication Options' partially restate earlier content, so it fits 'mostly efficient but could be tightened'. It is above anchor 2 because the duplication serves distinct variants rather than pure padding, and it wastes little effort explaining concepts Claude already knows.

3 / 5

Actionability

Fully executable, copy-paste-ready code covering the common cases (basic, chunked streaming, bearer-token auth, per-status error handling, async), plus concrete parameter, status, and language tables. This matches the 'fully executable; covers common cases' anchor better than anchor 4, which allows missing key details.

5 / 5

Workflow Clarity

As a simple single-task skill, the single action is unambiguous: prerequisites are sequenced (subscription, resource, credentials), followed by env vars, install, and quick start, with an explicit error-handling example branching on status codes. No destructive or batch operations exist that would require validation checkpoints, so the simple-skill exception applies.

5 / 5

Progressive Disclosure

Section structure is navigable and the reference is clearly signaled in a table, but the sole referenced file (references/pronunciation-assessment.md) does not exist in the bundle, making it a broken pointer, and ~370 lines of response formats, auth variants, and language tables are inlined rather than split out. This fits anchor 3's 'some structure but could be better organized'; it is above anchor 2 because references are not buried and headers make the body easy to navigate.

3 / 5

Total

16

/

20

Passed

Description

73%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 strong: it names a distinct niche, includes an explicit 'Use for' trigger clause with concrete scope limits (60 seconds, no SDK), and uses third-person voice. Its main gaps are limited action specificity and missing natural synonyms like 'transcribe'/'transcription'.

DimensionReasoningScore

Specificity

Names the domain and 1-2 concrete actions ('speech recognition of audio files up to 60 seconds', 'without the Speech SDK'), matching the 'names domain and 1-2 concrete actions' anchor. It does not list several distinct actions, so it falls below anchor 4, but is well above anchor 2's generic-minimal actions.

3 / 5

Completeness

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') are present, and the explicit 'Use for' clause avoids the completeness cap. It falls short of anchor 5 because the trigger phrase is narrow and lacks concrete user phrasing variations such as 'transcribe' or 'transcription'.

4 / 5

Trigger Term Quality

Good natural keyword coverage ('Azure', 'Speech to Text', 'audio files', 'speech recognition', 'Python', 'SDK'), so it fits anchor 4 rather than 3 where common variations are missing. It is not anchor 5 because natural synonyms like 'transcribe', 'transcription', or 'STT' are absent.

4 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers (Azure, short audio, REST-not-SDK) and explicit differentiation from the Speech SDK, giving minimal conflict risk per anchor 5. It clearly fits this anchor better than anchor 4's 'minor overlap risk with closely related skills'.

5 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/azure-speech-to-text-rest-py/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.