CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-ai-vision

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

Quality

69%

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

Quality

Content

67%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 largely actionable, command-first guide with a genuinely well-handled connection state machine and polling loop. Its main weaknesses are a padded introductory paragraph that re-explains a well-known service, an empty Description column in the actions table, and a dangling "Step 2" reference to a section that is never labeled. Tightening the intro, numbering the steps consistently, and filling or removing the empty column would move it firmly into the top band.

Suggestions

Delete or compress the opening paragraph describing what Azure AI Vision is and where it's used — Claude already knows this service — and keep only the official docs link.

Label the workflow steps explicitly (Step 1: connect, Step 2: find actions, Step 3: run) so the existing "skip to Step 2" references resolve, and add a quick check of the action output/`output` field before acting on it.

Fill the empty Description column in the Popular actions table (e.g. what analyze-image vs get-dense-captions returns) or drop the column, and show one complete `membrane action run` example with real `--input` JSON for a common case like analyze-image.

DimensionReasoningScore

Conciseness

The opening paragraph ("Azure AI Vision is a cloud-based API for analyzing images and videos... It's used across industries for tasks like image recognition, content moderation, and accessibility") explains a service Claude already knows, and the Popular actions table has an entirely empty Description column wasting tokens. The rest is mostly command-based and tight, so this sits at anchor 3 (mostly efficient with some unnecessary explanation) rather than 2 (noticeably verbose throughout).

3 / 5

Actionability

Concrete, executable commands appear throughout: `npm install -g @membranehq/cli@latest`, `membrane login`, `membrane connection ensure "https://..." --json`, `membrane action list ... --intent "QUERY"`, and the proxy flag table. It is not a 5 because the actions table lists keys while the run command expects an actionId (the mapping is only implied), and no worked example with real parameter JSON is shown for a common case like analyze-image.

4 / 5

Workflow Clarity

The flow (install → login → connection ensure → poll state → search actions → run → proxy fallback) has a genuine feedback loop: the BUILDING/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR state machine with re-polling instructions. It falls short of 5 because "skip to Step 2" is referenced twice but no section is ever labeled Step 2, and there is no checkpoint for verifying an action's output before relying on it.

4 / 5

Progressive Disclosure

The single-file body (~150 lines) is organized into clear headed sections (Install, Authentication, Connecting, Searching, Running, Proxy, Best practices) with no bundle files or nested references to get lost in. It is not a 5 because content that would suit a reference file (the proxy flags table, the connection-state reference, the actions catalog) is inlined in the always-loaded SKILL.md, and stray formatting (empty table column, doubled blank lines) slightly hurts navigation.

4 / 5

Total

15

/

20

Passed

Description

57%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 domain and includes an explicit 'Use when' clause, but the capability statement is generic integration boilerplate that could describe almost any SaaS connector. It omits the actual Azure AI Vision capabilities (image analysis, OCR, tagging, captions) and natural trigger synonyms users would say. Rewriting the middle sentence around concrete vision actions would lift both specificity and trigger quality.

Suggestions

Replace "Manage data, records, and automate workflows" with the skill's actual capabilities, e.g. "Analyze images, tag objects and people, generate captions, and extract text via OCR using the Azure AI Vision API".

Expand the trigger clause with natural user phrasings: "Use when the user wants to analyze images, extract text from photos (OCR), generate image captions or tags, or mentions Azure AI Vision / computer vision".

Drop the vague "interact with Azure AI Vision data" phrasing, which neither describes a capability nor matches a phrase a user would naturally say.

DimensionReasoningScore

Specificity

The description names the domain ("Azure AI Vision integration") but the actions are generic boilerplate — "Manage data, records, and automate workflows" — with no concrete Azure AI Vision capabilities (image analysis, OCR, tagging, object detection). It fits anchor 2 ('names the domain but actions are minimal or generic') better than 3, which requires 1-2 domain-specific concrete actions.

2 / 5

Completeness

Both parts are present: a what ("Azure AI Vision integration. Manage data, records, and automate workflows") and an explicit when ("Use when the user wants to interact with Azure AI Vision data"). It is not a 5 because the 'what' is vague and the 'when' uses only one abstract trigger phrase with no concrete trigger variations.

4 / 5

Trigger Term Quality

The only keyword is the product name "Azure AI Vision"; users asking to "analyze an image", "extract text from a photo", or "tag images" would not naturally say it. This matches anchor 3 (some relevant keywords but missing common variations or synonyms like OCR, computer vision, image analysis) rather than 4, since nearly all natural phrasings are absent.

3 / 5

Distinctiveness Conflict Risk

The Azure AI Vision product name carves out a clear niche and the trigger is anchored to it, so conflict risk is low. It stays at 4 rather than 5 because "Manage data, records, and automate workflows" is generic enough to overlap with other integration/data skills, and vision-adjacent Azure services (e.g. Document Intelligence for OCR) could compete.

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

membranedev/application-skills

Path

skills/azure-ai-vision/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.