Help us improve
Share bugs, ideas, or general feedback.
From arn-infra
Audits installed infrastructure tools (MCPs, CLIs, Claude Code plugins), checks authentication state, searches for new official tools, recommends installations, and generates tooling manifest.
npx claudepluginhub appsvortex/arness --plugin arn-infraHow this skill is triggered — by the user, by Claude, or both
Slash command
/arn-infra:arn-infra-discoverThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Proactively audit installed infrastructure tools (MCPs, CLIs, Claude Code plugins), check authentication state, search online for new official tools, generate installation recommendations, and produce a tooling manifest. This is the second step after `arn-infra-init` -- it ensures the user has the right tools configured before generating infrastructure code.
Configures Arness Infra for projects by selecting cloud providers, IaC tools like Terraform/Pulumi, environments, CI/CD platforms, scanning existing artifacts, and persisting to CLAUDE.md.
Inventories cloud resources across AWS, GCP, Cloudflare, Fly.io via CLI; scans IaC files; maps connections and flags risks. For infra inventory or discovery requests.
Analyzes Terraform, CloudFormation, and Pulumi configurations for module structure, state management, drift prevention, and security posture.
Share bugs, ideas, or general feedback.
Proactively audit installed infrastructure tools (MCPs, CLIs, Claude Code plugins), check authentication state, search online for new official tools, generate installation recommendations, and produce a tooling manifest. This is the second step after arn-infra-init -- it ensures the user has the right tools configured before generating infrastructure code.
This skill is proactive: it does not just check what is installed, but actively recommends what should be installed based on the user's provider configuration. It distinguishes between official (first-party from the cloud provider) and community tools, prioritizing official tools in recommendations.
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.
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.For each provider in the Providers list, check what is already installed.
Read the local override or plugin default for
mcp-registry.md. Read the local override or plugin default forcli-registry.md. Read the local override or plugin default forplugin-registry.md.
The three registry files above are evolving references (read from the user's local .arness/infra-references/ override if it exists, otherwise from the plugin default). The tooling manifest schema referenced in Phase D is a static reference always read directly from the plugin.
A.1. MCP Detection:
.mcp.json for configured MCP serversmcp-registry.md to identify known provider MCPsA.2. CLI Detection:
cli-registry.md:
aws --version, gcloud --version, az --version, doctl version, fly version, vercel --version, netlify --version, railway version, scw version, wrangler --versiontofu --version, terraform --version, pulumi version, cdk --versioncheckov --version, trivy --version, infracost --versiontrufflehog --version, gitleaks versionA.3. Authentication Check:
aws sts get-caller-identitygcloud auth listaz account showdoctl account getfly auth whoamivercel whoaminetlify statusA.4. Terraform License Check:
terraform is found without tofu: flag the BSL licensing issue and recommend OpenTofu migrationterraform and tofu are found: note both, recommend using tofuA.5. Plugin Detection:
plugin-registry.mdFor each provider in the user's configuration, use WebSearch to check for:
"[provider]" official MCP server "Claude Code" or "[provider]" MCP server npm"[provider]" Claude Code plugin official"[provider]" CLI latest version featuresImportant constraints:
Compare what is installed (Phase A) with what is available (registries + Phase B) to produce recommendations.
For each tool category (MCP, CLI, Plugin, IaC, Validation) relevant to the user's providers:
MCPs not installed:
"The official [Provider] MCP server is available but not configured. It enables [capabilities]. Install: [install command] and add to .mcp.json:"
{
"[provider]-mcp": {
"command": "[command]",
"args": ["[args]"]
}
}
Offer to auto-add to .mcp.json with user approval.
CLIs not installed:
"The official [Provider] CLI ([binary]) is not installed. It enables [capabilities]. Install: [install command for user's OS]."
Claude Code plugins not installed:
"The official [Provider] Claude Code plugin ([plugin-name]) is available. It handles [operations] and Arness Infra can delegate to it."
IaC/validation tools not installed: Same pattern -- detect what is missing from the chosen workflow, recommend with install commands.
Priority tagging:
tofu binary missing when IaC tool is opentofu)For tools tagged Required, warn: "Without [tool], Arness Infra cannot perform [operation]. Install it before proceeding."
Read
${CLAUDE_PLUGIN_ROOT}/skills/arn-infra-discover/references/tooling-manifest-schema.mdfor the manifest JSON schema.
D.1. Write tooling manifest:
Write tooling-manifest.json to the path configured in ## Arness (default: .arness/infra/tooling-manifest.json).
The manifest includes:
Confidence ratings per provider:
Exception: If an official Claude Code plugin is installed for a provider, the confidence is at least B regardless of other tooling.
D.2. Present summary to the user in two sections.
Adapt output detail to experience level:
Section 1: Installed and Ready
| Tool | Type | Provider | Version | Auth Status | Official |
|---|---|---|---|---|---|
| ... | MCP/CLI/Plugin | ... | ... | Yes/No | Yes/No |
Section 2: Recommended Installations
| Tool | Type | Provider | Official | Priority | Install Command | What It Enables |
|---|---|---|---|---|---|---|
| ... | MCP/CLI/Plugin | ... | Yes/No | Required/Recommended/Optional | ... | ... |
D.3. Show per-provider confidence:
| Provider | Confidence | Reason |
|---|---|---|
| aws | A | Official MCP + AWS CLI authenticated |
| vercel | B | Vercel CLI authenticated, no MCP |
| ... | ... | ... |
D.4. Auto-configure MCP offers: For each recommended MCP:
Ask (using AskUserQuestion):
"Would you like me to add the [Provider] MCP to your .mcp.json?"
Options:
If approved, add the MCP configuration entry to the project's .mcp.json.
D.5. Update providers.md:
Update each provider's Confidence rating in .arness/infra/providers.md based on the discovery results.
## Arness config missing: Suggest running /arn-infra-wizard to get started. Stop.aws configure, gcloud auth login)..mcp.json does not exist: Create it if the user approves an MCP auto-add. Start with {}.mkdir -p the parent path.