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/ericrisco/rsc-harness/dockernpx skills add ericrisco/rsc-harness --skill dockergit clone --depth 1 https://github.com/ericrisco/rsc-harnessWrote 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/ericrisco/rsc-harness/docker)<a href="https://agentmods.dev/skills/ericrisco/rsc-harness/docker"><img src="https://agentmods.dev/badge/skills/ericrisco/rsc-harness/docker.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.00086 | $0.03088 |
| Opus 5 | $0.00043 | $0.01544 |
| Sonnet 5 | $0.00017 | $0.00618 |
| Haiku 4.5 | $0.00009 | $0.00309 |
Grade B, and why
docker scanned grade B with 2 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 yesterday.
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.
Recursive force deletemediumDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
| `apt-get install x` | `apt-get install --no-install-recommends x && rm -rf /var/lib/apt/lists/*` | recommends + apt lists bloat the layer | 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.
HEALTHCHECK CMD ["python", "-c", "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://localhost:8000/health').status==200 else 1)"] How it starts
The opening of the file, as written. The whole thing — 252 lines — stays where its author put it; the contents beside it link to each section on GitHub.
docker — container-craft
You own one question, deeply: how do I turn this app into a small, secure, fast-building
image — and run a frictionless local stack with Compose? Your artifacts are the Dockerfile,
the .dockerignore, and the compose.yaml: their layers, their attack surface, their build
cache, their dev loop. You do not touch what happens after the image is built.
source → Dockerfile (multi-stage, cache mounts) → small + scanned image + compose.yaml (dev loop)
└──────────────┬──────────────┘
hand off to ../deployment/SKILL.md
The hand-off is sharp: the moment you have a green, scanned image and a working
compose.yaml, you are done. Everything downstream is ../deployment/SKILL.md — it already
references Dockerfiles and leans on you for the image internals.
When NOT to use — and who owns it instead
| You're asked for… | Owner | Why it's not you |
|---|---|---|
| CI build, registry push, deploy to host, rollback | ../deployment/SKILL.md |
You build + harden the image; it moves the image through CI to prod |
| k8s manifests, HPA autoscaling, ingress | scaling |
Orchestration above a single image |
| App SQL injection, secrets in source, dep CVE triage | ../secure-coding/SKILL.md |
You cover only image/container hardening |
| Install/operate a self-hosted PaaS | ../coolify/SKILL.md |
Host operation, not the image |
| Containerless PaaS deploy mechanics | ../railway/SKILL.md, ../fly-io/SKILL.md |
Platform deploy, not the Dockerfile |
Pick a base image (2026 reality)
| Base | Size | CVE / patch velocity | Debuggable? | Wins when |
|---|---|---|---|---|
*-slim (e.g. bookworm-slim) |
~30–80 MB | moderate, glibc | yes (shell, apt) | pragmatic default, native deps / Python wheels |
distroless (gcr.io/distroless/*) |
~2–25 MB | convenient but patches slower | no shell | static/compiled runtimes, want minimal surface |
| Chainguard / Wolfi | tiny, glibc | lowest live CVE count, SLSA L3 attestations | minimal | security-first; real scans found high-sev CVEs where the Chainguard equivalent had zero |
alpine |
~5 MB, musl | small surface | yes (apk) | tiny static services — but musl breaks many Python wheels / native deps |
scratch |
0 | nothing to patch | no | a fully static binary (Go), nothing else |
What ships with it
5 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.
- yesterday First seen · 252 lines · 86 tokens per session scan B 2fddcbec69b6
docker is a skill published in the GitHub repository ericrisco/rsc-harness (64 stars, last pushed 2d ago), licensed MIT. It adds 86 tokens to every session and 3,088 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it B with 2 findings (recursive force delete, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
docker-expert
Build optimized, secure Docker images with multi-stage builds. Configure Docker Compose for full development and production stacks.
implementing-aqua-security-for-container-scanning
Deploy Aqua Security's Trivy scanner to detect vulnerabilities, misconfigurations, secrets, and license issues in container images across CI/CD pipelines and registries.
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.
container-manager-kubernetes-operations
Full operational Kubernetes surface via the container-manager-mcp MCP server — workloads (pods/rollouts/StatefulSets/DaemonSets/ReplicaSets/Jobs/CronJobs), config (ConfigMaps/Secrets/Namespaces/CRDs/patch), networking (Ingress/native Services/NetworkPolicy/DNS), storage (PV/PVC/StorageClass/snapshots/CSI), RBAC…
container-manager-config-walkthrough
End-user setup guide for the container-manager-mcp MCP server — choosing CONTAINERMANAGERTYPE (docker/podman/kubernetes/multi), wiring .env / mcpconfig toggles, connecting remote Docker/Podman hosts via the tunnel-manager inventory versus remote Kubernetes clusters via kubeconfig contexts, and a first-run verification…
container-manager-multi-context
Operate several container backends and contexts at once — Kubernetes, Docker, Podman, and Swarm — via the container-manager-mcp MCP server's cmmulticontext tool, with per-call backend/context selection and parallel fan-out across a configured pool of contexts. Use when the agent must compare, migrate between, or…