CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dockerfile-generator

Generates production-ready Dockerfiles with multi-stage builds, layer caching, security hardening (non-root users, minimal base images), health checks, and automatic .dockerignore creation. Validates output using devops-skills:dockerfile-validator with iterative error fixing. Use when a user wants to create, generate, write, or build a Dockerfile or docker image, containerize an app, set up a container, or needs a Dockerfile for Node.js, Python, Go, Java, or another language. Also applies when the user says 'containerize my app', 'docker-compose setup', 'container setup', or 'optimize my Docker build'.

Quality

84%

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

66%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 workflow is exemplary — clearly sequenced with validation and a bounded iteration loop — and the guidance is concrete and executable. The main weaknesses are redundancy: the same rules are stated three times across Stage 3, checklists, and Notes, a 70-line template is inlined when an asset copy exists, and the assets directory is orphaned from all body navigation.

Suggestions

Delete the 'Notes' section and the 'Quick Security/Optimization Checklist' / 'Quick Optimization Checklist' sections — every bullet restates Stage 3 Core Principles or Anti-Patterns; state each rule exactly once.

Replace the ~70-line inline .dockerignore template with a pointer to assets/example.dockerignore (which already exists) and keep only the language-specific deltas from Stage 4 inline.

Link the assets/ example Dockerfiles (golang-distroless.Dockerfile, python-fastapi.Dockerfile, nextjs-production.Dockerfile, etc.) from the 'Common Patterns' or language-specific sections so they are discoverable, and trim the Anti-Patterns 'WHY' explanations for widely-known Docker rules (root, :latest, ADD vs COPY) to the one-liner BAD/GOOD pair.

DimensionReasoningScore

Conciseness

The body repeats the same rules three times — Stage 3 'Core Principles', the 'Quick Security/Optimization Checklists', and the closing 13-bullet 'Notes' section ('Pin all version tags (never use :latest)' appears in all three) — and inlines a ~70-line .dockerignore template that duplicates assets/example.dockerignore. The Anti-Patterns section also explains concepts Claude already knows (why running as root is bad, why :latest is non-reproducible, ADD vs COPY). This matches anchor 2 ('noticeably verbose; several unnecessary explanations or padded sections'), not 3's 'some unnecessary explanation', and not 1 since there is no library-tutorial-style padding.

2 / 5

Actionability

Guidance is highly concrete: the 8-item 'Always Include' list, exact BAD/GOOD instruction pairs for every rule, specific research commands (context7 resolve/get-library-docs, WebSearch query patterns), docker build/run/curl commands, and script invocation examples. It falls short of anchor 5 only because no complete Dockerfile example appears in the body itself — the templates are a reference-hop away — leaving 'minor gaps' per anchor 4.

4 / 5

Workflow Clarity

A 7-stage workflow with per-stage objectives, an explicit validation stage (Stage 5, hadolint/Checkov via the validator skill), a bounded feedback loop (Stage 6: fix → re-validate, max 3 iterations, document suppressed warnings), and a dedicated Error Handling section. This matches the score-5 anchor ('explicit validation steps; feedback loops for error recovery') exactly.

5 / 5

Progressive Disclosure

References are one level deep and clearly signaled with per-topic pointers ('Security: references/security_best_practices.md', etc.), and the scripts section explains its optional role. However, none of the six files in assets/ (e.g., nextjs-production.Dockerfile, python-fastapi.Dockerfile) are mentioned anywhere in the body, making them undiscoverable, and the inline .dockerignore template duplicates an asset — 'minor organization gaps' per anchor 4 rather than 5's 'easy navigation'.

4 / 5

Total

15

/

20

Passed

Description

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

An excellent description: concrete capabilities in third person, a rich set of natural trigger phrases including synonyms and quoted user utterances, and an explicit 'Use when' clause. The only weakness is a slightly over-broad 'docker-compose setup' trigger that could attract requests outside the skill's core artifact.

DimensionReasoningScore

Specificity

Enumerates multiple concrete capabilities — 'multi-stage builds, layer caching, security hardening (non-root users, minimal base images), health checks, and automatic .dockerignore creation' plus 'Validates output using devops-skills:dockerfile-validator with iterative error fixing' — in third person. Coverage is comprehensive with no notable gaps, matching the score-5 anchor rather than 4's 'minor gaps in coverage'.

5 / 5

Completeness

Explicitly answers both questions: a clear 'what' (generates production-ready Dockerfiles with the listed features and validates output) and an explicit 'when' via a 'Use when...' clause with concrete trigger phrases. This is the score-5 anchor structure verbatim; score 4's 'when could be more explicit' does not apply since multiple explicit triggers are given.

5 / 5

Trigger Term Quality

Covers natural synonyms and phrasings users would actually say: 'create, generate, write, or build a Dockerfile or docker image', 'containerize an app', 'set up a container', language names (Node.js, Python, Go, Java), and quoted phrases like 'containerize my app', 'docker-compose setup', and 'optimize my Docker build'. This matches the score-5 anchor's comprehensive synonym coverage; score 4 ('a few natural terms missing') understates it.

5 / 5

Distinctiveness Conflict Risk

The Dockerfile-generation niche is distinct, but the trigger 'docker-compose setup' describes a different artifact (a compose file, not a Dockerfile) and risks firing for compose-configuration requests, and validation-adjacent phrasing overlaps devops-skills:dockerfile-validator. This matches anchor 4 ('mostly distinct; minor overlap risk with closely related skills') better than 5's 'minimal conflict risk'.

4 / 5

Total

19

/

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

skill_md_line_count

SKILL.md is long (522 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository

pantheon-org/tekhne

Path

skills/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.