Skip to content
Development
Skill

/arn-infra-change-spec

This skill should be used when the user says "infra change spec", "infrastructure change", "specify infrastructure change", "change spec", "arn infra spec", "describe infra change", "what infrastructure needs to change", "infra spec", "spec this infra change", "write infra

From plugin
arness
3590 skills48 agents

Claude Code

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

SKILL.md

arn-infra-change-spec.SKILL.md
name: arn-infra-change-spec
description: >-
  This skill should be used when the user says "infra change spec",
  "infrastructure change", "specify infrastructure change", "change spec",
  "arn infra spec", "describe infra change", "what infrastructure needs to change",
  "infra spec", "spec this infra change", "write infra spec",
  "infrastructure change specification", "create infra change spec",
  "upgrade to pipeline", "convert to pipeline", or wants to iteratively develop
  an infrastructure change idea into a well-formed specification through guided
  conversation, or wants to upgrade existing interactive IaC artifacts into the
  structured change pipeline.
version: 1.0.0

Arness Infra Change Spec

Develop an infrastructure change idea into a well-formed specification through iterative conversation, aided by the `arn-infra-request-analyzer` and `arn-infra-cost-analyst` agents. This is a conversational skill that runs in normal conversation (NOT plan mode). The primary artifact is an **infrastructure change specification** written to the project's infra specs directory that captures affected resources, blast radius, environment scope, rollback requirements, compliance constraints, and cost impact. The spec then informs plan creation via `/arn-infra-change-plan`.

This skill supports two entry paths:

  • **Fresh:** Guide the user through an iterative conversation to develop the change from scratch
  • **Upgrade from interactive:** Accept existing IaC artifacts or resource manifests produced by interactive skills (define, containerize, deploy) and build a structured spec around them

Pipeline position: arn-infra-init -> arn-infra-wizard (Full Pipeline) -> [arn-infra-change-spec] -> arn-infra-change-plan -> arn-infra-save-plan -> arn-infra-execute-change -> arn-infra-review-change -> arn-infra-document-change

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. Change specification is not available until infrastructure is fully configured. Run `/arn-infra-assess` to un-defer." Stop.

Extract:

  • **Infra specs directory** -- path where INFRA_CHANGE_*.md specs are stored (default: `.arness/infra-specs`)
  • **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** -- which cloud providers are configured
  • **Environments** -- which environments exist and their promotion order
  • **Cost threshold** -- budget threshold for cost impact warnings

If `Infra specs directory` is not configured, use the default `.arness/infra-specs`. If the directory does not exist, create it: `mkdir -p <infra-specs-dir>`.

---

Workflow

Step 1: Determine Entry Path

Analyze the user's trigger message and project state to determine which entry path to follow.

**Upgrade detection:** Check for signals that the user wants to upgrade existing interactive work to the pipeline:

  • User explicitly says "upgrade to pipeline", "convert to pipeline", or "upgrade from interactive"
  • User references existing IaC artifacts: "I already defined infrastructure", "I used arn-infra-define", "upgrade my existing infrastructure"
  • Existing IaC files are present and the user references them

**If upgrade signals are detected:** Go to Step 2a (Upgrade Path).

**If no upgrade signals:** Go to Step 2b (Fresh Path).

---

Step 2a: Upgrade from Interactive Path

This path accepts existing IaC artifacts produced by interactive skills and builds a structured change spec around them.

1. **Locate existing artifacts:**

  • Check for IaC files in the project (`.tf`, `Pulumi.*`, `cdk.json`, `*.bicep`, `fly.toml`, `docker-compose.yml`, Kubernetes manifests, platform configs)
  • Check for resource manifests (`active-resources.json`, `tooling-manifest.json`)
  • Check for existing provider configuration (`.arness/infra/providers.md`)

2. **Present findings to the user:**

"I found the following existing infrastructure artifacts:

| Artifact | Type | Provider | Path | |----------|------|----------|------| | ... | IaC/Config/Manifest | ... | ... |

I'll build a change specification around these. This captures the change formally so it can go through the structured pipeline (plan, execute, review, document)."

3. **Extract infrastructure context from artifacts:**

  • Read the IaC files to identify resources being created, modified, or configured
  • Read provider configuration for environment and provider details
  • Read any existing specs or briefs in the infra specs directory

4. **Proceed to Step 3** with the extracted context as the initial change description. Skip the iterative idea capture -- the artifacts define what is changing.

---

Step 2b: Fresh Path

Guide the user through developing the change idea from scratch.

Ask the user to describe their infrastructure change. Accept anything from a single sentence to a detailed description. Do not require a specific format.

If the user already provided the change idea in their trigger message (e.g., "infra change spec: migrate the database to a managed service"), use that directly without asking again.

Acknowledge the idea with a brief restatement to confirm understanding.

**Prompt questions to fill gaps** (adapt to experience level):

**Expert:** Ask targeted questions only for genuinely missing information. Trust the user to provide sufficie

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-change-spec.

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