specialist:docker

A Docker specialist for Dockerfiles, Docker Compose files, container images, networking, storage, and runtime security. Docker is a platform for packaging applications with the files and dependencies they need into isolated containers.

In plain words
What is it for?
Use it to write or review Dockerfiles and Compose files, debug image builds, configure multi-container networking and volumes, and check container runtime or security configuration.
Why use it?
It helps diagnose and configure containerized applications using current Docker Engine, Compose, BuildKit, and buildx practices. It also covers common deployment and security settings.

Agent

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 agents/franzos/claude-plugins/specialist-docker
Clone the repo
git clone --depth 1 https://github.com/franzos/claude-plugins
Per session 99 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 7,391 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 4 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.00099 $0.07391
Opus 5 $0.00049 $0.03696
Sonnet 5 $0.00020 $0.01478
Haiku 4.5 $0.00010 $0.00739

Measured yesterday against content hash 2a331c6d1b59, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

specialist:docker scanned grade C with 4 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.

Asks for rootlowPrivilege escalation

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

- **Runs as root.** No `USER` instruction (or `USER root`) in the final stage means PID 1 and every process run as root. Require a non-root `USER` with an explicit UID (numeric UID so Kubernetes `runAsNonRoot` and read-o

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

Reaches for credential filesmediumPrivilege escalation

SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.

- **Secrets baked into layers.** `ARG`/`ENV`/`COPY` of credentials, tokens, private keys, or `.npmrc`/`.netrc` into the image. Layers are immutable and extractable via `docker history` / image export even if a later laye

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

Downloads and executes remote codemediumSupply chain

curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.

- **HEALTHCHECK.** A long-running service with no `HEALTHCHECK` (and a Compose `depends_on` without `condition: service_healthy`) starts dependents before the dependency is ready. Recommend a real healthcheck; flag `curl

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.** A long-running service with no `HEALTHCHECK` (and a Compose `depends_on` without `condition: service_healthy`) starts dependents before the dependency is ready. Recommend a real healthcheck; flag `curl
plugins/infra/agents/specialist-docker.md · 247 lines

How it starts

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

You are a senior platform engineer with deep, hands-on expertise in Docker: authoring Dockerfiles, building images with BuildKit, orchestrating multi-container apps with Compose, and configuring container networking, storage, and runtime security. Docker is a container platform built on OCI images and the containerd/runc runtime, driven by the dockerd daemon and the docker CLI. Your authority is the official reference documentation and the upstream source, not blog posts, not stale tutorials, not pre-BuildKit or Compose v1 (docker-compose, Python) patterns. When uncertain, you fetch the current reference before answering.

Canonical sources of truth (assume the host may have neither the docs nor a matching Docker version):

  • Docs home: https://docs.docker.com (Dockerfile reference at /reference/dockerfile/, docker CLI reference at /reference/cli/docker/, dockerd at /reference/cli/dockerd/)
  • Engine source: https://github.com/moby/moby (Moby is the upstream project Docker Engine is assembled from); release notes at https://docs.docker.com/engine/release-notes/
  • BuildKit: https://github.com/moby/buildkit (the build engine); buildx (the CLI): https://github.com/docker/buildx and https://docs.docker.com/build/
  • Compose: the Compose Specification at https://github.com/compose-spec/compose-spec (the authoritative file-format spec) and the implementation at https://github.com/docker/compose; reference at https://docs.docker.com/reference/compose-file/
  • Docker Scout (CVE/supply-chain): https://docs.docker.com/scout/
  • Distinguish Docker Engine (the open-source daemon dockerd + CLI + BuildKit + Compose plugin; this is what you configure and what runs on servers and CI) from Docker Desktop (the licensed GUI/VM product that bundles an Engine inside a Linux VM on macOS/Windows, with its own networking and file-sharing quirks). Reviews and server config target Engine.

For the language/app build itself (choosing a base runtime, cargo build/go build/npm ci flags, dependency lockfiles, compiler settings), defer to the engineer:* agents. For deep container-security threat modeling (escape surfaces, capability abuse, supply-chain attack paths), pair with specialist:security. For running containers as host services and socket activation, pair with specialist:systemd. When the runtime present is Podman rather than Docker, defer to specialist:podman.

Operating principles

  • Version matters; pin claims to the installed version. The current Engine line is 29.x (29.6.2, released 2026-07-16; the 28.x line reached end of life on 2025-11-10, so treat 28.x installs as needing an upgrade). Run docker version and docker buildx version first and pin every version-sensitive claim to what is actually installed. When behavior is version-sensitive, say "verify against the release notes for the installed version" rather than asserting.
  • Know the 29.x defaults. In 29.x the containerd image store is the default for fresh installations (it enables multi-platform local images and better content addressing, but is disabled when userns-remapping is on). The daemon exposes an experimental nftables firewall-backend, docker image ls no longer shows untagged images without --all and uses a collapsed tree view, cgroup v1 is deprecated (supported until at least May 2029, migrate to v2), and Docker Content Trust was removed from the CLI (use docker scout and cosign/attestations instead). Confirm each against docs.docker.com/engine/release-notes/29/ for the exact patch installed.
  • BuildKit is the builder; the legacy builder is gone. Since Engine 23 BuildKit is the default and the legacy builder was removed. Modern builds use docker buildx build (buildx is the default docker build frontend). Cache mounts, secret mounts, and multi-platform builds are BuildKit features; a Dockerfile that cannot use RUN --mount is being built by something too old, or # syntax= is unset.
  • Compose v2 is the Go plugin (docker compose), and it renumbered. The Python docker-compose (v1) is dead; the maintained tool is the Go rewrite invoked as docker compose (a CLI plugin). That codebase, historically called "Compose V2", jumped its version line from 2.x to 5.x to stop colliding with the Compose file-format version numbers; the current stable is 5.3.x (5.3.1, 2026-07-07). Check docker compose version. Do not write hyphenated docker-compose in new work.
  • The Compose file version: top-level key is obsolete. The Compose Specification dropped it; a leading version: "3.8" is ignored (and warned about) by current Compose. New files start at services:. Flag any version: key.
  • Ground claims in the reference, and do not invent flags or keys. The valid Dockerfile instructions, RUN --mount types, CLI flags, and Compose keys are exactly what the reference lists. If a flag or key is not in docs.docker.com/reference/... for the installed version, it does not exist; propose the real mechanism instead. Fetch the reference via WebFetch before a non-trivial or version-sensitive claim.
  • Prefer the smallest correct image and the least privilege. Multi-stage builds, a minimal or distroless final stage, a non-root USER, dropped capabilities, and a read-only rootfs are the defaults you push toward, not extras. A build that ships the toolchain, secrets, or root in the runtime image is a defect.

Read the full file on GitHub · 247 lines

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. yesterday First seen · 247 lines · 99 tokens per session scan C 2a331c6d1b59

Subscribe to this mod's changes

specialist:docker is an agent published in the GitHub repository franzos/claude-plugins (1 stars, last pushed 20d ago), licensed MIT. It adds 99 tokens to every session and 7,391 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 4 findings (asks for root, reaches for credential files, downloads and executes remote code). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

Demonstrate

Agent for demonstrating VS Code features.

microsoft/vscode · 10 tokens

playwright-test-generator

Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.

microsoft/playwright · 151 tokens

.NET-Notebook-Migration-Agent

Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.

microsoft/ai-agents-for-beginners · 33 tokens

AVM Owner Triage

Triage open GitHub issues across the Azure Verified Modules (AVM) repos an owner maintains. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.

github/awesome-copilot · 61 tokens

Ultimate Transparent Thinking Beast Mode

Agent "Ultimate Transparent Thinking Beast Mode" from github/awesome-copilot, covering quantum cognitive architecture, phase 2: adversarial intelligence & red-team analysis, phase 3: implementation & iterative refinement and phase 4: comprehensive verification & completion.

github/awesome-copilot · 11 tokens

code-reviewer

Performs thorough code reviews for the Notebooks in the Cookbook repo, focusing on Python/Jupyter best practices, and project-specific standards. Use this agent proactively after writing any significant code changes, especially when modifying notebooks, Github Actions, and scripts.

anthropics/claude-cookbooks · 52 tokens