AA

azure/azure-functions-skills

Developer tools
20 stars Quality 73 Trend 30MIT

A repository for Azure Functions skills, prompts, and reusable definitions to support agentic development and operational workflows.

Overview

The plugin provides skills, Azure MCP configuration, and telemetry hooks for GitHub Copilot, Claude Code, and Codex. Azure Functions Skills equips your coding agent with Functions-specific knowledge — trigger/binding patterns, language anti-patterns, runtime versions, deployment best practices — so the agent gives accurate guidance instead of generic advice. It is . For deployment of any Azure resource (Functions or otherwise), it delegates to Azure Skills via the azure-functions-deploy skill. The two packages complement each other — see docs/skills-vs-azure-skills.md for the role split. is necessary for the companion CLI. Everything else (Azure CLI, Core Tools, language runtimes) is checked and guided by the azure-functions-setup skill when environment verification is needed. Choose your coding agent and follow its install steps: Start an interactive Copilot session with copilot, then run: 1. Open (the gear icon), then select . 2.

README

Azure Functions Skills

Azure Functions context for your coding agent. The plugin provides skills, Azure MCP configuration, and telemetry hooks for GitHub Copilot, Claude Code, and Codex.

What & why

Azure Functions Skills equips your coding agent with Functions-specific knowledge — trigger/binding patterns, language anti-patterns, runtime versions, deployment best practices — so the agent gives accurate guidance instead of generic advice.

It is focused on Azure Functions. For deployment of any Azure resource (Functions or otherwise), it delegates to Azure Skills via the azure-functions-deploy skill. The two packages complement each other — see docs/skills-vs-azure-skills.md for the role split.

Prerequisites

Node.js 20+ is necessary for the companion CLI. Everything else (Azure CLI, Core Tools, language runtimes) is checked and guided by the azure-functions-setup skill when environment verification is needed.

Quick Start

1. Install the plugin with your coding agent

Choose your coding agent and follow its install steps:

GitHub Copilot CLI

Start an interactive Copilot session with copilot, then run:

/plugin marketplace add Azure/azure-functions-skills
/plugin install azure-functions-skills@azure-functions-skills

GitHub Copilot app

  1. Open Settings (the gear icon), then select Plugins.
  2. Select Install to open the plugin installer, then add Azure/azure-functions-skills as a marketplace.
  3. Select azure-functions-skills, review its contents, and confirm the installation.

GitHub Copilot in VS Code (Preview)

  1. Enable the chat.plugins.enabled setting. Your organization may manage this setting.

  2. Add this marketplace to your user settings.json:

    {
      "chat.plugins.marketplaces": [
        "Azure/azure-functions-skills"
      ]
    }
    
  3. Open the Extensions view (Ctrl+Shift+X or Cmd+Shift+X), search for @agentPlugins, and install azure-functions-skills.

VS Code also discovers plugins installed by GitHub Copilot CLI. See Agent plugins in VS Code for more options.

Claude Code

Start an interactive Claude Code session with claude, then run:

/plugin marketplace add Azure/azure-functions-skills
/plugin install azure-functions-skills@azure-functions-skills

Codex CLI

Add this repository as a plugin marketplace from your terminal:

codex plugin marketplace add Azure/azure-functions-skills

Then start Codex, run /plugins, select azure-functions-skills, and choose Install plugin.

The @azure/functions-skills npm package provides the companion CLI and the telemetry sender. Installing it does not install or launch a coding-agent plugin.

2. Verify your prerequisites

Ask your coding agent to run the azure-functions-setup skill. It checks the required Azure Functions tools and language runtimes, then guides you through installing or configuring anything that is missing.

3. Ask for Azure Functions help

Ask which Azure Functions workflow to use. azure-functions-help discovers the installed azure-functions-* skills and routes to the best match.

More options? See CLI Reference for every command, flag, and headless example.

Companion CLI

The npm package includes a small CLI to list and apply Azure Functions templates:

npx @azure/functions-skills template list --language typescript
npx @azure/functions-skills template apply --template  --dir ./my-app

Telemetry

The plugin and built workspace assets include a local telemetry runtime with the Application Insights SDK and its required dependencies. Hooks use Node.js 18 or later to run that payload. They do not run npm or npx, download packages, or load project modules. If Node or the payload is absent, the hook does nothing and returns {"continue":true}. There is no download or install fallback.

Update installed plugins and previously applied workspace assets to receive this change. Existing copies do not update when this source changes.

The same local payload supports deployment observations from the two deployment skills. The telemetry library and CLI commands also remain available for explicit use. Normal deployment and Application Insights monitoring in deployed applications are unchanged.

