Skip to content
cccskills
FreePublished on GitHub

dockerfile-linter

Checks a Dockerfile for common problems such as unpinned base images, running as root, ADD instead of COPY, secrets in ENV or ARG and apt-get without cleanup. Use when the user asks to review, harden or slim down a Dockerfile.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48 stars(GitHub 48 + cccskills 0)

Run score Not tested

See how to install

Files included (3)

  • SKILL.md1.8 KB
  • scripts/lint_dockerfile.py3.8 KB
  • tests/cases.json1.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Dockerfile linter

A small rule set that catches the problems seen most often in real Dockerfiles, with line numbers.

When to use

  • The user asks for a review of a Dockerfile, or says an image is too big or insecure.
  • Before a pull request that adds or changes a Dockerfile.
  • When hardening a container that runs in production.

How to run

python scripts/lint_dockerfile.py Dockerfile

Rules

RuleMeaning
DF001base image uses latest or has no tag, so builds are not reproducible
DF002no USER instruction, the container runs as root
DF003ADD used where COPY is enough (ADD is only needed for archives and URLs)
DF004apt-get install without --no-install-recommends
DF005apt-get update without removing /var/lib/apt/lists in the same layer
DF006a secret-looking name (password, token, secret, api key) is set with ENV or ARG
DF007sudo is used inside the image
DF008no HEALTHCHECK (informational)

Output

JSON with instructions (count) and findings, a list of {"line", "rule", "severity", "message"}. Severity is warning or info. The exit code is 1 when there is at least one warning.

After running

Fix DF006 first, a secret baked into an image layer is exposed to anyone who can pull the image. Then DF002 and DF001. Suggest multi-stage builds when the image installs compilers.

Errors

A missing file exits with code 2.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Runs a list of HTTP checks against a base URL from a JSON file and reports status codes, response time and body assertions. Use when the user asks whether an API is up, wants a smoke test after a deploy, or needs to verify that endpoints return what the docs promise.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Turns git log output into a grouped markdown changelog using conventional commit prefixes such as feat, fix and docs. Use when the user prepares a release, asks for release notes, or wants a summary of what changed between two tags.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Writes clear git commit messages in the conventional commits style from a diff or a description of the change. Use when the user asks for a commit message, wants to tidy up a message before pushing, or has staged changes and no wording yet.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Profiles a CSV file column by column, reporting inferred type, missing values, unique counts and min, max and mean for numeric columns. Use when the user hands over a CSV and asks what is in it, whether the data is clean, or what to check before analysis.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Compares a .env file with its .env.example template and reports missing keys, undocumented extra keys, empty values and example files that contain real looking secrets. Use when the user asks why an app fails on startup with missing configuration, or wants to check environment files before committing.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

Compares two JSON files structurally and lists added, removed and changed values with their full paths. Use when the user asks what changed between two API responses, config files, fixtures or package manifests.

The English summary is being prepared. Showing the original description.

Lethe044/agentskill-kit48Updated Oct 26, 2026

See all skills by Lethe044

Report a problem with this skill