Ksail
devantler-tech/ksail
Use the ksail CLI to spin up and manage Kubernetes clusters (Kind/K3d/Talos/vCluster/KWOK — local via Docker; EKS — cloud via AWS) and GitOps workloads declaratively.
A skill your agent uses when authoring, validating, packaging, signing, or composing a Docker Sandboxes kit spec.yaml (sbx kit add/inspect/pack/pull/push/sign/validate/verify), even if the user just…
$ npx skills add docker/skills --skill docker-sandboxes-kits -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install docker/skills docker-sandboxes-kits --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/docker/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/docker-sandboxes-kits .claude/skills/docker-sandboxes-kits && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "docker-sandboxes-kits" agent skill from https://github.com/docker/skills/tree/main/skills/docker-sandboxes-kits into .claude/skills/docker-sandboxes-kits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-sandboxes-kits", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/docker/skills/tree/main/skills/docker-sandboxes-kitsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add docker/skills --skill docker-sandboxes-kits -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install docker/skills docker-sandboxes-kits --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/docker/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/docker-sandboxes-kits .agents/skills/docker-sandboxes-kits && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docker-sandboxes-kits" agent skill from https://github.com/docker/skills/tree/main/skills/docker-sandboxes-kits into .agents/skills/docker-sandboxes-kits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-sandboxes-kits", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add docker/skills --skill docker-sandboxes-kits -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install docker/skills docker-sandboxes-kits --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/docker/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/docker-sandboxes-kits .cursor/skills/docker-sandboxes-kits && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "docker-sandboxes-kits" agent skill from https://github.com/docker/skills/tree/main/skills/docker-sandboxes-kits into .cursor/skills/docker-sandboxes-kits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-sandboxes-kits", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/docker/skills.git --path skills/docker-sandboxes-kits--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add docker/skills --skill docker-sandboxes-kits -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install docker/skills docker-sandboxes-kits --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/docker/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/docker-sandboxes-kits .gemini/skills/docker-sandboxes-kits && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "docker-sandboxes-kits" agent skill from https://github.com/docker/skills/tree/main/skills/docker-sandboxes-kits into .gemini/skills/docker-sandboxes-kits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-sandboxes-kits", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install docker/skills docker-sandboxes-kitsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add docker/skills --skill docker-sandboxes-kits -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/docker/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/docker-sandboxes-kits .github/skills/docker-sandboxes-kits && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "docker-sandboxes-kits" agent skill from https://github.com/docker/skills/tree/main/skills/docker-sandboxes-kits into .github/skills/docker-sandboxes-kits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-sandboxes-kits", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add docker/skills --skill docker-sandboxes-kits -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install docker/skills docker-sandboxes-kits --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/docker/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/docker-sandboxes-kits .opencode/skills/docker-sandboxes-kits && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "docker-sandboxes-kits" agent skill from https://github.com/docker/skills/tree/main/skills/docker-sandboxes-kits into .opencode/skills/docker-sandboxes-kits/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docker-sandboxes-kits", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
docker-sandboxes-kitsA skill your agent uses when authoring, validating, packaging, signing, or composing a Docker Sandboxes kit spec.yaml (sbx kit add/inspect/pack/pull/push/sign/validate/verify), even if the user just…
Docker Sandboxes Kits is an agent skill from docker/skills, published by the product's own GitHub organization. Use this skill when authoring, validating, packaging, signing, or composing a Docker Sandboxes kit spec.yaml (sbx kit add/inspect/pack/pull/push/sign/validate/verify), even if the user just says they want to "add a tool to a sandbox agent", "build a reusable sandbox extension", "publish a kit to a registry", or "give a mixin its own credentials and network access". Covers the kit-spec v2 grammar (kind: sandbox vs kind: mixin, the sandbox: block, permissions.network, ports, credentials apiKey/oauth, environment…
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files and assets (for example `agents/openai.yaml`, `assets/spec-mixin.yaml` and `assets/spec-sandbox.yaml`). Compatibility notes: Requires standalone sbx with sbx kit support and kit-spec schemaVersion "2", not the legacy docker sandbox wrapper. Verified against docker/sandboxes…
It sits in DevOps & Cloud, covering Containers and OAuth and OpenID Connect. It works with Docker. The repository describes itself as: A collection of Docker skills for AI coding agents to help them build, test, debug, and optimize containerized apps with consistent, reusable workflows. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit f791727. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
shgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires standalone sbx with sbx kit support and kit-spec schemaVersion "2", not the legacy docker sandbox wrapper. Verified against docker/sandboxes df5c96ba60484fa2c375469dbac912c205da6c37; installed-help version and provenance are in references/sources.md. docker_help does not cover standalone sbx.
From compatibility in the SKILL.md frontmatter.
Docker Sandboxes Kits loads about 4.2k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 186 tokens; SKILL.md has 1,979 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from docker/skills at commit f791727, republished under its Apache-2.0 licence (© docker). 1,979 words, ~4,154 tokens.
.claude/skills/docker-sandboxes-kits/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.A kit is a directory (or ZIP/OCI/git artifact) containing a spec.yaml
plus an optional files/ tree. sbx composes a kit into a running or
about-to-be-created sandbox at sbx create/sbx run --kit/sbx env time or
at sbx kit add time. This skill owns kit-spec v2 authoring, validation, and
distribution — everything under spec.yaml's own grammar — and defers what a
kit's declarations mean at runtime (credential injection, network
enforcement) to docker-sandboxes-network-credentials, and the sandboxes a
kit is composed into to docker-sandboxes-lifecycle.
Activate this skill when:
spec.yaml for a kind: sandbox (complete agent) or kind: mixin (extension) kit.sbx kit add's recreate-aware requirement.Do not use this skill when:
docker-sandboxes-lifecycle.docker-sandboxes-network-credentials.sbxenv.yaml file format that references kits via its
own kits: block — use docker-sandboxes-env for that file's schema
(this skill still owns what goes inside the referenced kit itself).kind: sandbox vs kind: mixin — pick the right onekind: sandbox kit composes into any sandbox (a complete
agent: base image + launch config). Any number of kind: mixin kits
layer onto it (tools, credentials, network, files). A mixin must not
declare a sandbox: block, extends:, or mixins:.schemaVersion: "2" (the current clean grammar — no
legacy shims), kind, and name matching
^[a-z0-9]([a-z0-9-]{0,62}[a-z0-9])?$. Decoding is strict: any
unrecognized field anywhere is a hard error (e.g. a typo like
permissions.netwrok:), so a kit that validates has no silent typos.schemaVersion: "2"
kind: mixin
name: extra-egressapiKey.name or proxyManaged for the same service fails composition.
shell, docker-agent, and opencode already own github. An additive
routing-only entry (apiKey.inject, no name/proxyManaged/oauth, and
required: false) can extend the base credential instead. OAuth belongs
on sandbox kits, never mixins. See references/spec-v2-fields.md.
Inspect built-in definitions at sandboxlib/agentkits/agents/<agent>/spec.yaml
in the pinned source; sbx kit inspect takes artifact references, not
built-in names. Standalone mixin validation does not test composition.sandbox: block (sandbox kits only)kind: sandbox (unless the kit extends: a parent that
already supplies it); forbidden for kind: mixin.image: is the pre-built base image. entrypoint: is the fixed process
prefix (entrypoint[0] is the binary); command: is the mode-specific
argument tail — either a bare list (sets default, interactive falls
back to it) or {default: [...], interactive: [...]}.
For a complete minimal kit, use assets/spec-sandbox.yaml, which inherits
the embedded shell definition rather than inventing an image or command.sandbox.build: (Dockerfile build) is accepted but not built by the
runtime this release — a kit that sets build: must still set image:,
or it is rejected at load with an actionable error.extends: (below) is the simplest way to get a real, working image
without inventing one. A sandbox kit that extends a built-in agent
(e.g. extends: shell) inherits that agent's real sandbox.image and
may omit sandbox: entirely — see the minimal example asset, which does
exactly this rather than naming a made-up image reference.permissions.network — and the all-egress-declared rulepermissions.network.allow/deny are the v2 home for what v1 spelled as
top-level network:. Enforced shapes include exact host, exact host+port,
single-label wildcards (*.example.com), multi-label wildcards
(**.example.com), and CIDR prefixes. Port ranges are not supported by
the runtime matcher; use separate exact ports.
Deny wins within domain rules or within CIDR rules. A decisive domain
decision is evaluated before CIDR rules: an allowed hostname is not
checked against a CIDR deny for its resolved IP. Do not rely on a CIDR
deny alone to block an already-allowed hostname.permissions:
network:
allow:
- registry.npmjs.org
deny:
- telemetry.example.compermissions.network.allow is additive across a composition, and a
kit's own allow list is not the only thing granting a sandbox egress.
The sandbox already carries the base agent's own allow list, plus
whatever the global or per-sandbox network policy (sbx policy,
independently of any kit) permits — see docker-sandboxes-network- credentials. Removing a host from one kit's allow list does not by
itself prove that host is blocked — the global policy defaults
(balanced allows common package registries and AI services; allow-all
allows everything) or another composed kit may still permit it. Never
claim a host is blocked without checking the actual effective decision
with sbx policy check network --sandbox <name> <host> on a real
sandbox.credentials — what the kit needs, never how the user stores itservice identity and where to inject the
resolved value (apiKey and/or oauth); it never declares how the
user obtains or stores the credential — that lives in the user's own
bindings file, wired through sbx secret set (see
docker-sandboxes-network-credentials).apiKey.inject[] needs a domain and either an explicit header+
format (format must contain exactly one %s) or the scheme:
sugar: scheme: bearer expands to Authorization: Bearer %s (no
username), scheme: basic requires username and is mutually
exclusive with format. Pick a service name no composed base agent
already declares (see the duplicate-service rule above) — see
references/spec-v2-fields.md for a complete fragment.apiKey.proxyManaged: true sets the in-container env var to the literal
proxy-managed sentinel rather than leaving it unset; the real value is
substituted only by the proxy, on the allow-listed inject domains.oauth needs tokenEndpoint.host/.path and, unless
passthrough: true, non-empty sentinels.accessToken/.refreshToken.
passthrough: true is a security downgrade — the real token reaches
the container instead of a sentinel — use it only when the kit's own
design requires it and say so in description.setup — install (once) vs. startup (every start) vs. files (startup-time writes)| Block | Command shape | Runs |
|---|---|---|
setup.install[].command | string, via sh -c | Once, synchronously, before the agent first launches. Runs for every kit, built-in or not. |
setup.startup[].command | list<string>, exec-style (no shell) | On every container start (create, stop/start, daemon restart, host reboot) — must be idempotent. |
setup.files[] | file write via shell exec | At container startup; path absolute; only ${WORKDIR} placeholder allowed in content. |
Optional fragment for the shell kit in assets/spec-sandbox.yaml:
setup:
startup:
- command: ["sh", "-c", "mkdir -p ~/.my-kit"]
files:
- path: /home/agent/.my-kit/config.json
content: '{"workdir": "${WORKDIR}"}'setup.files is not the same mechanism as the files/ directory
tree (below). setup.files entries are dynamic, ${WORKDIR}-
substituted writes performed at startup time; the files/home/ and
files/workspace/ directory tree is a set of static files packed
alongside spec.yaml and copied in at container-create time, and it is
specifically the files/workspace/ half of that tree — not
setup.files — that is written after the workspace is populated
(e.g. after an in-container git clone under --clone). Do not
conflate the two: setup.files has no "after workspace population"
timing guarantee of its own.setup: lists concatenate in --kit order across composed
kits.user: "0") unless overridden;
startup/entrypoint as the agent user (uid 1000) unless overridden.
Root install steps writing under /home/agent must chown it back to
agent:agent, or later agent-user writes there fail.volumes — creation-time only, every volume must set a sizepath:, optional type: tmpfs (RAM-backed;
omit/"" for the default block-backed volume), optional size:
(byte-size string) and mode: (octal).sbx kit add (runtime
injection) skips volume changes entirely; a kit that needs one must be
present at creation.size: on a block volume. An unsized volume inherits a
50 GiB default and costs real host disk immediately (ext4 inode-table
zeroing); 512 MiB is the practical floor — below it mke2fs switches
inode density and the space savings mostly disappear.args — parameterizing a kitargs: (v2 only — the frozen v1 grammar has no
args block), each with exactly one of default/required: true, plus
optional description/enum/pattern. Reference with
${{ kit.args.NAME }} anywhere in spec.yaml or files/; substitution
happens before the spec is decoded. Every reference must be
declared, or loading fails — that is what makes the block a trustworthy
list of a kit's inputs. Quote a placeholder used in a string field
(VERSION: "${{ kit.args.version }}"), or an unquoted numeric-looking
value decodes as a number and fails to decode into a string field.--kit-arg name=value (every kit) or
--kit-arg kitname.name=value (one kit only), or --kit-args-file.
Never pass a secret this way — --kit-arg values are not masked; see
docker-sandboxes-network-credentials.extends and mixins — composition, not runtime injectionextends: resolves only built-in agent names at this pinned release
(shell, claude, etc.). Remote git/OCI parents fail to resolve, even
if pinned; the broader format specification is not an implementation
guarantee. The minimal asset uses the supported extends: shell.mixins: is accepted with a warning but is not applied by this runtime.
Use --kit or sbx kit add for composition. The format's immutable-ref
requirements do not make unimplemented remote inheritance work.--kit and sbx kit add still accept mutable tags/branches; the CLI
parser does not enforce this recommendation.requires.agent (mixin-only; rejected on kind: sandbox) pins the
single base agent a mixin is designed for (e.g. Claude-specific env
vars). It is well-formedness-checked by the spec library; the actual
agent-affinity mismatch is enforced by the composition consumer, not by
sbx kit validate alone.| Command | Purpose |
|---|---|
sbx kit validate REFERENCE [--kit-arg ...] | Local directory, ZIP, or git reference; OCI is rejected. Schema-only well-formedness check. Never composes against a base agent — cannot catch a duplicate-service credential collision or confirm any domain is reachable at runtime. |
sbx kit inspect REFERENCE [--kit-arg ...] [--json] | Loads and prints the decoded artifact before composing it, including --kit-arg substitution preview. |
sbx kit pack DIRECTORY [-o OUTPUT.zip] | Packages a validated directory as a ZIP. |
sbx kit pull REFERENCE [-o OUTPUT] | Pulls a kit's raw layer payload from an OCI registry without composing it. |
sbx kit push DIRECTORY REGISTRY/REPO:TAG [--sign] | Packages and pushes; every push attaches an unsigned-by-default SLSA provenance attestation. |
sbx kit provenance REFERENCE [--certificate-identity ...] | Prints the attestation push attached; marked UNSIGNED unless verified against a matching key/identity. |
sbx kit sign REFERENCE / sbx kit verify REFERENCE | Sigstore sign/verify (keyless by default); prefer --identity-token-file over --identity-token. |
sbx kit add SANDBOX REFERENCE [--kit-arg ...] | Injects a mixin only into an existing sandbox at runtime (recreate-aware label required); container-immutable settings (security.privileged, volumes:) cannot take effect this way. |
See references/kit-distribution-commands.md for full flag lists and
worked examples of each command above.
sbx create/run --kit,
sbx kit add SANDBOX), use docker-sandboxes-lifecycle.credentials:/permissions.network: declarations mean
at runtime — proxy injection, allow/deny precedence, the effective
policy a sandbox actually has once global/per-sandbox policy is
included, where the user stores the actual secret value — use
docker-sandboxes-network-credentials.sbxenv.yaml file whose kits:/agent: fields reference a kit
by this schema, use docker-sandboxes-env.references/sources.md — provenance for every rule above (spec package, SPEC-v2.md, help captures, docs URLs).references/spec-v2-fields.md — the complete v2 field table (common fields, sandbox-only fields, mixin-only fields, shared blocks) for lookup without re-reading the full spec.references/kit-distribution-commands.md — full flags and worked examples for sbx kit validate/inspect/pack/pull/push/provenance/sign/verify/add.assets/spec-sandbox.yaml — a genuine minimal kind: sandbox kit that
extends: shell to inherit a real, working image rather than inventing
one.assets/spec-mixin.yaml — a genuine minimal kind: mixin kit with no
credentials at all (an egress-only extension), which composes cleanly
with every built-in agent.checks/verification.md — Schema, composition, egress, and kit-add checks (unexecuted integration runbook; isolated --app-name, no registry publishing or signing).© docker, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (references, assets) in skills/docker-sandboxes-kits of docker/skills.
Open the folder on GitHubat commit f791727
Docker Sandboxes Kits next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Docker Sandboxes Kits this skilldocker/skills | 539 | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Ksaildevantler-tech/ksail | 166 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Deployambient-code/platform | 131 | — | ~2.6k | Automated safety check: Pass | MIT | |
| GitHub Actionsericrisco/rsc-harness | 156 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Cliproxy Newapi Stackmajiayu000/spellbook | 286 | — | ~1.7k | Automated safety check: Warn | MIT | |
| Iron Proxy Gateway for NanoClawnanocoai/nanoclaw | 31k | — | ~4.6k | Automated safety check: Notes | MIT |
devantler-tech/ksail
Use the ksail CLI to spin up and manage Kubernetes clusters (Kind/K3d/Talos/vCluster/KWOK — local via Docker; EKS — cloud via AWS) and GitOps workloads declaratively.
ambient-code/platform
Deploy, update manifests, and troubleshoot the ambient-ui component.
ericrisco/rsc-harness
A skill your agent uses when authoring or fixing GitHub Actions CI/CD — workflows under .github/workflows, triggers, job matrix, caching, token permissions, OIDC cloud deploys, environment gates…
majiayu000/spellbook
在已经过独立验证的 CLIProxyAPI upstream 之上部署 NewAPI 计费层,把 Codex/Claude/Gemini/Qwen 等订阅账号包装成可计费的 OpenAI 兼容 API。本 Skill 不负责新建裸 CLIProxyAPI;负责 NewAPI Docker 部署、容器到宿主桥接、模型计费倍率、参数化额度修正、多账号 OAuth…
nanocoai/nanoclaw
Installs or refreshes Iron Proxy and its Iron Control web console for NanoClaw, with a local Docker setup, database, credentials and a human approval bridge.
GreptimeTeam/greptimedb
Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.
docker/skills
A skill your agent uses when creating, modifying, or debugging Docker Compose configurations, even if the user just says they need to wire services together, add a database to their stack, or set up…
docker/skills
A skill your agent uses when writing, reviewing, or optimizing Dockerfiles, even if the user just says their image is too large, their build is slow, or they need to harden a container for production.
docker/skills
A skill your agent uses when creating or editing an agent.yaml (or .yml/.hcl) configuration file for Docker Agent (cagent), including defining agents, models/providers, built-in or MCP toolsets…
docker/skills
A skill your agent uses 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…
docker/skills
A skill your agent uses when setting up, initializing, or Dockerizing a project, even if the user doesn't explicitly mention Docker but describes a need for containerized local development, adding a…
docker/skills
A skill your agent uses when authoring, planning, or running a declarative sbxenv.yaml file for Docker Sandboxes (sbx env create/run/plan/exec/rm), even if the user just says they want to "check in…
Works with
Categories
A skill your agent uses when authoring, validating, packaging, signing, or composing a Docker Sandboxes kit spec.yaml (sbx kit add/inspect/pack/pull/push/sign/validate/verify), even if the user just…. Docker Sandboxes Kits is an agent skill from docker/skills, published by the product's own GitHub organization.yaml (sbx kit add/inspect/pack/pull/push/sign/validate/verify), even if the user just says they want to "add a tool to a sandbox agent", "build a reusable sandbox extension", "publish a kit to a registry", or "give a mixin its own credentials and network access".
Docker Sandboxes Kits fits situations like: composing a Docker Sandboxes kit spec.yaml (sbx kit add/inspect/pack/pull/push/sign/validate/verify); even if the user just says they want to add a tool to a sandbox agent; build a reusable sandbox extension; publish a kit to a registry.
Run `npx skills add docker/skills --skill docker-sandboxes-kits -a claude-code`. Or copy the skill folder (skills/docker-sandboxes-kits in docker/skills) into .claude/skills/docker-sandboxes-kits in your project. Claude Code loads it when a task matches its description.
Run `npx skills add docker/skills --skill docker-sandboxes-kits -a codex`. Or copy the skill folder (skills/docker-sandboxes-kits in docker/skills) into .agents/skills/docker-sandboxes-kits in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add docker/skills --skill docker-sandboxes-kits -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docker-sandboxes-kits, .gemini/skills/docker-sandboxes-kits, .github/skills/docker-sandboxes-kits and .opencode/skills/docker-sandboxes-kits in your project.
Going by SKILL.md and its folder, Docker Sandboxes Kits needs the command-line tools its instructions call (sh and git). Our summary lists: Docker. Compatibility (from SKILL.md): Requires standalone sbx with sbx kit support and kit-spec schemaVersion "2", not the legacy docker sandbox wrapper. Verified against docker/sandboxes df5c96ba60484fa2c375469dbac912c205da6c37; installed-help version and provenance are in references/sources.md. docker_help does not cover standalone sbx..
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Docker Sandboxes Kits is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Docker Sandboxes Kits: Ksail (devantler-tech/ksail, 166 stars), Deploy (ambient-code/platform, 131 stars), GitHub Actions (ericrisco/rsc-harness, 156 stars) and Cliproxy Newapi Stack (majiayu000/spellbook, 286 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
docker (a GitHub organization, an official publisher) maintains it in docker/skills, which has 539 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 4, 2026.
Source: docker/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.