CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dockerfile-generator

Generate optimized, multi-stage Dockerfiles for Node.js, Python, Go, Rust, and Java with layer caching, non-root users, and minimal production images.

Quality

74%

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 ./infrastructure/dockerfile-generator/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%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 strong, highly actionable pattern library: executable multi-stage Dockerfiles with pinned tags, non-root users, healthchecks, and layer-cache ordering for every supported ecosystem. Its weaknesses are structural — no explicit generate-and-verify workflow with validation checkpoints, and no progressive disclosure, with all per-language templates inlined in the single file.

Suggestions

Add an explicit workflow section: (1) detect the project's language and package manager, (2) select the matching pattern, (3) generate Dockerfile + .dockerignore, (4) verify with `docker build -t myapp . && docker run` and optionally `docker scout cves myapp:latest` as a validation checkpoint before delivering.

Move per-language Dockerfile templates into reference files (e.g., references/node.md, references/python.md, references/go-rust-java.md) and keep SKILL.md as a conventions-plus-navigation overview so only the relevant template loads into context.

Remove the trivial 'Scaffold Command' section and fold the redundant 'Prerequisites' list into a single line, since creating empty files and Docker version requirements need no explanation.

DimensionReasoningScore

Conciseness

The body is almost entirely dense, executable patterns and terse conventions with no explanations of concepts Claude already knows ('Always use multi-stage builds', 'Pin base image tags to specific versions'). Minor padding keeps it below 5: the 'Scaffold Command' section (`touch Dockerfile`/`touch .dockerignore`) is trivial, and 'Prerequisites' repeats the frontmatter compatibility line.

4 / 5

Actionability

Every section is fully executable, copy-paste-ready material: complete multi-stage Dockerfiles for npm, pnpm, pip+venv, Poetry, Go, Rust, and Gradle, a full .dockerignore, HEALTHCHECK and non-root user patterns, build args/labels with usage, and working docker build/run/buildx/scout commands. It clearly matches the anchor 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

The content is a well-organized pattern library rather than a sequenced workflow: there is no explicit procedure (detect the project's language/package manager, pick the matching pattern, scaffold, build) and no validation checkpoint such as 'verify with docker build && docker run' or 'docker scout cves' framed as a step. The sequence exists only implicitly through section ordering, matching the anchor 'Steps listed but validation gaps; sequence present but checkpoints missing or implicit'.

3 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and all six full per-language Dockerfile templates (~150 lines) are inlined in SKILL.md. Sections are clearly headed and navigable, but content that would live in separate per-language reference files is inline, so when generating a Python Dockerfile the Go/Rust/Java patterns are dead context — matching the anchor 'Some structure but could be better organized... content that should be separate is inline'.

3 / 5

Total

15

/

20

Passed

Description

66%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 specific, well-scoped description that names concrete output qualities and covers all five supported ecosystems. Its main gap is the absence of any 'when to use' trigger clause, which caps completeness and leaves users' natural 'dockerize/containerize' phrasings uncovered.

Suggestions

Append an explicit trigger clause, e.g., 'Use when the user asks to dockerize or containerize an app, write a Dockerfile, or optimize a Docker build for Node.js, Python, Go, Rust, or Java.'

Add natural synonyms users actually say — 'dockerize', 'containerize', 'Docker builds', 'container images' — to improve trigger-term coverage.

Mention .dockerignore generation and build optimization of existing Dockerfiles if those are in scope, to sharpen coverage and distinctiveness.

DimensionReasoningScore

Specificity

'Generate optimized, multi-stage Dockerfiles' names a concrete action with specific output qualities ('layer caching, non-root users, and minimal production images') and comprehensive language coverage (Node.js, Python, Go, Rust, Java). It stops short of the anchor-5 example's multiple distinct action verbs, so anchor 4 ('Lists several specific actions; minor gaps in coverage') is the best fit.

4 / 5

Completeness

The 'what' is clear and specific, but the description contains no 'Use when...' clause or equivalent explicit trigger guidance. Per the judging guideline, missing trigger guidance caps completeness at 3: 'Has a clear what but when is missing or only weakly implied'.

3 / 5

Trigger Term Quality

Natural keywords are present ('Dockerfiles', 'Node.js', 'Python', 'Go', 'Rust', 'Java', 'layer caching', 'production images'), giving good coverage, but common user phrasings like 'dockerize', 'containerize', 'containers', and 'Docker images' are missing — matching anchor 4 ('Good keyword coverage; a few natural terms missing').

4 / 5

Distinctiveness Conflict Risk

'Generate... Dockerfiles' carves a clear niche with minimal conflict risk against unrelated skills. Minor overlap remains with adjacent infrastructure skills (docker-compose, CI/CD, Kubernetes deployment), which the description does not explicitly fence off — matching anchor 4 ('Mostly distinct; minor overlap risk with closely related skills').

4 / 5

Total

15

/

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

achreftlili/deep-dev-skills

Path

infrastructure/dockerfile-generator/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.