Skip to content
Development
Skill

/arn-infra-containerize

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",

From plugin
arness
3590 skills48 agents

Claude Code

$ npx -y skills add AppsVortex/arness --skill arn-infra-containerize --agent claude-code

SKILL.md

arn-infra-containerize.SKILL.md
name: arn-infra-containerize
description: >-
  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.
version: 1.0.0

Arness Infra Containerize

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.

Prerequisites

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:

  • **Project topology** -- how to resolve the application project (monorepo, separate-repo, infra-only)
  • **Application path** -- path to the application project root
  • **Experience level** -- derived from user profile. Read `~/.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.
  • **Providers** -- informs container registry selection and platform-specific optimizations
  • **Tooling manifest** -- path to check for Docker/container tools availability

Workflow

Step 1: Resolve Application Context

Resolve the application project based on topology to understand the technology stack, services, and dependencies.

**Monorepo (`Application path: .`):**

  • Read codebase patterns from the local code-patterns directory (path from `## Arness` config)
  • Read `architecture.md` for technology stack, services, and dependencies
  • Scan the source tree for: `package.json`, `requirements.txt`, `pyproject.toml`, `go.mod`, `Cargo.toml`, `pom.xml`, `*.csproj`, `Gemfile`
  • Identify application entry points, build commands, and runtime requirements

**Separate repo:**

  • Navigate to `Application path`
  • Read the application's `## Arness` config, code patterns, and architecture
  • Scan for the same dependency/entry point files
  • If the path is unreachable, inform the user and ask them to describe the application stack manually

**Infra-only:**

  • No application to analyze directly
  • Ask the user to describe: language/framework, services (web, API, workers), databases, build commands, runtime requirements
  • Proceed with user-provided context

---

Step 2: Check Existing Container Configurations

Scan for existing container files:

  • `Dockerfile`, `Dockerfile.*`, `*.Dockerfile`
  • `docker-compose.yml`, `docker-compose.yaml`, `compose.yml`, `compose.yaml`, `docker-compose.*.yml`
  • `.dockerignore`

**If 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: 1. **Replace** -- Generate new configurations (existing files will be overwritten after your approval) 2. **Augment** -- Keep existing files and add missing configurations 3. **Review only** -- Run a security audit on the existing files without generating new ones

**If the user chooses Review only:** Skip to Step 5 (security audit) with existing files.

**If no existing files found:** Continue to Step 3.

---

Step 3: Determine Container Strategy

Based on the application analysis from Step 1, determine what container files are needed.

**Single-service applications:**

  • Generate: `Dockerfile`, `.dockerignore`
  • Optionally generate `docker-compose.yml` if the app depends on external services (database, cache, queue)

**Multi-service applications:**

  • Generate: one `Dockerfile` per service (or `Dockerfile.<service>`)
  • Generate: `docker-compose.yml` with all services
  • Generate: `.dockerignore`

Ask the user to confirm the container strategy:

"Based on your application, I plan to generate:

  • [list of files to generate]
  • Multi-stage builds for [production optimization / smaller images]
  • [Development docker-compose with hot reload / Production-only compose]

Does this look right, or would you like to adjust?"

---

Step 4: Invoke Specialist Agent for Generation

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, passing the model from `.arness/agent-models/infra.md` as the `model` parameter (see `plugins/arn-infra/skills/arn-infra-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:

--- APPLICATION CON

Read more
@appsvortex
Ships witharness

Arness — H not required. Structured AI workflows for Claude Code. From first idea to production deploy. Seven entry commands. That's all you need to remember.

3590 skills48 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
35
Star history of AppsVortex/arness on GitHub, a chart by star-history.com

Other skills on arness.

arn-assessing

arn-assessing

This skill should be used when the user says "assessing", "arness assessing", "assess", "assess codebase", "technical review",…

@appsvortex@appsvortexInstall Skill
arn-code-assess

arn-code-assess

This skill should be used when the user says "arness code assess", "arn-code-assess", "tech debt audit", "assess the project", or…

@appsvortex@appsvortexInstall Skill
arn-code-batch-cve-fix

arn-code-batch-cve-fix

This skill should be used when the user says "fix CVEs", "patch vulnerabilities", "apply security patches", "batch CVE fix",…

@appsvortex@appsvortexInstall Skill
arn-code-batch-cve-scan

arn-code-batch-cve-sca…

This skill should be used when the user says "scan for CVEs", "CVE scan", "check for vulnerabilities", "dependabot triage",…

@appsvortex@appsvortexInstall Skill
arn-code-batch-implement

arn-code-batch-impleme…

This skill should be used when the user says "batch implement", "implement all", "batch execution", "implement all features",…

@appsvortex@appsvortexInstall Skill
arn-code-batch-merge

arn-code-batch-merge

This skill should be used when the user says "batch merge", "merge batch", "arness batch merge", "arn-code-batch-merge", "merge…

@appsvortex@appsvortexInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about arn-infra-containerize.

Which coding agents can use arn-infra-containerize?
arn-infra-containerize installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.