CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dockerfile-review

Reviews Dockerfiles for build performance, image size, and security issues. Use when optimizing, validating, or improving Dockerfiles.

Quality

85%

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

SKILL.md
Quality
Evals
Security

Quality

Content

75%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.

A well-crafted single-file review skill: concrete commands and copy-paste examples, a clear sequenced process, and opinionated domain guidance that goes beyond common knowledge. It uniformly falls just short of top marks due to directional fix directions in a few dimensions, a few trimmable tokens, and no explicit verification checkpoint in the workflow.

Suggestions

Add concrete snippets for the three directional fixes: a non-root user setup example (useradd/chown/USER), a combined `RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*` layer-minimization example, and a `RUN --mount=type=secret,id=token` usage example.

Trim low-value tokens: drop the STARTER_CHARACTER announce boilerplate and the rhetorical impact sentence in the Layer Cache Ordering section, and cut one-line explanations of facts Claude already knows (e.g., deleted data persisting in earlier layers).

Add an explicit verification step to the Process, such as anchoring each finding to the specific Dockerfile line or instruction that triggers it, so findings are checked against the file rather than asserted.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious specifics (droast tool, image size figures, Alpine musl tradeoffs, digest pinning) and avoids tutorial-style padding, but includes a few tokens that could be trimmed — the STARTER_CHARACTER announce boilerplate, the "compounds to hours per week" impact sentence, and one-line explanations of concepts Claude already knows (e.g., that deleted data persists in earlier layers). This fits "efficient; minor instances of over-explanation" rather than the every-token-earns-its-place anchor.

4 / 5

Actionability

Much of the guidance is executable: the exact `droast --no-roast --min-severity warning <Dockerfile>` command, copy-paste-ready BuildKit cache-mount Dockerfile snippets, and a digest-pinning example. However, several fix directions stay directional — non-root setup ("create a dedicated user with useradd"), combined install/cleanup RUN, and `--mount=type=secret` are described without concrete snippets, matching "concrete code or commands with minor gaps".

4 / 5

Workflow Clarity

The Process section gives a clear 6-step sequence with conditional branching (droast available or not), severity-grouped reporting, a per-finding format, and an honesty guardrail ("If the Dockerfile is solid, say so — don't invent issues"). As a read-only review skill it needs no destructive-op validation loop, but there is no explicit verification step (e.g., anchoring findings to specific Dockerfile lines), fitting "clear sequence with most checkpoints; minor validation gaps".

4 / 5

Progressive Disclosure

No bundle files exist and all content is inline in a single well-sectioned file with clear headers (Process, 10 numbered dimensions, Severity Classification). The inline content is core operational guidance rather than deep-dive reference material, though at ~135 lines topics like the Alpine libc discussion and digest-pinning rationale are borderline candidates for a separate reference file — "good structure; most content appropriately placed; minor organization gaps."

4 / 5

Total

16

/

20

Passed

Description

87%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.

A strong description that clearly states what the skill does and when to use it, with concrete trigger phrases and a well-defined Dockerfile niche. The only soft spot is trigger coverage that omits a few natural synonyms (e.g., Docker build, container image).

DimensionReasoningScore

Specificity

"Reviews Dockerfiles for build performance, image size, and security issues" names the domain plus three concrete review areas, which is more specific than 1-2 bare actions but uses a single verb rather than several distinct actions. It sits noticeably above the midpoint anchor but below the comprehensive multi-action examples.

4 / 5

Completeness

It explicitly answers both questions: the "what" is reviewing Dockerfiles for build performance, image size, and security, and the "when" is a concrete "Use when optimizing, validating, or improving Dockerfiles" clause. This matches the anchor example's structure of clear what plus explicit trigger phrases.

5 / 5

Trigger Term Quality

"Use when optimizing, validating, or improving Dockerfiles" supplies natural trigger phrases users would say, alongside "Dockerfiles" itself. Common variations like "Docker build", "container image", or "reduce image size" are absent, keeping it just short of comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

Dockerfiles are a specific artifact type with a clear niche, and the description's triggers (optimizing/validating/improving Dockerfiles) are unlikely to fire for unrelated skills. Conflict risk with generic code-review or container-orchestration skills is minimal.

5 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

saski/arnesto

Path

.agents/skills/dockerfile-review/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.