Docker Configuration Validator — Claude Code skill: Docker checks
Validates Dockerfiles and Docker Compose files for security, syntax and modern requirements. Useful before shipping to production.
npx skills add rknall/claude-skills --skill docker-configuration-validator -a claude-code
npx skills add rknall/claude-skills --skill docker-validation -a claude-codeWhat Docker Configuration Validator does
The skill walks through validation in phases: first it scopes the job — one file or a whole project — then checks Dockerfiles, then Compose. It ships with ready commands: finding files with find, running Hadolint and DCLint when they are installed, and docker compose config --quiet for syntax. If the linters are missing, it falls back to manual checks from a checklist.
The manual pass looks for :latest tags, a missing USER directive with a non-root account, secrets baked into the image, relative paths in WORKDIR. For multi-stage builds it counts FROM statements, named stages and COPY --from= to see whether artifacts actually move between stages. Findings land in four buckets: critical, high, medium, low.
On the Compose side it flags the obsolete version field — Compose v2.27.0 and later dropped it. Then networks, volumes, environment variables, restart policies and healthchecks. The skill does not install Hadolint or DCLint itself, it suggests you do; without them you are left with the manual checks only, so confirm both are on your PATH before you run it.
What it helps with
- find every Dockerfile in a project and check each one
- drop
:latesttags and pin base image versions - verify the container does not run as root
- confirm a multi-stage build actually carries artifacts over
- strip the obsolete
versionfield from Compose
Example prompts for the agent
- check my Dockerfile for security issues and best practices
- run validation on docker-compose.yml and list problems by severity
- review the multi-stage build: do artifacts move between stages?
How to install Docker Configuration Validator
1Skills CLI (Vercel)
npx skills add rknall/claude-skills --skill docker-configuration-validator -a claude-codenpx skills add rknall/claude-skills --skill docker-validation -a claude-code2Manually: put the files in place
~/.claude/skills/docker-validation/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/docker-validation/
1Skills CLI (Vercel)
npx skills add rknall/claude-skills --skill docker-validation -a codex2Manually: put the files in place
.agents/skills/docker-validation/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add rknall/claude-skills --skill docker-validation -a cursor2Manually: put the files in place
.cursor/skills/docker-validation/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install rknall/claude-skills docker-validation2Manually: put the files in place
.github/skills/docker-validation/SKILL.md1Skills CLI (Vercel)
npx skills add rknall/claude-skills --skill docker-validation -a gemini-cli2Platform CLI
gemini skills install https://github.com/rknall/claude-skills --path docker-validationManually: put the files in place
.devin/skills/docker-validation/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add rknall/claude-skills --skill docker-validation -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about Docker Configuration Validator
How do I install Docker Configuration Validator in Claude?
Run npx skills add rknall/claude-skills --skill docker-validation -a claude-code. The skill then lives at ~/.claude/skills/docker-validation/SKILL.md.
What does Docker Configuration Validator do?
It checks Dockerfiles and Docker Compose files for syntax, security, multi-stage build setup and modern Compose requirements. Findings are grouped into critical, high, medium and low.
Do I need Hadolint and DCLint for it to work?
It can run without them, but then only the manual checklist applies. With the linters present it runs their commands and parses the output, JSON included.