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 skills add oaustegard/claude-skills --skill container-layergit clone --depth 1 https://github.com/oaustegard/claude-skillsWrote 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/oaustegard/claude-skills/container-layer)<a href="https://agentmods.dev/skills/oaustegard/claude-skills/container-layer"><img src="https://agentmods.dev/badge/skills/oaustegard/claude-skills/container-layer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/oaustegard/claude-skills/container-layer"><img src="https://agentmods.dev/badge/skills/oaustegard/claude-skills/container-layer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00101 | $0.01369 |
| Opus 5.5 | $0.00040 | $0.00548 |
| Sonnet 5.5 | $0.00020 | $0.00274 |
| Haiku 4.5 | $0.00010 | $0.00137 |
Grade A, and why
container-layer scanned grade A with 0 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 189 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Container Layer
Build a reproducible, cached environment overlay for ephemeral containers using a Dockerfile-like spec.
When NOT to use this skill
This authors and caches a layer spec. It is not a Docker troubleshooting tool.
| Situation | Use |
|---|---|
| A build is slow or failing | read the build log; this skill will not help |
| Managing a running container | docker/podman directly |
| Session boot sequence and hooks | the workspace's own boot docs |
The tell is tense: this skill is for the environment you want next session, not the container you are fighting now.
Concept
The container resets every session, but your environment shouldn't. This skill:
- Parses a
Containerfile(Dockerfile subset) that declares your environment - Caches the built result as a tarball in GitHub Releases
- Restores from cache on subsequent boots (single fetch vs. N installs)
- Provides a
uvshim that captures ad-hoc installs back into the Containerfile
Supported Containerfile Instructions
# Environment variables
ENV KEY=value
# Shell commands (including package installs)
RUN apt-get install -y foo # system packages
RUN uv pip install pandas numpy # Python packages (preferred)
RUN pip install requests # also works
# Fetch files from URLs or GitHub
FETCH https://example.com/file.tar.gz /dest/path
FETCH github:user/repo /dest/path # latest tarball
FETCH github:user/repo@ref /dest/path # specific ref
# Set working directory for subsequent RUN commands
WORKDIR /some/path
# Declare paths to include in the cached layer snapshot
# (auto-detected for FETCH destinations and pip/uv installs)
SNAPSHOT /additional/path/to/capture
# Ignored (Dockerfile compat, no-op here):
# FROM, EXPOSE, CMD, ENTRYPOINT, LABEL, ARG, VOLUME, USER, SHELL
Usage
Single layer — build / restore
from scripts.containerfile import ContainerLayer
layer = ContainerLayer(
containerfile_path="/path/to/Containerfile",
cache_repo="oaustegard/claude-container-layers", # GitHub repo for release assets
gh_token="...",
)
# Try cache first, fall back to full build
layer.restore_or_build()
What ships with it
13 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.
- boot-ccotw.sh 2.7 KB runs code
- boot.sh 2.9 KB runs code
- CHANGELOG.md 4.3 KB
- Containerfile 1.4 KB
- README.md 2.8 KB
- scripts/__init__.py 26 B runs code
- scripts/__main__.py 30 B runs code
- scripts/cli.py 8.1 KB runs code
- scripts/containerfile.py 20 KB runs code
- scripts/layer_cache.py 8.4 KB runs code
- scripts/test_baseline_paths.py 4.9 KB runs code
- scripts/test_named_layers.py 6.6 KB runs code
- scripts/uv_shim.sh 2.5 KB runs code
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.
- 1mo ago First seen · 189 lines · 101 tokens per session scan A 6708e792ebe9
container-layer is a skill published in the GitHub repository oaustegard/claude-skills (154 stars, last pushed 2d ago), licensed MIT. It adds 101 tokens to every session and 1,369 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
docker-sandbox
Run Docker and containers in a cloud sandbox — a full root Ubuntu VM with Docker preinstalled and real kernel access, so docker build/docker run/compose all work (unlike isolate-based sandboxes that can't run Docker). 4 vCPU / 8 GB / 80 GB, per-second billing. Use to build images, run compose stacks, or test…
add-iron-proxy
Install or refresh Iron Proxy and its official Iron Control web console for NanoClaw. Use when selecting the Iron gateway, adding its management UI, configuring credentials and grants, or restoring the proxy, approval bridge, and agent guidance.
manage-mounts
Configure which host directories agent containers can access. View, add, or remove mount allowlist entries. Triggers on "mounts", "mount allowlist", "agent access to directories", "container mounts".
offensive-container-escape
Container escape and breakout techniques targeting Docker, containerd, and Podman runtimes. Covers privileged container breakout via host filesystem mount and nsenter, Docker socket abuse through /var/run/docker.sock, Linux capability exploitation including CAPSYSADMIN, CAPSYSPTRACE, and CAPNETADMIN, cgroup v1…
docker-debugger
Debug Docker containers, fix Dockerfile issues, optimize images, and troubleshoot docker-compose. Use when having Docker problems, container issues, or optimizing Docker builds.
agents-v2-py
Build container-based Foundry Agents with Azure AI Projects SDK (ImageBasedHostedAgentDefinition). Use when creating hosted agents with custom container images in Azure AI Foundry.