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 vikasudasi/skill-vault --skill dockerfile-python-appgit clone --depth 1 https://github.com/vikasudasi/skill-vaultWrote 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/vikasudasi/skill-vault/dockerfile-python-app)<a href="https://agentmods.dev/skills/vikasudasi/skill-vault/dockerfile-python-app"><img src="https://agentmods.dev/badge/skills/vikasudasi/skill-vault/dockerfile-python-app/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/vikasudasi/skill-vault/dockerfile-python-app"><img src="https://agentmods.dev/badge/skills/vikasudasi/skill-vault/dockerfile-python-app.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00031 | $0.00487 |
| Opus 5.5 | $0.00012 | $0.00195 |
| Sonnet 5.5 | $0.00006 | $0.00097 |
| Haiku 4.5 | $0.00003 | $0.00049 |
Grade A, and why
dockerfile-python-app 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.
What it actually says
Dockerfile for a Python App
Use when containerizing a Python service with a small, cache-friendly, secure image.
Efficient + secure Dockerfile
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1
WORKDIR /app
# Install deps first so layer cache survives code changes
COPY pyproject.toml .
RUN pip install --no-cache-dir .
# Add code last
COPY . .
# Run as non-root
RUN useradd --create-home appuser
USER appuser
EXPOSE 8080
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8080"]
Build-time tips (T3-style — each RUN is a layer)
COPYonly what a step needs, after install → code changes don't rebuild deps.- Combine
RUNcommands with&&and clean caches in the same layer. - Use
--no-cache-dirto keep images slim.
Security
- Default to a non-root user — never run the app as root in the image.
- Pin base image tags; prefer
-slimover full to shrink attack surface. - Don't
COPYsecrets; inject at runtime via env/secrets.
Multi-stage (build vs runtime)
Keep the builder and runtime separate when you compile assets or build wheels:
FROM python:3.12 AS builder
# ...build...
FROM python:3.12-slim AS runtime
COPY --from=builder /app /app
Pitfalls
.dockerignorematters — it also stops git metadata from breaking builds.- Streaming logs need
PYTHONUNBUFFERED=1, or uvicorn output buffers.
What ships with it
2 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.
- 1mo ago First seen · 69 lines · 31 tokens per session scan A a76223857467
dockerfile-python-app is a skill published in the GitHub repository vikasudasi/skill-vault (0 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 31 tokens to every session and 487 once invoked, about $0.0001 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-31.
Other skills, from other repositories
Docker Container Testing
Testing Docker containers and images including Dockerfile linting, container structure tests, security scanning, and multi-stage build validation.
prismer-python-debugpy
Debug Python: pdb REPL + debugpy remote (DAP).
azure-containerregistry-py
Manage container images, artifacts, and repositories in Azure Container Registry.
airflow
Apache Airflow is a platform for programmatically authoring, scheduling, and monitoring workflows. Learn to write DAGs, use operators, set up connections, configure scheduling, and deploy with Docker Compose.
notebook.fix_packages
Keep the Docker container aligned with the template and install Python packages directly in the notebook.
AgentVibes GrokBot TTS setup
Use when installing AgentVibes TTS + Kokoro on Windows for a GrokBot fleet, or when each bot needs a unique spoken Kokoro voice and -llm identity.