docker-agent-config
Use this skill when creating or editing an agent.yaml (or .yml/.hcl) configuration file for Docker Agent (cagent), including…
Use this skill when exposing a Docker Agent as a server (MCP, HTTP API, A2A, ACP, or OpenAI-compatible chat), distributing an agent via an OCI registry with `docker agent share`, or measuring agent quality with `docker agent eval`. Even if the user just says they want to "turn
$ npx -y skills add docker/skills --skill docker-agent-deploy --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/docker-agent-deployContext preview
The summary Claude sees to decide when to auto-load this skill.
Use this skill when exposing a Docker Agent as a server (MCP, HTTP API, A2A, ACP, or OpenAI-compatible chat), distributing an agent via an OCI registry with `docker agent share`, or measuring agent quality with `docker agent eval`. Even if the user just says they want to "turn
name: docker-agent-deploy description: Use this skill when exposing a Docker Agent as a server (MCP, HTTP API, A2A, ACP, or OpenAI-compatible chat), distributing an agent via an OCI registry with `docker agent share`, or measuring agent quality with `docker agent eval`. Even if the user just says they want to "turn my agent into an MCP server", "let Claude Desktop use my agent", "publish my agent to Docker Hub", "push my agent like an image", or "test my agent in CI", this skill applies. Covers `serve mcp/api/a2a/acp/chat` listen addresses and auth flags, `share push/pull`, eval session JSON format, scoring metrics, and the `--baseline` regression gate. license: Apache-2.0 compatibility: Requires the docker-agent CLI plugin (Docker Desktop 4.63+, or standalone). `docker agent eval` additionally requires a Docker-compatible container runtime (Docker Desktop/Engine, or Podman via `--container-runtime`). Verified against docker-agent as shipped with Docker CLI 29.7.2.
This skill owns the integration surface of Docker Agent: making an agent reachable by other software (`docker agent serve`), distributing it through an OCI registry the way container images are distributed (`docker agent share`), and proving it still behaves after a change (`docker agent eval`). It assumes the agent config already exists — see `docker-agent-config` for authoring it, and `docker-agent-run` for interactive/local invocation.
Activate this skill when:
Do not use this skill when:
never expose any of them beyond loopback without authentication:
| Mode | Default listen | Auth flag | Has `--safety`? | | --- | --- | --- | --- | | `serve mcp` | `127.0.0.1:8081` | `--auth-token` (only with `--http`) | Yes (only with `--http`) | | `serve api` | `127.0.0.1:8080` | `--auth-token` | No | | `serve chat` | `127.0.0.1:8083` | `--api-key` / `--api-key-env` | Yes | | `serve a2a` | `127.0.0.1:8082` | `--auth-token` | Yes | | `serve acp` | (stdio only) | n/a | No |
docker agent serve mcp ./agent.yaml --http --listen 127.0.0.1:9090 --auth-token "$TOKEN"
Desktop); pass `--http` only when you need a network-reachable MCP endpoint, and set `--auth-token` whenever you do.
token/key is refused; `--insecure-no-auth` exists to force it and must be treated as a deliberate, documented exception, never a default.
`--safety` (`strict`/`balanced`/`restricted`/`autonomous`); Docker's docs state it defaults to `restricted` for these modes when unset. `serve api` and `serve acp` expose no `--safety` flag at all. Never raise `--safety` to `autonomous` on a network-reachable listener; if a served agent must approve more, prefer `balanced` and keep auth enabled.
`.yaml`/`.yml`/`.hcl` in it is exposed under `/api/agents`. Use `--session-workingdir-root` to confine session working directories when the server is reachable by more than one user.
registry, same `docker login` auth:
docker agent share push ./agent.yaml docker.io/username/my-agent:latest docker agent share pull docker.io/username/my-agent:latest
automatically, so a published agent stays self-contained — you do not need to bundle the referenced files separately.
(`name@sha256:...`) once published, to avoid a per-run registry lookup and to guarantee the exact config a consumer gets.
copy that already exists; without it, an existing local config is left untouched.
each eval is one JSON session file capturing a user message, the recorded tool calls, and an `evals` object with the scoring criteria.
JSON: run the agent interactively, then use the `/eval` slash command in the TUI to save the session, and edit in `relevance`/`size`/`assertions` criteria afterward.
Relevance (LLM-judge, `--judge-model`, default `anthropic/claude-opus-5`), Size (S/M/L/XL response-length bucket), and Assertions (deterministic checks; see the complete assertion-type list in `references/eval-format.md`). Prefer assertions over `relevance` when a check can be exact: they need no judge model and are deterministic, not approximation-prone.
runtime is required. Dedicated provider API keys (`ANTHROPIC_API_KEY`/`OPENAI_API_KEY`) are forwarded automatically. `GITHUB_TOKEN`/`GH_TOKEN` are **not** forwarded automa
Docker-authored knowledge skills that improve AI coding agent output for Docker-related tasks. Skills are authored once as portable SKILL.md directories and discovered automatically by any compliant agent through standard skill paths.
Use this skill when creating or editing an agent.yaml (or .yml/.hcl) configuration file for Docker Agent (cagent), including…
Use this skill when running a Docker Agent with `docker agent run`, choosing a safety/approval mode, using the `--sandbox`…
Use this skill when writing, reviewing, or optimizing Dockerfiles, even if the user just says their image is too large, their…
Use this skill when creating, modifying, or debugging Docker Compose configurations, even if the user just says they need to wire…
Use this skill before running, or recommending, any Docker command that deletes, wipes, resets, or otherwise irreversibly changes…
Use this skill when setting up, initializing, or Dockerizing a project, even if the user doesn't explicitly mention Docker but…