Skip to content

/arn-infra-init

Optional customization tool for infrastructure projects. This skill should be used when the user says "infra init", "arn infra init", "initialize infra", "setup infrastructure", "arn-infra-init", "configure infra", "init infra", "infrastructure setup", "set up infrastructure",

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

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/arn-infra-init
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Optional customization tool for infrastructure projects. This skill should be used when the user says "infra init", "arn infra init", "initialize infra", "setup infrastructure", "arn-infra-init", "configure infra", "init infra", "infrastructure setup", "set up infrastructure",

SKILL.md

arn-infra-init.SKILL.md
name: arn-infra-init
description: >-
  Optional customization tool for infrastructure projects. This skill should be used when the user says
  "infra init", "arn infra init", "initialize infra", "setup infrastructure", "arn-infra-init",
  "configure infra", "init infra", "infrastructure setup", "set up infrastructure", "infra setup",
  "start infra", "configure arn infra", "add infrastructure to this project",
  "review infra config", "customize infra config", "infra settings",
  or wants to configure providers, environments, IaC tools, CI/CD platform, or review
  current infrastructure settings. Arness Infra auto-configures with sensible defaults on first
  skill invocation — this init is optional for basic usage but required for provider/environment
  configuration.
version: 1.0.0

Arness Infra Init

Configure the Arness Infra plugin for a project by selecting cloud providers and IaC tools, establishing environment strategy, and persisting configuration to CLAUDE.md. This is optional — Arness Infra auto-configures with sensible defaults on first skill invocation. Use this to configure providers, environments, IaC tools, CI/CD platform, or review your current settings.

This skill does NOT require Arness Core. It writes infra configuration fields into the shared `## Arness` section in CLAUDE.md, preserving any existing fields from arn-code or arn-spark. If no `## Arness` section exists, it creates one.

The infra configuration written by this skill contains up to 25 fields that govern the behavior of all downstream infrastructure skills and agents. The configuration is expertise-adaptive: experience level is derived from your user profile (set during first Arness skill invocation) and governs conversational tone and recommendations. Beginner users get opinionated PaaS recommendations, while expert users have full control over provider and IaC tool selection.

> **Note:** Experience level is now derived from your user profile and is no longer stored in `## Arness` config. The derivation mapping is at `${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-ensure-config/references/experience-derivation.md`. If no profile exists when init runs, the welcome flow in ensure-config runs first to create one.

Workflow

Step 0: Existing Infrastructure Detection

Before any user interaction, scan the project for existing infrastructure artifacts.

> Read the local override or plugin default for `existing-infra-detection.md`.

Scan for:

  • **IaC files:** `*.tf`, `*.hcl`, `Pulumi.*`, `cdk.json`, `*.bicep`
  • **Container configs:** `Dockerfile`, `docker-compose.*`, `.dockerignore`
  • **CI/CD pipelines:** `.github/workflows/`, `.gitlab-ci.yml`, `bitbucket-pipelines.yml`
  • **Platform configs:** `fly.toml`, `railway.json`, `vercel.json`, `render.yaml`, `netlify.toml`
  • **Kubernetes:** `kubernetes/`, `k8s/`, `helm/`, `Chart.yaml`
  • **Cloud-specific:** `.aws/`, `gcloud/`, `azure/`

**If existing infrastructure is detected:** Present findings: "I found existing infrastructure in this project: [list detected artifacts]. I can adopt and manage these within Arness Infra." Infer provider and IaC tool from detected artifacts (e.g., `.tf` files imply OpenTofu/Terraform, `fly.toml` implies Fly.io) and pre-populate the config suggestions in subsequent steps.

**If no infrastructure is detected:** Continue to Step 1 normally.

---

Step 1: Check Prerequisites and Existing Configuration

Read the project's CLAUDE.md.

**Check for `## Arness` section:**

  • If `## Arness` section exists: read it and extract all fields. Note which fields are from other plugins (Plans directory, Specs directory, etc. from arn-code; Vision directory, etc. from arn-spark) -- these will be preserved when writing infra fields.
  • If `## Arness` section does NOT exist: this is a standalone infra project. A new `## Arness` section will be created in Step 8.

**Check for existing infra configuration within `## Arness`:**

Check for any infra-specific field within `## Arness` (such as `Deferred`, `Project topology`, `Providers`, or `Infra plans directory`) -- these fields are only written by infra-init or infra-ensure-config and their presence indicates infra has been initialized. Note: the `Experience level` field is no longer used as the indicator since it has been removed from `## Arness` config.

**If infra fields do not exist (fresh init):**

  • Proceed to Step 1b

**If infra fields exist:** 1. Parse all infra config fields from the `## Arness` section 2. Show the user their current configuration 3. Ask (using `AskUserQuestion`):

**"What would you like to do with your existing configuration?"**

Options: 1. **Review** -- Show current configuration summary, no changes 2. **Update** -- Check for missing fields and fill them in 3. **Reconfigure** -- Re-run the full setup flow from scratch 4. **Keep** -- No changes

  • If **Review** --> display a clean summary of all `## Arness` fields relevant to Arness Infra, then exit the skill
  • If **Keep** --> done, exit the skill
  • If **Reconfigure** --> continue to Step 1b, pre-filling known values as defaults
  • If **Update** --> check which fields are missing and only process those. Preserve all existing fields. Run Step U1 (Reference Upgrade) to check for reference version changes. Then proceed to Step 8 to write the updated config.

---

Step 1b: Timing and Deferral

Before any configuration:

Ask (using `AskUserQuestion`):

**"When do you want to set up infrastructure?"**

Options: 1. **Now** -- Configure providers and start the infrastructure workflow 2. **Later** -- Create a minimal config and defer infrastructure planning. Arness will accumulate infrastructure notes as you build features.

**If deferred:**

  • Derive experience level from user profile (Step 2) and ask Step 4 (topology) only
  • Write (or append to existing `## Arness`) minimal infra config with: `Deferred: yes`, `Project topology`, `Application path` (if applicable)
  • Create `.arness/infra/` directory: `mkdir -p .
Read more
Read it on GitHub ↗

Showing the first part of this file.

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.

Get the whole plugin, auto-invoked

Other skills on arness.