From arn-infra
This skill should be used when the user says "containerize", "dockerize", "create dockerfile", "docker setup", "container setup", "arn infra containerize", "infra containerize", "generate docker", "docker compose", "compose setup", "containerize my app", "docker configuration", "create docker-compose", "multi-stage docker", "container config", "dockerize my application", "infra docker", "set up containers", or wants to generate Dockerfiles, docker-compose configurations, and .dockerignore files for their application with security auditing and multi-stage build best practices.
npx claudepluginhub appsvortex/arness --plugin arn-infraThis skill uses the workspace's default tool permissions.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Builds 3-5 year financial models for startups with cohort revenue projections, cost structures, cash flow, headcount plans, burn rate, runway, and scenario analysis.
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.