From arn-infra
Triages Arness infrastructure request issues from GitHub or Jira: invokes analyzer for app artifact implications, updates labels, and generates structured implications briefs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/arn-infra:arn-infra-triageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Process incoming infrastructure request issues, invoke the `arn-infra-request-analyzer` agent to extract infrastructure implications from the referenced application artifacts, update issue labels, and produce a structured implications brief. This skill bridges application feature development and infrastructure provisioning.
Process incoming infrastructure request issues, invoke the arn-infra-request-analyzer agent to extract infrastructure implications from the referenced application artifacts, update issue labels, and produce a structured implications brief. This skill bridges application feature development and infrastructure provisioning.
Infrastructure request issues are typically created by Arness Core when a completed feature has infrastructure implications (new database, new endpoints, new env vars). They can also be created manually by users.
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 currently in deferred mode. Triage is not available until infrastructure is un-deferred. Run /arn-infra-assess to un-defer and produce a full infrastructure assessment." Stop.
Extract Infra specs directory for use in Step 6 save path. If not configured, default to .arness/infra-specs.
Extract:
~/.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.The user provides an issue reference. Accept any of:
#42 or 42https://github.com/org/repo/issues/42Read the issue:
gh issue view <number> --json title,body,labels,urlExtract structured fields from the issue body. If the issue follows the infra-request-template.md format (created by Arness Core), parsing is automatic:
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-triage/references/infra-request-template.mdfor the expected format.
Structured parsing (template format):
Free-form parsing (manual issues): If the issue does not follow the template format:
Invoke the arn-infra-request-analyzer agent via the Task tool with:
--- ISSUE CONTEXT ---
[parsed issue content from Step 2]
--- END ISSUE CONTEXT ---
--- INFRASTRUCTURE CONFIG ---
Project topology: [topology]
Application path: [path]
Providers: [from ## Arness]
Default IaC tool: [from ## Arness]
Experience level: [derived from user profile]
--- END INFRASTRUCTURE CONFIG ---
--- INSTRUCTIONS ---
Analyze the referenced application artifacts. Navigate to the application project
at [Application path]. Read the feature spec, plan, and implementation files
referenced in the issue. Extract infrastructure implications and produce an
implications brief following the template format.
--- END INSTRUCTIONS ---
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-triage/references/implications-brief-template.mdfor the brief format.
Pass the implications brief template to the agent so it produces correctly structured output.
Topology-aware behavior:
Application path. If the path is unreachable, fall back to the issue content only and inform the user: "Could not access the application project at [path]. Analysis is based on the issue content only. For a more thorough analysis, ensure the application path is accessible."After the analyzer produces its brief, update the issue labels.
First check if the arn-infra-request label is present on the issue. If present, remove it. Always add arn-infra-in-progress regardless.
GitHub:
gh issue edit <number> --remove-label "arn-infra-request" --add-label "arn-infra-in-progress"
Jira: Use the Atlassian MCP to update labels on the issue.
None: Skip label updates. Note in the output.
Present the infrastructure implications brief to the user. Adapt detail level based on experience level:
Ask (using AskUserQuestion):
"Infrastructure implications have been analyzed. What would you like to do?"
Options:
If Review and adjust: enter discussion mode -- present the implications brief for iterative refinement with the user before returning to this decision.
If Save for later: write the brief to <infra-specs-dir>/INFRA_<feature-name>.md using the feature name from the issue.
If Act on this now:
Ask (using AskUserQuestion):
"Which implementation path?"
Options:
/arn-infra-define to generate IaC configurations/arn-infra-wizard for end-to-end infrastructure setup/arn-infra-change-spec for structured change management with review gates, cost tracking, and audit trails. Recommended for complex or multi-environment changes.## Arness config missing: Suggest running /arn-infra-wizard to get started. Stop.arn-infra-request label: Warn: "This issue does not have the arn-infra-request label. It may not be a standard infrastructure request. Proceed anyway?" If yes, continue. If no, stop.arn-infra-in-progress.npx claudepluginhub appsvortex/arness --plugin arn-infraAssesses application infrastructure needs by analyzing codebases and deferred backlogs, asking structured questions, and publishing prioritized infra backlog as issues to the tracker.
Reports bugs and feature requests against Infrahub-ecosystem GitHub repos by classifying, routing, and searching for duplicates. Triggers when a user wants to file an issue.
Browses Arness-labeled issues from GitHub, Jira, or local feature backlog, selects unblocked one via dependency resolution, and routes to implementation pipeline.