CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

azure-containerregistry-py

Azure Container Registry SDK for Python. Use for managing container images, artifacts, and repositories.

Quality

75%

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

Quality

Content

78%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 strong, code-first reference: nearly every operation has an executable, copy-paste-ready example, the destructive cleanup workflow is fenced with inventory, dry-run, and authorization checkpoints, and section ordering is logical. Its main gaps are structural: ~200 lines of API reference sit inline in SKILL.md with no bundle files to split into, and a few padded sections (the redundant operations table, circular "When to Use", boilerplate "Limitations") could be trimmed or moved out.

Suggestions

Move the per-operation API catalog (Repository/Tag/Manifest Operations sections plus the Client Operations table) into a references/ file (e.g. references/operations.md) and keep SKILL.md as a lean overview with auth setup, one quick-start example per area, and clearly signaled links to the reference.

Trim or delete the redundant "Client Operations" table and the circular "When to Use" section ("This skill is applicable to execute the workflow or actions described in the overview"), which add tokens without adding guidance.

Add a feedback loop to the cleanup workflow: re-verify manifest.tags immediately before each delete, check for multi-architecture manifest references, and show how to handle a failed delete (e.g. continue-and-report vs. abort) in the mutating loop.

DimensionReasoningScore

Conciseness

The body is code-first with essentially no explanation of concepts Claude already knows, so most tokens earn their place. Minor trims remain: the "Client Operations" table duplicates the per-operation sections above it, "This skill is applicable to execute the workflow or actions described in the overview" is circular filler, and the "Limitations" section is generic boilerplate. Anchor 4 (efficient; minor instances of over-explanation that could be trimmed) fits better than 3 because roughly 85% of the content is executable example code.

4 / 5

Actionability

Snippets are concrete and copy-paste ready with real imports, method names, and enum values (e.g. "list_tag_properties(\"my-image\", order_by=ArtifactTagOrder.LAST_UPDATED_ON_DESCENDING)", "delete_manifest(\"my-image\", manifest.digest)"), and they cover the common cases comprehensively: both auth modes, list/get/update/delete for repositories, tags, and manifests, downloads, the async client, and a cleanup loop. The few fragments reuse the "endpoint" established in the Environment/Authentication sections, so anchor 5 (fully executable; covers the common cases) is the best fit.

5 / 5

Workflow Clarity

Sections are coherently sequenced (install → env → auth → operations → async → cleanup → best practices), and the destructive/batch cleanup carries explicit checkpoints: "Inventory dependencies and current workloads, present the exact candidate digests and obtain deletion authorization with a retention/recovery policy. Use a dry-run candidate report before the mutating loop below." Validation is therefore present, so the destructive-operation cap at 3 does not apply. Not 5 because the cleanup loop has no feedback loop (e.g. re-verify tags before each delete, or error-recovery guidance if a delete fails).

4 / 5

Progressive Disclosure

The skill is a single file with no references/, scripts/, or assets/ bundle, and roughly 200 lines of per-operation API reference (the Repository/Tag/Manifest operations sections plus the "Client Operations" table) are inlined in SKILL.md. This matches anchor 3 (content that should be separate is inline) — well-sectioned and navigable, so not 2, but too long to qualify for the under-50-lines simple-skill exception, so not 4.

3 / 5

Total

16

/

20

Passed

Description

62%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 is serviceable: it names a distinct niche, lists the managed object types, and includes an explicit use clause, so both 'what' and 'when' are present. Its weaknesses are generic action language ("managing"), missing natural trigger synonyms (ACR, Docker, push/pull), and an unqualified use clause that creates mild overlap risk with other container-registry skills.

Suggestions

Replace the generic verb "managing" with concrete operations, e.g. "List repositories, tags, and manifests; update lock properties; delete images by digest; download manifests and blobs in Azure Container Registry."

Add natural trigger terms and synonyms users would actually say: "ACR", "Docker images", "push/pull images", and "azurecr.io", e.g. "Use when working with Azure Container Registry (ACR), pushing or pulling container images, or cleaning up images in an azurecr.io registry."

Qualify the use clause with Azure so it cannot trigger for generic Docker Hub or third-party registry tasks.

DimensionReasoningScore

Specificity

The description names the domain ("Azure Container Registry SDK for Python") and enumerates specific objects ("container images, artifacts, and repositories"), but its only action is the generic verb "managing" — no concrete operations like listing tags, deleting manifests, or downloading blobs. This matches anchor 3 (domain plus limited concrete actions) better than anchor 2 because the enumerated object types are specific, and better than anchor 4 because no concrete action verbs are listed.

3 / 5

Completeness

Both parts are present: a "what" ("Azure Container Registry SDK for Python") and an explicit use clause ("Use for managing container images, artifacts, and repositories"). Anchor 4 fits (both present, but the 'when' could be more explicit); not 5 because no concrete trigger phrases are given, and not 3 because a 'Use for...' clause is present rather than missing or weakly implied.

4 / 5

Trigger Term Quality

Relevant keywords are present ("Azure", "Container Registry", "container images", "repositories", "Python"), but common natural phrasings users actually say are missing: "ACR", "Docker images", "push/pull images", "azurecr.io". This fits anchor 3 (some relevant keywords but missing common variations or synonyms); not 4 because the omitted synonyms (ACR, Docker) are among the most frequent ways users refer to this service.

3 / 5

Distinctiveness Conflict Risk

The leading sentence carves out a clear niche (Azure Container Registry SDK for Python), but the use clause "Use for managing container images, artifacts, and repositories" is not qualified by Azure and could fire for Docker Hub or other registry tasks. Anchor 4 (mostly distinct; minor overlap risk with closely related skills) is the best fit.

4 / 5

Total

14

/

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

sickn33/agentic-awesome-skills

Path

skills/azure-containerregistry-py/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.