CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-speech-service

Azure Speech Service integration. Manage data, records, and automate workflows. Use when the user wants to interact with Azure Speech Service data.

Quality

62%

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-service/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 delivers strongly on executable guidance — real Membrane CLI commands with JSON flags, headless auth handling, and a well-documented proxy fallback — and the connection lifecycle is handled with unusually clear state-by-state instructions. Its weaknesses are token padding (the 50-operation catalog and an empty table column), no validation guidance for the destructive actions it exposes, and no use of reference files to move the API catalog out of context.

Suggestions

Add a validation step before destructive actions (e.g., run get/list to confirm the target resource, or a dry-run check, before delete-transcription/delete-project), which would also lift the workflow-clarity cap.

Move the ~50-line operation tree and Popular actions table into a references/ file (e.g. references/actions.md) and keep a short curated list in SKILL.md, trimming the empty Description column.

Delete the intro paragraph explaining what Azure Speech Service is and the filler line "Use action names and parameters as needed." — Claude already knows the service, and these tokens buy nothing.

DimensionReasoningScore

Conciseness

Mostly efficient — the body is dominated by concrete commands — but there is measurable padding: an intro paragraph explaining what Azure Speech Service is ("provides speech-to-text and text-to-speech capabilities using cloud-based AI"), a ~50-line nested CRUD operation tree followed by the filler line "Use action names and parameters as needed.", and a Popular actions table with an entirely empty Description column. Fits anchor 3 (some unnecessary explanation, could be tightened) rather than 4 given the volume of that padding.

3 / 5

Actionability

Concrete, copy-paste-ready CLI commands throughout: install, login (including the headless authorization-URL flow), `membrane connection ensure`, polling with `--wait`, `action list --intent`, `action run --input`, and a proxy flags table. Fits anchor 4 (mostly executable, minor gaps) rather than 5 because `<actionId>`/`CONNECTION_ID` placeholders are never shown resolved in a full end-to-end example using a real action key.

4 / 5

Workflow Clarity

The install→login→connect→wait→search→run sequence is present with good state-handling checkpoints (READY / BUILDING / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR, each with next steps), but the skill exposes destructive and batch operations (Delete Transcription, Delete Project, Delete File, etc.) with zero validation or verification guidance, and the instruction "skip to **Step 2**" references a step label that does not exist. Per the rubric's destructive/batch cap, workflow clarity cannot exceed 3.

3 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent), so all content is inline in a single ~200-line file. Section organization is decent, but the operation-tree catalog and Popular actions table — roughly half the body — are exactly the content that belongs in a separate reference file. Fits anchor 3 (some structure, content that should be separate is inline) rather than 4 because of that substantial inline bulk.

3 / 5

Total

13

/

20

Passed

Description

50%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 correctly names the target service and includes an explicit Use-when clause, but its capability statement is template boilerplate that could describe any data integration, and it omits every natural speech-related trigger term. It would rarely fire for a user asking to transcribe audio unless they happened to name the product.

Suggestions

Replace "Manage data, records, and automate workflows" with the skill's actual capabilities, e.g. "Create and manage transcriptions, custom speech models, endpoints, evaluations, projects, and webhooks."

Add natural trigger terms to the Use-when clause: "Use when the user wants speech-to-text, transcription, or text-to-speech work on Azure, or mentions Azure Speech Service."

Mention concrete artifacts users would name — audio transcription, custom speech models, deployment endpoints — to sharpen distinctiveness against generic data-integration skills.

DimensionReasoningScore

Specificity

Names the domain ("Azure Speech Service") but the actions are pure boilerplate — "Manage data, records, and automate workflows" says nothing about transcription, speech synthesis, or any concrete speech capability. It matches anchor 2 (domain named, actions generic) rather than 3, since "manage data" is not a concrete action.

2 / 5

Completeness

Both "what" and "when" are explicitly present, and the "Use when the user wants to interact with Azure Speech Service data" clause is explicit though generic — matching anchor 4 (both present, when could be more specific). Not 5 because no concrete trigger phrases are given; not 3 because the Use-when clause is explicit rather than implied.

4 / 5

Trigger Term Quality

Only the product name serves as a trigger; every natural phrase a user would actually say — "transcribe", "speech-to-text", "text-to-speech", "voice", "TTS" — is missing. Fits anchor 2 (one or two generic keywords, natural phrases absent) rather than 3, as there are no relevant task keywords beyond the product name.

2 / 5

Distinctiveness Conflict Risk

The product name carves a clear niche with minimal conflict risk against unrelated skills, matching anchor 4. Not 5 because the generic middle clause ("Manage data, records, and automate workflows") is identical boilerplate across integration skills and creates overlap risk with sibling Azure/connector skills.

4 / 5

Total

12

/

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

membranedev/application-skills

Path

skills/azure-speech-service/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.