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.
npx agentmods add skills/goodsmileduck/claude-registry/docker-workflowsnpx skills add Goodsmileduck/claude-registry --skill docker-workflowsgit clone --depth 1 https://github.com/Goodsmileduck/claude-registryWrote 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.
[](https://agentmods.dev/skills/goodsmileduck/claude-registry/docker-workflows)<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>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.
| Model | Per session | Once 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 |
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.
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 -` | 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 |
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.
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.
- 4d ago First seen · 157 lines · 62 tokens per session scan B d51120d64e64
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.
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…
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.
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.
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.
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…
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…