avibebuilder/docker
ALWAYS activate when the user's query involves Docker in any way — even if it also matches other skills. If the words docker, Dockerfile, docker-compose, compose.yml, container, or image appear in the query, this skill MUST be used. Covers: writing or editing Dockerfiles and compose files, adding services (postgres, redis, etc.) to compose, volume mounts and data persistence, docker build failures (layer caching, npm install issues), healthchecks and service startup ordering (depends_on), environment variables in containers, port mapping, container crashes and exit codes (OOM/137), non-root users, multi-stage builds, image optimization, .dockerignore, and deploying to container runtimes. Takes priority over general implementation or debugging skills when Docker infrastructure is the subject.
npx skills add https://github.com/avibebuilder/claude-prime --skill docker
Project-specific containerization patterns for Dockerfile and Docker Compose.
10. Resource limits — Always set mem_limit and cpus in production.
11. Network segmentation — Dedicated networks per service group.
12. Named volumes — Never use anonymous volumes in production.
13. depends_on with healthchecks — Use condition: service_healthy.
14. Environment separation — Use override files for dev/staging/prod.
COPY . . before RUN npm install busts the cache on EVERY code change. Copy package*.json first, install, THEN copy source.apk add build dependencies. Consider -slim variants if you hit this.ENTRYPOINT ["python", "app.py"] (exec form) handles signals correctly. ENTRYPOINT python app.py (shell form) wraps in /bin/sh -c and PID 1 won't receive SIGTERM — containers take 10s to stop.COPY near the top rebuilds everything below it.depends_on without condition: service_healthy only waits for container START, not readiness. Your app will crash connecting to a database that's still initializing.host.docker.internal works on Docker Desktop (Mac/Windows) but NOT on Linux. Use --network host or explicit container networking on Linux.ARG) are NOT available after FROM in multi-stage builds unless re-declared. Each stage starts fresh.docker compose up reuses existing containers. After changing Dockerfile, you need docker compose up --build or docker compose build first.node_modules are built inside the container but you mount .:/app, the host's (possibly empty) node_modules shadows them. Use a named volume for node_modules.EXPOSE is documentation only — it does NOT publish the port. You still need -p 8080:8080 or ports: in compose.| When you need... | Read |
|------------------|------|
| Dockerfile patterns, CMD vs ENTRYPOINT | dockerfile.md |
| Compose services, networks, volumes | compose.md |
| Security hardening | security.md |
| Production deployment | production.md |
Take avibebuilder/docker from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm.
Without those the skill loads but fails at the first command.