docker-workflows

docker-workflows is a skill for Claude Code, Codex from Goodsmileduck/claude-registry. It costs 62 tokens per session (2,016 once invoked), scanned B, original, MIT.

A guide for reviewing Dockerfiles and Docker Compose files, which describe how to build and run containers. It covers build structure, image choices, caching, secrets, health checks, and container security.

In plain words
What is it for?
Use it to review or improve Dockerfiles and Compose files, including multi-stage builds, image sizes, build times, leaked secrets, root users, and missing health checks.
Why use it?
It helps find common problems that make container builds larger, slower, less reliable, or less safe.

Skill for Claude CodeCodex

Part of the kubernetes-skills plugin — 4 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/goodsmileduck/claude-registry/docker-workflows
Any agent
npx skills add Goodsmileduck/claude-registry --skill docker-workflows
Clone the repo
git clone --depth 1 https://github.com/Goodsmileduck/claude-registry

Made for: Claude Code, Codex.

Or install kubernetes-skills, the plugin that ships this one along with the rest of its 4 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for docker-workflows

README.md
[![agentmods](https://agentmods.dev/badge/skills/goodsmileduck/claude-registry/docker-workflows.svg)](https://agentmods.dev/skills/goodsmileduck/claude-registry/docker-workflows)
Your own site
<a href="https://agentmods.dev/skills/goodsmileduck/claude-registry/docker-workflows"><img src="https://agentmods.dev/badge/skills/goodsmileduck/claude-registry/docker-workflows.svg" alt="Measured on agentmods" height="20"></a>
Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,016 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 3 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00062 $0.02016
Opus 5 $0.00031 $0.01008
Sonnet 5 $0.00012 $0.00403
Haiku 4.5 $0.00006 $0.00202

Measured 4d ago against content hash d51120d64e64, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade B, and why

docker-workflows scanned grade B with 3 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/compose_validator.py, scripts/dockerfile_analyzer.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootlowPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

| `chmod 777` anywhere | Almost always wrong | `chown` + specific mode |

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Recursive force deletemediumDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

| `RUN apt-get install` without cleanup in same layer | `/var/lib/apt/lists/*` stays in the layer | `&& rm -rf /var/lib/apt/lists/*` in the same RUN |

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

| `ADD https://...` for tarballs | `ADD` doesn't validate checksums | `RUN curl -fsSL ... | sha256sum -c -` |
plugins/kubernetes-skills/skills/docker-workflows/SKILL.md · 157 lines

How it starts

The opening of the file, as written. The whole thing — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Docker — Dockerfile and compose review

For Kubernetes manifests and pod debugging, see the kubernetes-operations skill. For Helm charts, see kubernetes-operators (if shipped as an operator) or chart-specific tooling.

When to invoke

Open with the static analyzers — they're stdlib Python, fast, deterministic:

SKILL=plugins/kubernetes-skills/skills/docker-workflows
python3 "$SKILL/scripts/dockerfile_analyzer.py" Dockerfile
python3 "$SKILL/scripts/compose_validator.py" docker-compose.yml

Both accept --output json for piping. dockerfile_analyzer.py --security narrows to security findings only. compose_validator.py --strict fails on warnings.

Read the findings before suggesting changes. The analyzer surfaces ~80% of routine issues; reserve LLM judgment for the rest.

Pre-flight: what's the image FOR?

Image strategy follows the workload, not vice versa.

Workload Base image default Why
Compiled binary (Go, Rust) gcr.io/distroless/static-debian12 or scratch No shell, no libc — tiny attack surface
Compiled w/ glibc deps (CGo) gcr.io/distroless/base-debian12 Has glibc + ca-certs, no shell
Python python:3.X-slim (Debian) Alpine's musl breaks many wheels (pandas, lxml)
Node.js node:X-alpine musl is fine for pure JS; switch to slim if native modules struggle
Java eclipse-temurin:X-jre-alpine JRE-only, not JDK, in runtime stage
Need a shell for prod debug *-slim variant distroless = no sh, no kubectl exec shell

Pin the tag. :latest is a moving target — pin to python:3.12.7-slim (full version) or digest (python@sha256:...) for CI reproducibility.

Dockerfile anti-patterns (high → low severity)

Pattern Why it's wrong Fix
Container runs as root Default UID 0 inside the container; if it escapes namespace, host root RUN adduser -D app && USER app
Secret in ENV or ARG Baked into a layer; visible in docker history forever BuildKit --mount=type=secret,id=..., read inside RUN
COPY . . before COPY package.json && RUN install Any source change busts the dep-install cache Copy lockfile, install, then copy source
RUN apt-get install without cleanup in same layer /var/lib/apt/lists/* stays in the layer && rm -rf /var/lib/apt/lists/* in the same RUN
Single-stage build for compiled code Ships SDK + source + build tools in final image Multi-stage: builder + minimal runtime
No HEALTHCHECK Orchestrators can't tell "starting" from "broken" Add a cheap HTTP/exec check
:latest tag on base Reproducibility gone; today's build ≠ yesterday's Pin version, ideally digest
EXPOSE of ports the app doesn't bind Misleading documentation; no security impact but noise Match EXPOSE to actual LISTEN
ADD https://... for tarballs ADD doesn't validate checksums `RUN curl -fsSL ...
chmod 777 anywhere Almost always wrong chown + specific mode

Read the full file on GitHub · 157 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 157 lines · 62 tokens per session scan B d51120d64e64

Subscribe to this mod's changes

docker-workflows is a skill published in the GitHub repository Goodsmileduck/claude-registry (1 stars, last pushed 1mo ago), licensed MIT. It adds 62 tokens to every session and 2,016 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 3 findings (asks for root, recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

scanning-containers-with-trivy-in-cicd

This skill covers integrating Aqua Security's Trivy scanner into CI/CD pipelines for comprehensive container image vulnerability detection. It addresses scanning Docker images for OS package and application dependency CVEs, detecting misconfigurations in Dockerfiles, scanning filesystem and git repositories, and…

xalgorix/xalgorix · 74 tokens

performing-container-image-hardening

This skill covers hardening container images by minimizing attack surface, removing unnecessary packages, implementing multi-stage builds, configuring non-root users, and applying CIS Docker Benchmark recommendations to produce secure production-ready images.

xalgorix/xalgorix · 46 tokens

CI/CD Pipeline Advanced

Expert-level CI/CD pipeline skill for test automation. Covers GitHub Actions, Jenkins, GitLab CI, Azure DevOps, parallel execution, matrix strategies, caching, artifact management, and deployment gates.

PramodDutta/qaskills · 45 tokens

performing-container-image-hardening

This skill covers hardening container images by minimizing attack surface, removing unnecessary packages, implementing multi-stage builds, configuring non-root users, and applying CIS Docker Benchmark recommendations to produce secure production-ready images.

adriannoes/awesome-agentic-ai · 46 tokens

artifact-management

Versions, stores, and promotes build outputs — registries, immutability, build-once-promote-many, retention and garbage collection, and provenance metadata. Use this whenever the user sets up an artifact or container registry, asks how to promote a build between environments without rebuilding, needs a retention or…

arjunprabhulal/devops-skills · 98 tokens

containerization

Packages an application into a container image that is small, reproducible, and safe to run — Dockerfiles, layer caching, multi-stage builds, non-root users, and runtime configuration. Use this whenever the user is writing a Dockerfile, mentions Docker or OCI images, image size or build times, or is preparing an…

arjunprabhulal/devops-skills · 94 tokens