What problem does it solve? Writing Dockerfiles by hand often leads to bloated images, root-user containers, and CI pipelines that duplicate build logic outside the Dockerfile. This Skill provides a consistent policy and proven patterns for producing minimal, secure, reproducible container builds. ## Core Features & Use Cases - Multi-stage build design: Separates build, test, and runtime stages so compilers, package managers, and source code stay out of the final image. - Scratch and Alpine final images: Chooses scratch for static binaries and Alpine-based runtimes for Python, Node, or dynamic binaries, with a clear decision order. - Non-root enforcement: Standardizes ARG UID=10001 / ARG GID=10001, COPY --chown, and USER ${UID}:${GID} in every runtime image. - Docker as local CI: Runs tests inside the build (e.g., go test ./..., pytest) so GitHub Actions can be a thin docker build wrapper. - Use Case: Containerize a Go service by generating a multi-stage Dockerfile that compiles a static binary, runs tests in a build stage, and ships a scratch final image running as a non-root user. ## Quick Start Use the dockerfile skill to create a secure multi-stage Dockerfile for this project.