/arn-infra-change-plan
This skill should be used when the user says "plan infra change", "arn-infra-change-plan", "infra change plan", "plan this infrastructure change", "create infra plan", "arn infra plan", "plan the infra spec", "infrastructure implementation plan", "infra plan from spec",
$ npx -y skills add AppsVortex/arness --skill arn-infra-change-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-change-plan
Context preview
The summary Claude sees to decide when to auto-load this skill.
This skill should be used when the user says "plan infra change", "arn-infra-change-plan", "infra change plan", "plan this infrastructure change", "create infra plan", "arn infra plan", "plan the infra spec", "infrastructure implementation plan", "infra plan from spec",
SKILL.md
arn-infra-change-plan.SKILL.mdname: arn-infra-change-plan
description: >-
This skill should be used when the user says "plan infra change",
"arn-infra-change-plan", "infra change plan", "plan this infrastructure change",
"create infra plan", "arn infra plan", "plan the infra spec",
"infrastructure implementation plan", "infra plan from spec",
"generate infra plan", "plan infrastructure", or wants to generate a
phased implementation plan from an infrastructure change specification,
structured by provisioning order, blast radius, rollback checkpoints,
and environment promotion gates.
version: 1.0.0
Arness Infra Change Plan
Generate a phased implementation plan from an infrastructure change specification by invoking the `arn-infra-change-planner` agent. The plan is written to disk as a PLAN_PREVIEW file, presented to the user for review, and iteratively refined based on feedback until approved. The approved plan then feeds into `/arn-infra-save-plan` for structuring into phases, tasks, and reports.
This skill plans in infrastructure terms -- phases are ordered by provisioning dependency, blast radius classification, rollback checkpoint placement, and environment promotion gates -- not by application development concepts.
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. Change planning 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`)
- **Infra plans directory** -- path where plans are stored (default: `.arness/infra-plans`)
- **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
If `Infra plans directory` is not configured, use the default `.arness/infra-plans`. If the directory does not exist, create it: `mkdir -p <infra-plans-dir>`.
---
Workflow
Step 1: Find the Change Specification
The user may provide a spec name as an argument (e.g., "plan infra change migrate-database-managed" or "arn infra plan INFRA_CHANGE_vpc-restructure").
**If an argument was provided:**
- Look for `<infra-specs-dir>/<argument>.md` (exact match)
- If not found, try `<infra-specs-dir>/INFRA_CHANGE_<argument>.md`
- If not found, try matching files in `<infra-specs-dir>/` that contain the argument text in their filename
- If still not found, list available specs and ask the user to choose
**If no argument was provided:**
- List all `INFRA_CHANGE_*.md` files in `<infra-specs-dir>/`
- If only one exists, use it automatically
- If multiple exist, show the list sorted by modification date (most recent first) and ask the user to choose
- If none exist, inform the user: "No infrastructure change specifications found in `<infra-specs-dir>/`. Run `/arn-infra-change-spec` to create one first."
---
Step 2: Load Context
Read these files: 1. The selected specification file (INFRA_CHANGE_*.md) 2. The blast radius guide for classification reference: > Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-change-spec/references/blast-radius-guide.md`
If the spec file cannot be read, inform the user and stop.
---
Step 3: Invoke the Change Planner Agent
Derive the spec name from the spec filename (strip prefix and extension):
- `INFRA_CHANGE_migrate-database-managed.md` -> `migrate-database-managed`
- `INFRA_CHANGE_vpc-restructure.md` -> `vpc-restructure`
The output file path is: `<infra-plans-dir>/PLAN_PREVIEW_INFRA_<spec-name>.md`
**Check for existing PLAN_PREVIEW:** If a PLAN_PREVIEW file already exists at that path, inform the user: "A plan preview already exists for this spec: `<path>`."
Ask (using `AskUserQuestion`):
**"A plan preview already exists. What would you like to do?"**
Options: 1. **Regenerate** -- Generate a new plan from scratch 2. **Review** -- Review the existing plan
If **Review**, skip to Step 4. If **Regenerate**, proceed.
Invoke the `arn-infra-change-planner` agent via the Task tool, passing the model from `.arness/agent-models/infra.md` as the `model` parameter (see `plugins/arn-infra/skills/arn-infra-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:
You are generating a phased infrastructure implementation plan for the following change specification.
**Specification:** <spec-name>
**Spec file:** <infra-specs-dir>/<spec-filename>
--- CHANGE SPEC ---
[full spec file content]
--- END CHANGE SPEC ---
--- PROVIDER CONFIG ---
Providers: [from ## Arness]
Default IaC tool: [from ## Arness, if configured]
--- END PROVIDER CONFIG ---
--- ENVIRONMENT CONFIG ---
Environments: [from ## Arness]
Promotion order: [from ## Arness or from the spec's Environment Scope section]
--- END ENVIRONMENT CONFIG ---
--- OUTPUT INSTRUCTIONS ---
Output file: <infra-plans-dir>/PLAN_PREVIEW_INFRA_<spec-name>.md
Generate a phased implementation plan structured by:
1. Provisioning dependency order (network before compute, compute before application)
2. Blast radius clas
Read more
name: arn-infra-change-plan description: >- This skill should be used when the user says "plan infra change", "arn-infra-change-plan", "infra change plan", "plan this infrastructure change", "create infra plan", "arn infra plan", "plan the infra spec", "infrastructure implementation plan", "infra plan from spec", "generate infra plan", "plan infrastructure", or wants to generate a phased implementation plan from an infrastructure change specification, structured by provisioning order, blast radius, rollback checkpoints, and environment promotion gates. version: 1.0.0
Arness Infra Change Plan
Generate a phased implementation plan from an infrastructure change specification by invoking the `arn-infra-change-planner` agent. The plan is written to disk as a PLAN_PREVIEW file, presented to the user for review, and iteratively refined based on feedback until approved. The approved plan then feeds into `/arn-infra-save-plan` for structuring into phases, tasks, and reports.
This skill plans in infrastructure terms -- phases are ordered by provisioning dependency, blast radius classification, rollback checkpoint placement, and environment promotion gates -- not by application development concepts.
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. Change planning 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`)
- **Infra plans directory** -- path where plans are stored (default: `.arness/infra-plans`)
- **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
If `Infra plans directory` is not configured, use the default `.arness/infra-plans`. If the directory does not exist, create it: `mkdir -p <infra-plans-dir>`.
---
Workflow
Step 1: Find the Change Specification
The user may provide a spec name as an argument (e.g., "plan infra change migrate-database-managed" or "arn infra plan INFRA_CHANGE_vpc-restructure").
**If an argument was provided:**
- Look for `<infra-specs-dir>/<argument>.md` (exact match)
- If not found, try `<infra-specs-dir>/INFRA_CHANGE_<argument>.md`
- If not found, try matching files in `<infra-specs-dir>/` that contain the argument text in their filename
- If still not found, list available specs and ask the user to choose
**If no argument was provided:**
- List all `INFRA_CHANGE_*.md` files in `<infra-specs-dir>/`
- If only one exists, use it automatically
- If multiple exist, show the list sorted by modification date (most recent first) and ask the user to choose
- If none exist, inform the user: "No infrastructure change specifications found in `<infra-specs-dir>/`. Run `/arn-infra-change-spec` to create one first."
---
Step 2: Load Context
Read these files: 1. The selected specification file (INFRA_CHANGE_*.md) 2. The blast radius guide for classification reference: > Read `${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-change-spec/references/blast-radius-guide.md`
If the spec file cannot be read, inform the user and stop.
---
Step 3: Invoke the Change Planner Agent
Derive the spec name from the spec filename (strip prefix and extension):
- `INFRA_CHANGE_migrate-database-managed.md` -> `migrate-database-managed`
- `INFRA_CHANGE_vpc-restructure.md` -> `vpc-restructure`
The output file path is: `<infra-plans-dir>/PLAN_PREVIEW_INFRA_<spec-name>.md`
**Check for existing PLAN_PREVIEW:** If a PLAN_PREVIEW file already exists at that path, inform the user: "A plan preview already exists for this spec: `<path>`."
Ask (using `AskUserQuestion`):
**"A plan preview already exists. What would you like to do?"**
Options: 1. **Regenerate** -- Generate a new plan from scratch 2. **Review** -- Review the existing plan
If **Review**, skip to Step 4. If **Regenerate**, proceed.
Invoke the `arn-infra-change-planner` agent via the Task tool, passing the model from `.arness/agent-models/infra.md` as the `model` parameter (see `plugins/arn-infra/skills/arn-infra-ensure-config/references/ensure-config.md` "Dispatch convention" for fallback). Context:
You are generating a phased infrastructure implementation plan for the following change specification. **Specification:** <spec-name> **Spec file:** <infra-specs-dir>/<spec-filename> --- CHANGE SPEC --- [full spec file content] --- END CHANGE SPEC --- --- PROVIDER CONFIG --- Providers: [from ## Arness] Default IaC tool: [from ## Arness, if configured] --- END PROVIDER CONFIG --- --- ENVIRONMENT CONFIG --- Environments: [from ## Arness] Promotion order: [from ## Arness or from the spec's Environment Scope section] --- END ENVIRONMENT CONFIG --- --- OUTPUT INSTRUCTIONS --- Output file: <infra-plans-dir>/PLAN_PREVIEW_INFRA_<spec-name>.md Generate a phased implementation plan structured by: 1. Provisioning dependency order (network before compute, compute before application) 2. Blast radius clas
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

