Azure AI Content Understanding SDK for Python. Use for multimodal content extraction from documents, images, audio, and video.
72
57%
Does it follow best practices?
Impact
100%
11.11xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/antigravity-azure-ai-contentunderstanding-py/SKILL.mdQuality
Discovery
50%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 identifies a specific SDK and its general purpose but lacks concrete action details and robust trigger terms. The 'Use for' clause partially addresses when to use the skill but reads more like a capability restatement than explicit trigger guidance. Adding specific actions and more natural user-facing keywords would significantly improve skill selection accuracy.
Suggestions
List specific concrete actions such as 'extract text from documents, transcribe audio, analyze video content, perform OCR on images' to improve specificity.
Expand trigger terms to include natural user phrases and variations like 'OCR', 'transcription', 'analyze media files', 'Azure Content Understanding', and relevant file extensions (.pdf, .mp4, .wav, .png).
Rewrite the 'Use for' clause into a more explicit 'Use when...' clause, e.g., 'Use when the user needs to extract or analyze content from multimodal sources using Azure AI, or mentions Azure Content Understanding.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Azure AI Content Understanding SDK) and a general action ('multimodal content extraction'), but does not list multiple specific concrete actions like 'extract text', 'transcribe audio', 'analyze video frames', etc. | 2 / 3 |
Completeness | Has a 'what' (Azure AI Content Understanding SDK for multimodal content extraction) and a partial 'when' ('Use for multimodal content extraction from documents, images, audio, and video'), but the 'when' clause is essentially restating the 'what' rather than providing explicit trigger guidance about when Claude should select this skill. | 2 / 3 |
Trigger Term Quality | Includes some relevant keywords like 'Azure AI', 'content extraction', 'documents', 'images', 'audio', 'video', but misses common user variations like 'OCR', 'transcription', 'analyze media', 'Azure Content Understanding', or file extensions. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Azure AI Content Understanding SDK' is fairly specific and distinctive, but 'content extraction from documents, images, audio, and video' is broad enough to potentially overlap with other document processing, OCR, or media analysis skills. | 2 / 3 |
Total | 8 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid API reference skill with excellent actionability — every operation has complete, executable code examples with correct imports. The main weaknesses are moderate verbosity (repeated auth blocks, redundant explanations), lack of error handling/validation guidance for long-running operations, and all content being inline rather than appropriately split across files for a skill of this length.
Suggestions
Remove the duplicated authentication/client setup code from the 'Analyze Document' section since it's already shown in the 'Authentication' section — just reference the existing client variable.
Add error handling guidance for long-running operations: timeout configuration, exception types to catch, and retry patterns for failed analyses.
Remove the vacuous 'When to Use' section and trim best practices to only non-obvious guidance.
Consider splitting custom analyzer creation and async client usage into referenced files to reduce the main skill's token footprint.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with good code examples, but has some redundancy — the authentication block is repeated in the 'Analyze Document' section, the 'When to Use' section is vacuous, and some best practices state obvious things Claude would already know (e.g., 'this is the correct method signature'). The content could be tightened by ~20-30%. | 2 / 3 |
Actionability | The skill provides fully executable, copy-paste ready code examples for every major operation: document analysis, image analysis, video analysis, audio analysis, custom analyzers, analyzer management, and async usage. Import paths and model classes are explicitly specified. | 3 / 3 |
Workflow Clarity | The core workflow is listed as a 3-step process (begin, poll, process) which is clear, but there are no validation checkpoints or error handling guidance. For a long-running async operation that can fail (especially with video/audio taking minutes), there's no mention of error recovery, timeout handling, or what to do when polling fails. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear section headers and a logical progression from simple to complex, but it's a long monolithic file (~180 lines of content) with no references to external files. The custom analyzers section and async client section could be split out, and the detailed video/audio examples could be referenced rather than inline. | 2 / 3 |
Total | 9 / 12 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.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
f1697b6
Table of Contents
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.