Skip to content

/arn-infra-save-plan

This skill should be used when the user says "save infra plan", "save infrastructure plan", "structure infra plan", "create infra project", "finalize infra plan", "arn infra save plan", "infra save plan", "save change plan", "structure infrastructure plan", "finalize

shell
$ npx -y skills add AppsVortex/arness --skill arn-infra-save-plan --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-save-plan
How auto-invocation works

Context preview

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

This skill should be used when the user says "save infra plan", "save infrastructure plan", "structure infra plan", "create infra project", "finalize infra plan", "arn infra save plan", "infra save plan", "save change plan", "structure infrastructure plan", "finalize

SKILL.md

arn-infra-save-plan.SKILL.md
name: arn-infra-save-plan
description: >-
  This skill should be used when the user says "save infra plan",
  "save infrastructure plan", "structure infra plan", "create infra project",
  "finalize infra plan", "arn infra save plan", "infra save plan",
  "save change plan", "structure infrastructure plan", "finalize infrastructure plan",
  "arn-infra-save-plan", or wants to convert a PLAN_PREVIEW_INFRA_*.md into
  a structured project directory with infrastructure-specific templates,
  report templates, and progress tracking.
version: 1.0.0

Arness Infra Save Plan

Convert a `PLAN_PREVIEW_INFRA_*.md` plan preview into a structured project directory with infrastructure-specific INTRODUCTION.md, per-phase PHASE_N_PLAN.md files, TASKS.md, report templates, and a PROGRESS_TRACKER.json for execution tracking. This is the bridge between change-plan (which produces the preview) and execute-change (which consumes the structured project).

Pipeline position:

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

Extract:

  • **Infra plans directory** -- where structured plan projects live (e.g., `.arness/infra-plans`)
  • **Infra report templates** -- which report template set to use (default: `default`)
  • **Infra template path** -- where to copy report templates for the project (e.g., `.arness/infra-templates`)
  • **Infra template version** -- current template version for checksum tracking
  • **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.

If **Infra plans directory** is not configured, stop and instruct the user: "Infra plans directory is not configured. Run `/arn-infra-init` to set up infrastructure pipeline configuration."

---

Workflow

Step 1: Locate Plan Preview

Search for `PLAN_PREVIEW_INFRA_*.md` files in the **Infra plans directory**.

Glob <infra-plans-dir>/PLAN_PREVIEW_INFRA_*.md

**If no preview found:** Also check the project root:

Glob PLAN_PREVIEW_INFRA_*.md

**If exactly one preview found:** Auto-select it and present: "Found plan preview: `[filename]`. Proceeding to structure this plan."

**If multiple previews found:** Present the list:

Ask (using `AskUserQuestion`):

**"Which plan would you like to structure?"**

Options: 1. **[filename1]** -- [first line or title] 2. **[filename2]** -- [first line or title] ...

**If still no preview found:** Inform the user: "No PLAN_PREVIEW_INFRA_*.md found. Run `/arn-infra-change-plan` first to generate a plan preview."

---

Step 2: Extract Plan Metadata

Read the selected plan preview file. Extract:

  • **Project name** -- from the plan title (convert to kebab-case for directory name)
  • **Phase count** -- number of phases defined
  • **Phase titles** -- per-phase title and target environment
  • **Total resources** -- count of resources across all phases
  • **Blast radius summary** -- per-phase blast radius classification
  • **Environment promotion order** -- environments in deployment sequence

Present a summary:

"**Plan Summary:**

  • **Project:** [project name]
  • **Phases:** [count]
  • **Resources:** [total count]
  • **Environments:** [list in promotion order]
  • **Blast radius:** [summary]

Ask (using `AskUserQuestion`):

**"Proceed with structuring this plan?"**

Options: 1. **Yes** -- Structure the plan into a project directory 2. **No** -- Cancel

---

Step 3: Create Project Directory Structure

Run the `save_infra_plan.sh` script to create the project directory:

bash ${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-save-plan/scripts/save_infra_plan.sh "<project-name>" "<infra-plans-dir>" "<plan-preview-path>"

This creates:

<infra-plans-dir>/<project-name>/
├── SOURCE_PLAN.md          (copy of the original preview)
├── plans/                  (phase plan directory)
└── reports/                (execution report directory)

---

Step 4: Generate INTRODUCTION.md

> Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-save-plan/references/infra-templates.md` for the INTRODUCTION.md template structure.

Generate `INTRODUCTION.md` in the project directory using the template from `infra-templates.md`. Populate all sections from the plan preview content:

  • **Change Overview** -- what is changing and why
  • **Infrastructure Context** -- providers, IaC tools, current state summary
  • **Current State** -- existing resources, environment status
  • **Target State** -- desired end state
  • **Blast Radius Summary** -- per-phase classification
  • **Rollback Strategy** -- checkpoint locations, rollback procedures
  • **Environment Promotion Pipeline** -- promotion order, gates between environments
  • **Cost Budget** -- per-phase estimates, total budget
  • **Security Requirements** -- compliance frameworks, access controls

Write to: `<infra-plans-dir>/<project-name>/INTRODUCTION.md`

---

Step 5: Generate PHASE_N_PLAN.md Files

> Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-save-plan/references/infra-templates.md` for the PHASE_N_PLAN.md template structure.

For each phase in the plan preview, generate a `PHASE_N_PL

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.