Dev & Engineering ✓ Microsoft · Official

Azure Content Understanding for Python

Extract structured multimodal content from documents, images, audio, and video with Python.

48/ 100
Use with care

Useful, but reliability, evidence or controls still have material gaps.

See how it was scored ↓
Works as-is in
Codex · Claude Code
Stars
★ 2.7k
Last updated
3mo ago
License
MIT
azure-sdkpythonmultimodal-analysisdocument-extraction
+3audio-transcriptionvideo-analysisrag

What does this skill do, and when should you use it?

This skill guides developers using the Azure AI Content Understanding SDK for Python. It covers multimodal analysis of documents, images, audio, and video, with outputs such as Markdown, transcripts, timing data, key frames, and custom fields. It explains synchronous and asynchronous clients, DefaultAzureCredential, long-running analysis, and analyzer management. It fits RAG and automated workflows, provided the application has an Azure Content Understanding endpoint and the required runtime setup.

It shows how to install azure-ai-contentunderstanding, configure CONTENTUNDERSTANDING_ENDPOINT, and call Azure AI Content Understanding through ContentUnderstandingClient. The examples use prebuilt analyzers to extract document Markdown, image content, audio transcripts, and video transcripts and key frames. It also demonstrates creating custom analyzers with field schemas, listing, retrieving, and deleting analyzers, and reading results from AnalyzeResult.contents or custom fields.

Good fit
  • A Python developer converting PDFs or Office documents to Markdown for a RAG pipeline.
  • An application team extracting searchable content from image files.
  • An automation developer producing audio transcripts with timing information.
  • A video workflow that needs transcripts and key frames from uploaded or hosted media.
  • A developer extracting invoice fields such as vendor name, total, and line items with a custom analyzer.

How do you install this skill?

Before you use it
  • Before using URL inputs, confirm authorization and whether sensitive data may be sent to Azure and processed in the selected region.
  • Do not copy the custom-analyzer examples verbatim; verify the current official SDK method, model types, and result-field access.
  • Add production handling for exceptions, timeouts, retries, empty results, input limits, cost, long-running cancellation, and cleanup.
  • Confirm that the target environment can reach the Azure endpoint; the skill does not address mainland-China network access, regional availability, or data residency.
Before you start
Your agent needs
  • Shell / CLI
  • Network access
Install first
  • Python
  • azure-ai-contentunderstanding
  • azure-identity

Run pip install azure-ai-contentunderstanding in a terminal. To install from the collection, run npx skills add microsoft/skills and select this skill in the wizard. Alternatively, copy .github/plugins/azure-sdk-python/skills/azure-ai-contentunderstanding-py into the target agent's skill directory; the exact directory depends on the agent.

