skills/docker-architect/SKILL.md
Docker + Compose—arch, implement, harden, CI. Triggers—Dockerfile, compose, bake, dockerignore, audit, build/run debug, multi-svc dev/prod.
npx skillsauth add bjornmelin/dev-skills docker-architectInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
This skill has been flagged as suspicious. Review the scan results before using.
2 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Produce production-grade, secure, right-sized Docker images and Compose environments end-to-end: inventory → design → implement → test → CI. Prefer minimal, reproducible builds (multi-stage + BuildKit) and least-privilege runtime defaults.
Resolve skill_dir as the directory containing this skill before running
bundled scripts.
python3 "$skill_dir/scripts/docker_inventory.py" --root .docker buildx versiondocker buildx build ... (or docker build ...)docker compose config and docker compose up --buildTemplate rendering example (edit variables per repo):
python3 "$skill_dir/scripts/render_template.py" --template .dockerignore --out .dockerignorepython3 "$skill_dir/scripts/render_template.py" --template compose/docker-compose.yml --out docker-compose.yml --var IMAGE_NAME=myapp:dev --var HOST_PORT=8000 --var CONTAINER_PORT=8000python3 "$skill_dir/scripts/render_template.py" --template compose/docker-compose.dev.yml --out docker-compose.dev.yml --var CONTAINER_PORT=8000 --var DEV_COMMAND='[\"python\",\"-m\",\"uvicorn\",\"myapp.api:app\",\"--host\",\"0.0.0.0\",\"--port\",\"8000\",\"--reload\"]'docker-compose.dev.ymldocker-compose.yml + docker-compose.prod.ymlreferences/dockerfile_patterns.md):
.dockerignore early (template in assets/templates/.dockerignore).assets/templates/python/Dockerfile.uv for modern Python/uvassets/templates/node/Dockerfile.pnpm for Node + pnpmpython3 "$skill_dir/scripts/render_template.py" ... to render with variables.assets/templates/compose/docker-compose.yml + an override (assets/templates/compose/docker-compose.dev.yml or assets/templates/compose/docker-compose.prod.yml)assets/templates/compose/docker-compose.deps.ymlbash "$skill_dir/scripts/smoke_test_container.sh" --help--build-check (Docker build checks) and --pull (fresh base images)bash "$skill_dir/scripts/smoke_test_compose.sh" --helppython3 "$skill_dir/scripts/docker_audit.py" --root .references/security_hardening.md):
docker buildx build ...docker compose up --build and run the app’s normal test/health commands.references/review_template.md).assets/templates/ci/github-actions-docker-ci.yml.
assets/templates/ci/github-actions-docker-publish.ymldocker buildx build (cache enabled)docker compose config (compose validation)docker build --check) and scan/SBOM/provenance stepsreferences/ci_github_actions.md).When “latest” matters (base images, distro versions, language runtimes, CVEs):
docker buildx imagetools inspect <image:tag> to confirm manifests/platforms.UNVERIFIED and propose a safe default with a verification step.zen.secaudit for a structured container/security audit and zen.analyze for architecture-sensitive compose design.scripts/docker_inventory.py: detect stack + existing Docker/Compose files.scripts/docker_audit.py: heuristic linting of Dockerfiles/Compose for security/correctness.scripts/render_template.py: render templates with {{VARS}} into repo files.scripts/smoke_test_container.sh: build/run basic health check locally.scripts/smoke_test_compose.sh: validate + bring up compose and check health.references/dockerfile_patterns.md: BuildKit, caching, multi-stage, runtime hardening.references/compose_patterns.md: compose patterns, profiles, healthchecks, secrets/configs.references/security_hardening.md: least privilege, capabilities, read-only fs, supply chain.references/ci_github_actions.md: CI build/test/scan/publish patterns.references/review_template.md: audit report format and deliverables checklist.Templates live under assets/templates/ (Dockerfile variants, compose variants, CI workflow, .dockerignore, docker-bake.hcl).
development
Pre-PR multi-model review, parallel opus and codex exec adversarial lanes, then adversarial verification of merged findings. Read-only. Use before shipping nontrivial diffs.
tools
Independent gpt-5.6 diff review via the Codex CLI, normal or steerable adversarial with JSON findings. Use before shipping nontrivial changes.
development
Delegate implementation, investigation, or bulk work to gpt-5.6 codex via pinned codex exec. Use for clear-spec builds, migrations, debugging, or any task MODELS.md routes to codex.
development
Adversarial pre-mortem: imagine the plan failed, work backwards to surface risky assumptions + irreversible bets, then harden them. Proactively offer it (after the current request; confirm first) before a hard-to-reverse or one-way-door call (API, schema, framework, a hire), an all-upside plan, or unvalidated assumptions. Also on request.