Skip to content
Development
Skill

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

From plugin
arness
3590 skills48 agents

Claude Code

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

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
@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-init.

Which coding agents can use arn-infra-init?
arn-infra-init 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.