--- name: azure-functions-inventory description: "Use when collecting Azure Functions app specifications/inventory only: resource identity, SKU/plan, runtime, Function App config, network, identity, selected app settings, and function/trigger inventory. Do not use for runtime health, failures, metrics, or telemetry investigation." --- # Azure Functions Inventory Use this skill to collect the static specifications of an existing Azure Function App. Write final answers in the user's language. ## Required interaction Ask only for missing inputs that are needed to identify the app: - Function App name (required unless already provided) - Subscription ID or name (optional) - Resource group (optional) If subscription or resource group is unknown, discover them with Resource Graph. If multiple matching apps are found, ask the user to choose one. ## Fast path 1. Call Azure best practices for `azurefunctions` first when available. 2. Run the bundled inventory script for the current shell/OS: - `scripts/get-functionapp-inventory.ps1 -AppName ` - `bash scripts/get-functionapp-inventory.sh -a ` on macOS/Linux or Bash - Add `-SubscriptionId ` and/or `-ResourceGroup ` when known. - For Bash, use `-s ` and/or `-g ` when known. - Bash script requires Azure CLI plus a working `python3` or `python` executable for JSON shaping. - The script only reads data. It does not change the Azure CLI default subscription, configuration, or extensions. To search all subscriptions, it needs the `resource-graph` Azure CLI extension. If the extension is not installed, the script searches one subscription with `az resource list` and records this in `errors`. Do not install the extension without user approval. - Read the `errors` field of the output. Report each error as a gap. Do not report the inventory as complete or healthy when a step failed. 3. If bundled script execution is unavailable, use `references/inventory-commands.md`. 4. Report only inventory/specification data unless the user explicitly asks for health or telemetry. If a caller needs runtime or trigger interpretation after inventory collection, use `../azure-functions-common/references/routing.md` on demand. Do not load shared language/extension references for plain inventory output. ## Next steps - On success, suggest `azure-functions-health-status` to check current health and telemetry next. - On failure, suggest `azure-functions-diagnostics` to triage missing or blocked inventory data. ## Scope boundary This skill should collect: - Resource identity: subscription, resource group, region, resource ID, host name - Plan/SKU/runtime: plan name/SKU/status, OS, runtime stack/version, Functions runtime - Flex config: deployment storage type/auth, memory, max instances, always-ready value, update strategy - Network/security: VNet integration, public network access, HTTPS only, TLS, FTPS, private endpoint count if available - Identity/settings: managed identity type and selected setting presence with secrets redacted - Functions inventory: functions and trigger types, enabled/disabled counts - Related resources in the resource group, summarized by resource type/name/SKU Do not include metrics, Application Insights, exceptions, traces, dependencies, Activity Log, or Resource Health analysis. Use the health skill for those. ## Output template ```text Target: (, , ) Plan/Runtime: , , , Functions , memory , max , alwaysReady Network/Identity: VNet , publicAccess , identity Settings: Triggers: enabled , disabled ; trigger breakdown Related resources: Gaps: ```