Help us improve
Share bugs, ideas, or general feedback.
From arn-infra
Generates production-ready, security-audited Dockerfiles with multi-stage builds, docker-compose.yml, and .dockerignore files adapted to app tech stack and project topology.
npx claudepluginhub appsvortex/arness --plugin arn-infraHow this skill is triggered — by the user, by Claude, or both
Slash command
/arn-infra:arn-infra-containerizeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate production-ready Dockerfiles, docker-compose configurations, and .dockerignore files for the application. This skill produces security-audited, multi-stage container configurations adapted to the application's technology stack and topology.
Generates optimized multi-stage Dockerfiles and docker-compose configs with health checks and volume management for Node.js, Python, Go, and Rust projects.
Generates optimized multi-stage Dockerfiles, .dockerignore, for Node.js, Python, Go, Java apps with security hardening, layer caching, validation, and error fixes.
Creates and optimizes Dockerfiles using multi-stage builds, layer caching, and language-specific patterns; sets up Docker Compose for local development; covers image size, security, networking, volumes.
Share bugs, ideas, or general feedback.
Generate production-ready Dockerfiles, docker-compose configurations, and .dockerignore files for the application. This skill produces security-audited, multi-stage container configurations adapted to the application's technology stack and topology.
This skill reads the application context (codebase patterns, architecture, technology stack) based on the project topology, invokes the arn-infra-specialist agent for container configuration generation, and the arn-infra-security-auditor agent for security review. All generated files are presented for user approval before being written.
Read ## Arness from the project's CLAUDE.md. If no ## Arness section exists or Arness Infra fields are missing, inform the user: "Arness Infra is not configured for this project yet. Run /arn-infra-wizard to get started — it will set everything up automatically." Do not proceed without it.
Check the Deferred field. If Deferred: yes, inform the user: "Infrastructure is in deferred mode. Containerization is not available until infrastructure is fully configured. Run /arn-infra-assess to un-defer." Stop.
Extract:
~/.arness/user-profile.yaml (or .claude/arness-profile.local.md if it exists — project override takes precedence). Apply the experience derivation mapping from ${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-ensure-config/references/experience-derivation.md. If no profile exists, check for legacy Experience level in ## Arness as fallback.Resolve the application project based on topology to understand the technology stack, services, and dependencies.
Monorepo (Application path: .):
## Arness config)architecture.md for technology stack, services, and dependenciespackage.json, requirements.txt, pyproject.toml, go.mod, Cargo.toml, pom.xml, *.csproj, GemfileSeparate repo:
Application path## Arness config, code patterns, and architectureInfra-only:
Scan for existing container files:
Dockerfile, Dockerfile.*, *.Dockerfiledocker-compose.yml, docker-compose.yaml, compose.yml, compose.yaml, docker-compose.*.yml.dockerignoreIf existing files found: Present findings: "I found existing container configurations: [list files]."
Ask (using AskUserQuestion):
"What would you like to do with existing container configurations?"
Options:
If the user chooses Review only: Skip to Step 5 (security audit) with existing files.
If no existing files found: Continue to Step 3.
Based on the application analysis from Step 1, determine what container files are needed.
Single-service applications:
Dockerfile, .dockerignoredocker-compose.yml if the app depends on external services (database, cache, queue)Multi-service applications:
Dockerfile per service (or Dockerfile.<service>)docker-compose.yml with all services.dockerignoreAsk the user to confirm the container strategy:
"Based on your application, I plan to generate:
Does this look right, or would you like to adjust?"
Load the appropriate reference files based on the detected technology stack:
Read the local override or plugin default for
dockerfile-patterns.md.
If multi-service or compose is needed:
Read the local override or plugin default for
compose-patterns.md.
Invoke the arn-infra-specialist agent via the Task tool with:
--- APPLICATION CONTEXT --- Technology stack: [language, framework, runtime version] Services: [list of services with roles] Build commands: [build steps for each service] Entry points: [start commands for each service] Dependencies: [external services -- databases, caches, queues] Environment variables: [required env vars, without values] Ports: [exposed ports per service] --- END APPLICATION CONTEXT ---
--- CONTAINER PATTERNS --- [content from dockerfile-patterns.md, filtered to relevant language(s)] [content from compose-patterns.md, if multi-service] --- END CONTAINER PATTERNS ---
--- INFRASTRUCTURE CONFIG --- Experience level: [derived from user profile] Providers: [from ## Arness -- for registry and platform hints] --- END INFRASTRUCTURE CONFIG ---
--- INSTRUCTIONS --- Generate container configurations for the application. For each Dockerfile:
Load the security checklist:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-containerize/references/container-security-checklist.mdfor container security requirements.
Invoke the arn-infra-security-auditor agent via the Task tool with:
--- FILES TO AUDIT --- [generated Dockerfile content(s)] [generated docker-compose.yml content, if any] [generated .dockerignore content] --- END FILES TO AUDIT ---
--- SECURITY CHECKLIST --- [content from container-security-checklist.md] --- END SECURITY CHECKLIST ---
--- INSTRUCTIONS --- Review the generated container configurations against the security checklist. Check for:
If critical or high findings are returned: Apply the security auditor's recommendations to the generated files automatically. Present the changes to the user: "The security audit found [N] issues. I have applied the following fixes: [list fixes]. Review the updated files below."
If only medium or low findings: Present the findings as advisory notes alongside the generated files.
Present each generated file to the user with syntax highlighting:
"Here are the generated container configurations:
Dockerfile (or Dockerfile.[service] for each service):
[generated content]
docker-compose.yml (if generated):
[generated content]
.dockerignore:
[generated content]
Security audit results: [summary of findings]
Ask (using AskUserQuestion):
"How would you like to proceed with the generated files?"
Options:
Upon user approval, write each generated file to the appropriate location:
Application pathPresent the summary:
Containerization Summary:
Recommended next steps:
"Container configurations are ready. Here is the recommended path:
docker compose up (or docker build .) to verify the configurations work/arn-infra-define to generate IaC for deploying these containers/arn-infra-pipeline to generate a CI/CD pipeline with container buildsOr run /arn-infra-wizard for the full guided pipeline."
## Arness config missing: Suggest running /arn-infra-wizard to get started. Stop.