Usage events accept allowlisted skill/tool names, relative allowlisted Azure Functions skill-file paths, client name, session id, and timestamp. They do not include file contents, prompts, raw tool arguments, credentials, or absolute paths. The sender uses the Azure Functions team’s Application Insights resource, not Azure MCP.

Deployment observation event

The collector supports an azure_deployment_observed event after a successful azd up or standalone azd provision. Each deployment skill calls its local collector once for its own supported command. It carries only seven categorical properties: skill, operation (deploy or provision), result (constant success), resourceTypes (a sorted, de-duplicated list of Microsoft resource-provider types such as microsoft.web/sites), deploymentKind (function-app or hosted-agent), agent (normalized client, or unknown), and skillsVersion (or unknown). The mechanism only observes a successful deployment; it cannot prove a skill caused it.

To confirm success and derive the resource-type breakdown, the collector reads the named Azure Resource Manager deployment’s state using your existing Azure CLI sign-in. The azd environment name (which is the deployment name), subscription, resource group, and deployment IDs are sent to Azure Resource Manager only to perform that lookup. They are not included in the telemetry event and are not printed. The event contains no customer names, identifiers, secrets, paths, environment values, or correlation IDs.

The same opt-out mechanisms apply unchanged (see below); when telemetry is disabled the collector performs no ARM queries and sends nothing.

This is an adoption/observation trend, not exact accounting. Phase 1 limitations are intentional and disclosed:

  • The collector looks up the subscription-scope ARM deployment by the environment name and validates it against a bounded 30-minute recency window. The environment name is required for a usable observation, but a missing or invalid name is a valid skip, not an input error: the collector returns skipped before any Azure query. A deployment older than the window or a resource-group-scope deployment also records nothing. Selecting by name makes cross-deployment misattribution unlikely, but re-running after another deployment that reuses the same environment name still refers to the newest deployment of that name.
  • Duplicate collector calls are possible; there is no exactly-once delivery, no durable de-duplication, and no exact funnel or conversion rate.
  • The collector supports only the two canonical skills’ azd/Bicep paths.

Application telemetry content is categorical, but HTTPS necessarily exposes the client’s network address to the receiving service. This does not promise anonymous transport; the receiving Application Insights service’s privacy policy and IP handling apply.

To opt out, set either AZURE_FUNCTIONS_SKILLS_COLLECT_TELEMETRY=false or AZURE_MCP_COLLECT_TELEMETRY=false in the environment. The local runtime also checks its installed telemetry.config.json and workspace settings under .github/hooks/, .claude/hooks/, and .codex/hooks/. An "enabled": false setting, or an unreadable configuration file, stops collection before queries or sends. The runtime also checks these configuration paths in ancestor directories, so running from a project subdirectory does not bypass the workspace opt-out. The public plugin contains only a non-secret instrumentation key and ingestion endpoint as separate settings, not a stored connection string. It does not contain release credentials.

Skills

For contributor guidance on the product boundary between Azure Skills and Azure Functions Skills, see Azure Skills and Azure Functions Skills Boundary.

Skill Purpose
azure-functions-help Discover and route to the best Azure Functions skill
azure-functions-setup Verify local prerequisites (Azure CLI, Core Tools, runtimes, Azure Skills)
azure-functions-create Create new Functions projects or add functions via Azure MCP templates
azure-functions-hosted-skills Build cloud-hosted, event-driven intelligent capabilities with Markdown, Functions triggers, code, tools, HTTP, and MCP
azure-functions-connector-create Create and authorize least-privilege Connector Namespace connections for Hosted Skills
azure-functions-connector-mcp Generate and register connector MCP tools from authoritative operation metadata
azure-functions-connector-validate Validate connector identity, MCP contracts, side effects, and Hosted Skill integration
azure-functions-deploy Prepare, validate, and deploy via Azure Skills with Functions-specific guidance
azure-functions-best-practices Production-readiness review (config, security, reliability)
azure-functions-diagnostics Investigate deployment, runtime, trigger, binding, logging issues
azure-functions-health-status Collect current health, metrics, logs, Resource Health, Activity Log
azure-functions-inventory Collect app specification and configuration inventory
azure-functions-doctor Pre-deployment check of local code, configuration, and supply-chain risks
azure-functions-common Shared language, trigger, binding, extension, routing references
azure-functions-feedback Turn session findings into previewed issues or pull requests

The azure-functions-help skill provides the discovery and routing entry point.

Contributing

We welcome contributions. To add or improve a skill, edit the files under templates/skills/, then run npm run build:plugin-payload to regenerate the published plugin payload. The release process delivers the skill to all supported coding agents.

Read CONTRIBUTING.md for the full guide.

Security

Report vulnerabilities to [email protected]. See SECURITY.md for the threat model and our defense layers.

License

MIT

View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add azure/azure-functions-skills
New to MCP? Start with the mcpskill.org guide →