Generic route: install into Claude Code manually (macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/microsoft/skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.github/plugins/azure-sdk-python/skills/azure-ai-contentunderstanding-py" ~/.claude/skills/
rm -rf "$tmp"

Generated from the source repository and skill path; it copies only this skill's folder. If the author's install steps above differ, follow those first. To scope it to one project, replace ~/.claude/skills with that project's .claude/skills.

How do you use this skill?

Try saying

Once installed, send your agent any of these to trigger it:

  • Use azure-ai-contentunderstanding to analyze this PDF URL and return the document Markdown.

Set CONTENTUNDERSTANDING_ENDPOINT=https://<resource>.cognitiveservices.azure.com/. Prompt a coding agent with a request such as: “Use azure-ai-contentunderstanding to analyze this PDF URL and return the document Markdown.” Production code should prefer DefaultAzureCredential, start analysis with begin_analyze(), and obtain results with poller.result(). For asynchronous workflows, use the aio client and credentials from azure.identity.aio.

What are this skill's strengths and limitations?

Pros
  • Covers documents, images, audio, and video in one Python SDK workflow.
  • Includes both prebuilt analyzers and custom field schemas.
  • Documents synchronous, asynchronous, and analyzer-management patterns.
  • Provides guidance on DefaultAzureCredential and deterministic client lifecycle management.
Limitations
  • Requires an Azure Content Understanding endpoint and network access to the Azure service.
  • Audio and video analysis can take minutes, so callers must handle long-running operations.
  • The source provides no independent test result, pricing information, or detailed permission matrix for this individual skill.
  • Examples focus on URL inputs and do not document a detailed local-file upload workflow.

How does this skill compare with similar options?

Side by side with related skills; every score comes from the same FSRS standard.

Skill FS score Stars Last updated License
Azure Content Understanding for Python this page ✓ Microsoft · Official 48 · Use with care ★ 2.7k 3mo ago MIT
Azure AI Transcription for Python ✓ Microsoft · Official 49 · Use with care ★ 2.7k 3mo ago MIT
Azure Short-Audio Speech-to-Text REST ✓ Microsoft · Official 49 · Use with care ★ 2.7k 3mo ago MIT
Azure Fabric Capacity Manager ✓ Microsoft · Official 46 · Use with care ★ 2.7k 3mo ago MIT
DeepTutor CLI Skill 57 · Use with care ★ 41k 18d ago Apache-2.0

How did FollowSkills review this skill?

FollowSkills review · FSRS-2.0
Use with care
48/ 100 5-point scale 2.4 / 5
1Trust15 / 25 · 3.0/5

The skill recommends DefaultAzureCredential, discourages keys, and documents the endpoint and credential environment variables, showing useful credential-security guidance. However, it sends documents, images, audio, and video to an external Azure service by URL without explaining data flows, sensitive-data handling, user confirmation, least-privilege permissions, result protection, or deletion/rollback procedures, so points are deducted.

2Reliability6 / 20 · 1.5/5

The core asynchronous workflow, sync/async lifecycle guidance, and long-running-operation warning are reasonably clear. However, the main document's dictionary-based create_analyzer example conflicts with the reference file's begin_create_analyzer/model-based example, and result access is inconsistently shown as result.fields versus content.fields. Exception handling, timeout/retry behavior, pagination, and empty-result handling are also missing. Static evidence is limited, so the score remains conservative.

3Adaptability8 / 15 · 2.7/5

Triggers, Python SDK audience, document/image/audio/video scenarios, and custom-analysis use cases are explicit, with both sync and async forms covered. It does not define service-region or network reachability, input constraints, privacy boundaries, or non-fit scenarios, and provides no Chinese-language usage guidance, so points are deducted.

4Convention9 / 15 · 3.0/5

The documentation includes installation, environment variables, authentication, workflow guidance, examples, best practices, and references, with MIT licensing, author metadata, and version 1.0.0. It lacks a changelog, explicit maintenance owner, and update path; its references also disagree with the main document on API names and model inheritance, preventing full marks.

5Effectiveness6 / 15 · 2.0/5

The prebuilt analyzers and end-to-end examples can support basic multimodal extraction, with directly useful markdown, transcripts, and key-frame outputs. However, the custom-analyzer examples contain conflicting APIs and result-field access, while error handling, input validation, cost/latency guidance, and alternatives are absent; generated implementations may still require substantial correction.

6Verifiability4 / 10 · 2.0/5

The files provide concrete code, package names, environment variables, and repository-level CI/test infrastructure, giving some auditability. They do not provide skill-specific tests, actual execution results, or independent third-party corroboration for the key paths, and internal API inconsistencies further limit confidence.

1 2 3 4 5 6

Open a dimension to read why it scored that way

Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a Review evidence[1][2][3][4][5][6][7][8][9][10][11][12]

Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.

See the full review method →

FAQ

Does this skill include the Azure service itself?
No. It provides SDK usage guidance; you still need an Azure Content Understanding resource endpoint and suitable credentials.
Do I have to use an API key or connection string?
No. The skill explicitly recommends DefaultAzureCredential and advises avoiding connection strings, account keys, and API keys.
What inputs and outputs are covered?
It covers documents, images, audio, and video. Examples produce Markdown, transcript phrases, timing data, video key frames, and custom extracted fields.

More skills from this repository

All from microsoft/agent-skills

Dev & Engineering ✓ Microsoft · Official

Azure AI Transcription for Python

Guides Python applications through Azure AI real-time and batch speech-to-text transcription.

★ 2.7k FS 49 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Short-Audio Speech-to-Text REST

Transcribe audio up to 60 seconds with Python HTTP requests.

★ 2.7k FS 49 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Fabric Capacity Manager

Manage Microsoft Fabric capacities and their lifecycle with the Azure Python SDK.

★ 2.7k FS 46 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Document Intelligence for TypeScript

Extract document text, tables, and structured fields in TypeScript applications.

★ 2.7k FS 50 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Document Intelligence for .NET

Guides .NET developers in extracting structured data from invoices, receipts, IDs, and forms.

★ 2.7k FS 45 Not recommended 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure AI Text Analytics for Python

Guides Python developers through Azure-powered text analysis and NLP workflows.

★ 2.7k FS 56 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

MCP Server Development Guide

A practical guide to building clear, testable MCP servers that let LLMs work with external APIs.

★ 2.7k FS 49 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure AI Anomaly Detector for Java

A practical Java skill for building univariate and multivariate time-series anomaly detection with Azure AI Anomaly Detector.

★ 2.7k FS 47 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure OpenAI for .NET

Gives coding agents practical .NET patterns for Azure OpenAI integrations.

★ 2.7k FS 47 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB for Rust

A practical guide to building Rust applications with the official Azure Cosmos DB NoSQL client.

★ 2.7k FS 44 Not recommended 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Identity for TypeScript

Configure secure, flexible Microsoft Entra ID authentication for TypeScript Azure applications.

★ 2.7k FS 57 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Playwright Workspace Manager

Provision and manage Microsoft Playwright Testing workspaces with .NET and Azure Resource Manager.

★ 2.7k FS 54 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for Rust

Guides Rust developers through official Azure SDK patterns for managing blobs and containers.

★ 2.7k FS 53 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Data Lake Gen2 for Python

Guides Python developers through hierarchical file-system and large-file operations on Azure Data Lake Storage Gen2.

★ 2.7k FS 53 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for TypeScript

A practical guide for uploading, downloading, and managing Azure Blob Storage from TypeScript and JavaScript applications.

★ 2.7k FS 51 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Identity for .NET

Guides .NET applications in authenticating Azure SDK clients with Microsoft Entra ID.

★ 2.7k FS 50 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure AI Search for TypeScript

Build TypeScript search apps with vector, hybrid, and semantic retrieval patterns.

★ 2.7k FS 50 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure AI Projects for TypeScript

Practical TypeScript guidance for building Azure AI Foundry applications with project clients, agents, tools, and evaluations.

★ 2.7k FS 49 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Event Hubs for Rust

A practical guide to sending, batching, and consuming Azure Event Hubs data with the official Rust SDK.

★ 2.7k FS 49 Use with care 3mo ago
Dev & Engineering ✓ Microsoft · Official

Azure Monitor OpenTelemetry Exporter

Build a controlled Python OpenTelemetry pipeline that exports traces, metrics, and logs to Application Insights.

★ 2.7k FS 49 Use with care 3mo ago

Related skills