Azure Container Registry for Python
Manage Azure container images, artifacts, and repositories from Python.
The skill prefers DefaultAzureCredential, recommends constraining the production credential chain, and discourages connection strings and keys; the endpoint and authentication flow are reasonably visible. Points are deducted because repository, manifest, tag, and cleanup deletion examples lack user confirmation, backup, or rollback guidance, while downloading a blob writes locally without sensitive-data, permission, or dependency-security guidance.
Sync and async lifecycle handling, credential cleanup, and major repository/tag/manifest operations are presented with generally consistent patterns. Points are deducted for an undefined endpoint in examples and limited handling of permission errors, pagination, retries, network failures, and invalid input; the references call for API and error-handling validation but provide no actual validation evidence. Static review caps this dimension at 10.
The trigger terms, Python SDK target, Azure Container Registry scenario, and sync/async modes are clear, with coverage of listing, updates, deletion, downloads, and cleanup. Points are deducted because non-fit boundaries, required Azure permissions, tenant/network prerequisites, and output expectations are not specified; Chinese-language guidance and mainland-China reachability are not evidenced.
The skill includes installation, environment variables, authentication, operation examples, best practices, package metadata, MIT licensing, author, version 1.0.0, and layered reference files. Points are deducted because changelog, maintenance owner, update path, compatible SDK versions, troubleshooting, FAQs, and explicit stability policy are absent; some references merely instruct users to verify the current API themselves.
The skill can directly support common Container Registry Python code generation and covers core reads, property updates, deletion, manifest/blob downloads, async use, and cleanup. Points are deducted because snippets lack complete runnable context, input and permission guidance, deletion lacks confirmation or recovery design, and the upload heading is represented mainly by download examples; static review cannot verify API correctness. Static review caps this dimension at 7.
The repository materials show a general test harness, committed tests, and CI/Vally evaluation workflows, providing some auditable quality infrastructure; the skill also includes an operation index and reference files. Points are deducted because the supplied material contains no skill-specific acceptance criteria, execution results, real execution evidence, or independent corroboration, so only limited static evidence is warranted. Static review caps this dimension at 5.
- Repository and manifest deletion examples may cause irreversible data loss; production use should add explicit confirmation, permission checks, and backup or recovery procedures.
- Compatible azure-containerregistry and azure-identity versions, required RBAC permissions, and concrete exception handling are not specified.
- Azure service reachability, tenant configuration, and mainland-China network conditions are not verified in the supplied material.
What it does & when to use it
This skill provides practical patterns for the Azure Container Registry Python SDK. It covers listing, inspecting, updating, and deleting repositories, tags, and manifests, plus downloading manifests and blobs. It includes both synchronous and asynchronous client examples and recommends Microsoft Entra ID with DefaultAzureCredential. It fits Python developers maintaining ACR contents, but it is not a complete image build, push, or deployment guide.
Installs and uses the azure-containerregistry Python package, configures the registry endpoint and credentials, lists repositories, tags, and manifests, reads or updates repository and manifest properties, deletes repositories, tags, or manifests, and downloads manifest and blob content. It also demonstrates finding and removing old untagged manifests based on a time cutoff.
- A Python developer needs to enumerate repositories and image metadata in Azure Container Registry.
- A platform engineer needs to lock production images by disabling deletion or writes on selected repositories and manifests.
- An operations developer needs to remove old tags or safely delete untagged manifests by digest.
- A high-throughput Python service needs to enumerate repositories with the asynchronous client.
- A developer needs to access a public registry with anonymous ContainerRegistryClient access.
Pros & cons
- Covers common repository, tag, manifest, and blob-download operations.
- Provides both synchronous and asynchronous client patterns.
- Clearly recommends DefaultAzureCredential, Entra ID, and deterministic resource cleanup.
- Includes practical guidance for digest-based deletion and cleanup of untagged manifests.
- Focuses on client operations and does not cover image building, pushing, deployment, or complete permission setup.
- Examples require Azure service access, network connectivity, and local file writes.
- The supplied material does not provide skill-specific test results or a platform support matrix.
- The README installation flow targets the full collection; selecting this individual skill requires using the installation wizard.
How to install
Install the skill collection with npx skills add microsoft/skills, then select the skill in the wizard; selected skills are installed in the chosen agent directory, such as .github/skills/ for GitHub Copilot. Install the SDK package with pip install azure-containerregistry. The Entra ID examples also require azure-identity.
How to use
In an Agent Skills-compatible coding agent, try a request such as “Use azure-containerregistry and ContainerRegistryClient to list my ACR repositories” or “Clean up ACR manifests older than 30 days that have no tags.” Set AZURE_CONTAINERREGISTRY_ENDPOINT, use DefaultAzureCredential, and manage the synchronous or asynchronous clients with the corresponding context manager. Detailed permission setup, full deployment workflows, and a dedicated test suite are not documented in the supplied skill content.
Compared to similar skills
The skill explicitly distinguishes synchronous and asynchronous clients and advises choosing one mode consistently within a call path. For authentication, it recommends Microsoft Entra ID, while anonymous access is shown for public registries.