/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
$ npx -y skills add AppsVortex/arness --skill arn-infra-save-plan --agent claude-codeHow 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
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.mdname: 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
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
Showing the first part of this file.
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.
Repo: AppsVortex/arness
Other skills on arness.
- /arn-assessing
This skill should be used when the user says "assessing", "arness assessing", "assess", "assess codebase", "technical review", "codebase assessment", "find improvements", "what should I improve", "tech debt review", "pattern compliance check", "codebase health check",
Open skill - /arn-code-assess
This skill should be used when the user says "arness code assess", "arn-code-assess", "assess codebase", "technical review", "codebase assessment", "find improvements", "what should I improve", "tech debt review", "tech debt audit", "pattern compliance check", "codebase health
Open skill - /arn-code-batch-cve-fix
This skill should be used when the user says "fix CVEs", "patch vulnerabilities", "apply security patches", "resolve security advisories", "batch CVE fix", "patch dependencies", "fix security findings", "remediate CVEs", "apply CVE fixes", "batch fix vulnerabilities", "resolve
Open skill - /arn-code-batch-cve-scan
This skill should be used when the user says "scan for CVEs", "CVE scan", "check for vulnerabilities", "find vulnerabilities", "check security advisories", "dependabot triage", "dependabot scan", "scan dependencies for security issues", "audit dependencies", "vulnerability
Open skill - /arn-code-batch-implement
This skill should be used when the user says "batch implement", "implement all", "batch execution", "implement all features", "parallel implement", "implement in parallel", "arness batch implement", "arn-code-batch-implement", "run batch implementation", "implement everything",
Open skill - /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 all PRs", "merge batch PRs", "merge the batch", "merge implemented features", "batch merge PRs", "merge open PRs", "merge all feature PRs", "combine
Open skill

