TL;DR: O azure-functions-skills é um plugin para agentes de IA que oferece skills, agent definition e validação pré-deploy para Azure Functions. Ele resolve problemas comuns como código desatualizado, secrets hardcoded e configurações inseguras, orientando o agente a usar managed identity, Key Vault, Flex Consumption e padrões escaláveis. A ferramenta já está em preview pública e suporta GitHub Copilot CLI, Claude Code, Codex CLI e VS Code.
A Microsoft anunciou o azure-functions-skills em preview pública: um comando único para dar ao seu agente de IA favorito (GitHub Copilot CLI, Claude Code, Codex CLI, VS Code) as skills, definição de agente, servidores MCP, hooks e instruções necessárias para criar funções Azure Functions seguras por padrão, prontas para escala — do início ao fim.
Hoje, agentes de IA escrevem o primeiro rascunho da sua função, montam a infraestrutura e executam o deploy. Mas um agente de uso geral, quando instruído a construir para Azure Functions, geralmente fica um passo atrás: depende de modelos de programação antigos que já foram substituídos e não conhece capacidades mais novas — o runtime serverless agents, defaults do Flex Consumption, o novo Azure MCP template service, os shapes de binding mais recentes, as melhorias de runtime da semana passada ou suporte à linguagem Go. Pior: o código gerado frequentemente deixa chaves hardcoded, connection strings e outros secrets no meio da função, escolhe padrões que não escalam (client-per-invocation, I/O bloqueante no hot path) e ignora completamente acesso baseado em identidade. O código compila, mas não é seguro, não é atual e não usa o que o Azure Functions oferece hoje.
azure-functions-skills fecha essa lacuna. As skills orientam o agente para managed identity, referências ao Key Vault, Flex Consumption e os padrões de binding e concorrência que escalam — e o doctor integrado captura o resto antes do deploy.
Experimente agora: npx @azure/functions-skills install
Em cerca de 5 minutos você terá um projeto Functions funcional com managed identity, um workflow pronto para deploy e um relatório HTML do doctor que pode ser integrado ao CI.
Requisitos: Node 18+, uma assinatura Azure e um dos: GitHub Copilot CLI, Claude Code, Codex CLI ou VS Code.
Disponibilidade: azure-functions-skills está em preview pública no npm como @azure/functions-skills e nos marketplaces de plugins do GitHub Copilot CLI / Claude Code / Codex. O conjunto de skills é intencionalmente pequeno no lançamento e crescerá a cada release do Azure Functions.
O que é o azure-functions-skills?
azure-functions-skills é um plugin para agentes de IA. Ele se baseia no plugin azure-skills para cenários cross-Azure e entrega:
- Skills. Playbooks focados em tarefas que o agente carrega sob demanda (setup, create, deploy, diagnostics, best-practices, health-status, inventory, doctor, feedback).
- Uma definição de agente (
functions-copilot) que roteia as requisições do usuário para a skill correta e propõe o próximo fluxo de trabalho quando um termina. - Configuração de servidor MCP, hooks e arquivos de instrução (
copilot-instructions.md,CLAUDE.md,AGENTS.md). Tudo que o agente precisa para se comportar consistentemente entre hosts. - Um CLI companheiro,
@azure/functions-skills, que instala tudo isso com um comando, permite executar o agente (chat) e valida seu projeto antes do deploy (doctor).
Nomes que você verá neste post:
@azure/functions-skills— o pacote npm e CLI que você executa.azure-functions-skills— o plugin (skills + instruções) que o CLI instala.functions-copilot— a definição do agente que roteia você para a skill correta.
Duas escolhas de design moldam cada funcionalidade:
- A descoberta de skills é uma superfície de produto de primeira classe. Nomes e granularidade das skills são ajustados para que o agente escolha a certa no momento em que o desenvolvedor a solicita, e para que um desenvolvedor navegando pelo catálogo reconheça para que cada skill serve. Quando uma requisição pertence à superfície mais ampla do Azure, roteamos para o plugin
azure-skillsem vez de reinventar. - O agente responde no idioma em que você escreve. Pergunte em português, receba em português. Pergunte em inglês, receba em inglês. Os arquivos de instrução estão configurados para que o agente host respeite o idioma da conversa consistentemente.
O que vem na preview
Catálogo de Skills
O skill azure-functions-agents está incluído desde o lançamento e suporta o runtime serverless agents do Azure Functions que acabou de ser lançado no Build 2026.
| Skill | O que faz |
|---|---|
azure-functions-setup |
Detecta Azure CLI / azd / Core Tools / runtimes de linguagem / o plugin azure-skills na sua máquina e orienta a instalação do que estiver faltando. |
azure-functions-create |
Cria novos projetos Functions, ou adiciona funções a um projeto existente, usando o Azure MCP template service para sempre começar dos templates mais recentes. |
azure-functions-agents |
🚀 Cria, estende, faz deploy e troubleshoot de agentes de IA orientados a eventos no runtime serverless agents do Azure Functions (azurefunctions-agents-runtime) lançado no Build 2026. Escolhe o melhor modelo GPT disponível com base na cota da subscription/região, configura Microsoft Foundry, Connector Namespaces e servidores MCP remotos, e delega execução de código ou navegação web para sessões dinâmicas do Azure Container Apps. |
azure-functions-deploy |
Entrega para o workflow prepare → validate → deploy do azure-skills com orientação específica do Functions (Flex Consumption, functionAppConfig, rede privada, identidade). |
azure-functions-best-practices |
Revisa um Function App existente contra as melhores práticas atuais e propõe remediações priorizadas com aprovação. |
azure-functions-diagnostics |
Investiga falhas de deploy, erros de runtime, problemas com triggers/bindings e lacunas de logging. |
azure-functions-health-status |
Coleta o estado atual de execução, métricas, sinais do Application Insights, Resource Health e Activity Log. |
azure-functions-inventory |
Coleta especificações estáticas: SKU, runtime, rede, identidade, configurações, funções e inventário de triggers. |
azure-functions-doctor |
Validação pré-deploy, usada pelo comando doctor do CLI abaixo. |
azure-functions-feedback |
Transforma observações de uma sessão em um preview de issue ou PR do GitHub contra este repositório. |
O conjunto é intencionalmente pequeno no lançamento. Já inclui azure-functions-agents para que você possa criar e fazer deploy no runtime serverless agents. Uma skill para auxiliar na migração de código worker para Go é a próxima. Tem uma skill que gostaria de ver? Abra uma issue em https://github.com/Azure/azure-functions-skills/issues, ou execute azure-functions-feedback durante a sessão e a própria skill preparará o rascunho da issue para você.
O CLI: install, chat, doctor
install: um comando para cada host
Cada agente de IA tem seu próprio fluxo de instalação de plugins, e vários deles distribuem o trabalho em múltiplas etapas. O plugin do GitHub Copilot CLI, em particular, só pode ser instalado no escopo do usuário. Isso é útil para skills, mas não é o que você quer para servidores MCP, hooks ou arquivos de instrução específicos do projeto que devem ficar com seu repositório.
install colapsa tudo isso em um comando e aplica a divisão correta por padrão:
- Plugin (skills) → escopo do usuário. Disponível para todos os projetos na sua máquina.
- Artifacts do workspace (MCP, agent definition, hooks, CLAUDE.md / AGENTS.md) → diretório atual. Comittáveis junto com seu código.
Isso mantém o contexto do agente no escopo do usuário limpo e torna as skills do Azure Functions encontráveis sempre que você abrir o workspace. Se quiser tudo no projeto, adicione --local:
# GitHub Copilot CLI (padrão: plugin user-scope, workspace artifacts aqui)
npx @azure/functions-skills install --agent ghcp
# Tudo no projeto
npx @azure/functions-skills install --agent ghcp --local
Use --agent claude para Claude Code ou --agent codex para Codex CLI. O CLI também absorve futuras mudanças nos fluxos de plugin para que o comando permaneça estável para os usuários.
chat: iniciar o agente com o contexto certo
chat inicia o agente instalado de sua escolha, já conectado à definição do agente functions-copilot.
npx @azure/functions-skills chat
Uma primeira mensagem típica seria:
“Crie um trigger HTTP em Python que leia do Cosmos DB usando managed identity e adicione um binding de saída do Service Bus.”
O agente escolhe as skills certas (create, depois best-practices), usa o Azure MCP template service para o scaffold mais recente e conecta acesso baseado em identidade por padrão. Nenhuma chave no seu repositório.
Na primeira vez que você executar chat em um workspace, a skill de setup é acionada automaticamente. Ela percorre os pré-requisitos (Azure CLI, Azure Developer CLI, Core Tools, runtimes de linguagem, o plugin azure-skills) e oferece a instalação de qualquer item faltante, para que um desenvolvedor novato em Azure Functions possa ter um ambiente funcional sem ficar pulando entre documentações.
Após o setup, o agente sugere a skill mais útil com base no estado do seu projeto, o que torna o resto do catálogo fácil de descobrir.
# Pass-through de flags nativas do agente
npx @azure/functions-skills chat -- --verbose
Tudo após -- é passado para o agente subjacente, então qualquer flag nativa do agente que você usa ainda funciona. Execuções subsequentes de chat pulam o setup porque o estado por workspace fica em .azure-functions-skills/.
Usuários do VS Code têm a mesma experiência: abra o workspace, selecione o agente functions-copilot no GitHub Copilot Chat e execute a skill de setup a partir dali.
doctor: shift-left para as duas maiores causas de incidentes
Você sabe quais são as duas maiores causas de incidentes de suporte do Azure Functions reportadas para nossa equipe?
- Defeitos no código do usuário
- Configuração incorreta do Function App
Juntas, elas representam cerca de metade dos incidentes de suporte do Azure Functions que vemos internamente — com base em nossa análise de Customer Reported Incidents (CRIs) no Q1 CY2026, aproximadamente 53% estavam relacionados a código ou configuração do cliente. Prevenir essa classe de problema antes do deploy elimina uma grande fração dos problemas que os clientes reportam.
doctor verifica um workspace exatamente para esses problemas. Ele executa em dois tiers:
- Tier 1 (determinístico, sem LLM): formato do host.json, versão do runtime, configuração de triggers, range do extension bundle, configurações obsoletas, presença de lockfile, arquivos .env rastreados e um conjunto de verificações de supply chain (lifecycle scripts, dependências de produção não fixadas, dependências install-script, e mais) informadas pelos recentes comprometimentos do npm / PyPI.
- Tier 2 (semântico, LLM via
--deep): Usa seu agente de IA para encontrar problemas que precisam ler o código: padrões client-per-invocation, I/O bloqueante no hot path, secrets hardcoded, não-determinismo em Durable Functions (Date.now(),Math.random(), chamadas de rede em orchestrators), padrões de coleta de credenciais, e mais.
Execute localmente e obtenha um relatório HTML autocontido (as flags --deep --accept-deep-risk ativam as verificações Tier 2; seguro executar localmente, veja a nota de CI abaixo antes de usar em pipelines):
npx @azure/functions-skills doctor --dir . \
--deep --accept-deep-risk \
--agent github-copilot \
--format html --output doctor-report.html
Uma execução representativa se parece com:
Tier 1 (deterministic)
✓ host.json shape ok
✓ runtime version pinned (~4)
⚠ extension bundle range too broad host.json:5
⚠ unpinned production dependency semver:^7.0.0 → pin to 7.5.4
✗ tracked .env file with secret keys .env:3
Tier 2 (semantic, via --deep)
⚠ blocking I/O on hot path app/orders.py:42 (use async client)
✗ hardcoded connection string app/cosmos.py:11 (use Key Vault reference)
⚠ client-per-invocation pattern app/blob.py:18 (hoist client to module scope)
Summary: 2 critical, 4 warnings — see doctor-report.html
O mesmo comando pode ser executado em CI. Integre-o ao seu pipeline de deployment e você terá shift-left para os problemas de configuração e qualidade de código que geram a maioria dos incidentes, capturados enquanto o desenvolvedor (ou o agente agindo por ele) ainda pode corrigir o diff de forma barata.
Uma palavra sobre executar --deep em CI
--deep executa o agente de IA com permissões de escrita em arquivo e execução de shell, então qualquer entrada que o agente veja se torna uma superfície potencial de prompt injection. Por padrão, recusamos --deep em eventos pull_request. Você pode optar com AZURE_FUNCTIONS_DOCTOR_TRUST_PR=1 para pipelines mirror confiáveis.
O padrão recomendado:
- PR validation:
--no-deep(Tier 1 apenas). Rápido, determinístico, seguro para executar em conteúdo PR não confiável. - Pós-merge / release:
--deepem push:main, idealmente atrás de um GitHub Environment com revisores obrigatórios e um token scoped para o agente.
Veja docs/doctor-guide.md e SECURITY.md para o modelo de segurança completo.
Onde cada skill se encaixa
| Quando você quer… | Use |
|---|---|
| Preparar seu ambiente local para desenvolvimento Functions | azure-functions-setup |
| Iniciar um novo projeto ou adicionar uma função | azure-functions-create |
| Construir um agente de IA programado ou orientado a eventos (briefing diário, digest de inbox, workflow acionado por connector) | azure-functions-agents |
| Fazer deploy no Azure | azure-functions-deploy |
| Capturar problemas antes do deploy | doctor CLI (ou azure-functions-doctor) |
| Revisar um app existente contra melhores práticas atuais | azure-functions-best-practices |
| Investigar um Function App com falhas ou mal comportado | azure-functions-diagnostics |
| Verificar a saúde em tempo real de um app em execução | azure-functions-health-status |
| Enviar feedback ou solicitação de funcionalidade | azure-functions-feedback |
O functions-copilot roteia sua requisição para a skill apropriada e propõe o próximo passo após cada workflow.
Primeiros passos
Escolha o agente que você já usa; o resto do fluxo é o mesmo.
# 1. Instale o plugin (padrão: skills no escopo do usuário, workspace artifacts aqui)
npx @azure/functions-skills install --agent ghcp # GitHub Copilot CLI
npx @azure/functions-skills install --agent claude # Claude Code
npx @azure/functions-skills install --agent codex # Codex CLI
# 2. Inicie o agente (skill de setup é acionada automaticamente na primeira execução)
npx @azure/functions-skills chat
# 3. Valide antes do deploy (--deep ativa verificações Tier 2; seguro local, veja nota de CI)
npx @azure/functions-skills doctor --deep --accept-deep-risk \
--agent github-copilot \
--format html --output doctor-report.html
VS Code: após o passo 1, abra o workspace no VS Code, selecione o agente functions-copilot no GitHub Copilot Chat e execute a skill de setup. Mesma experiência de primeira execução do chat, mas dentro do IDE.
Prefere as skills escopadas apenas ao projeto atual? Adicione --local ao passo 1.
Documentação completa, receitas de CI e a referência de verificações de supply chain estão em https://github.com/Azure/azure-functions-skills.
Queremos seu feedback
azure-functions-skills é open source, licenciado MIT e desenvolvido em público. O repositório é o lugar certo para:
- Solicitar skills que você gostaria que existissem: abra uma issue, ou execute
azure-functions-feedbackdurante a sessão e deixe a skill preparar o rascunho para você. - Reportar bugs ou sugerir melhorias. Cada issue é lida.
- Contribuir com uma skill ou documentação. Veja CONTRIBUTING.md.
Repositório: https://github.com/Azure/azure-functions-skills
Estamos construindo a experiência de desenvolvedor da era da IA para Azure Functions em público. Dê uma estrela no repo, abra uma issue ou execute azure-functions-feedback durante a sessão e deixe a skill redigir a issue para você. Diga-nos o que lançar a seguir.
Perguntas Frequentes
-
Quais agentes de IA são suportados pelo azure-functions-skills?
O plugin suporta GitHub Copilot CLI, Claude Code, Codex CLI e VS Code. Cada um tem seu próprio fluxo de instalação, mas o comandonpx @azure/functions-skills install --agent <nome>unifica o processo. -
Como o doctor ajuda a evitar incidentes em produção?
O doctor executa validações em dois tiers: Tier 1 (determinístico) verifica configurações do host.json, runtime, dependências; Tier 2 (LLM) analisa código para identificar hardcoded secrets, I/O bloqueante e client-per-invocation. Cerca de 53% dos incidentes de suporte do Azure Functions são causados por erros de código ou configuração. -
É possível usar o doctor em pipelines de CI/CD?
Sim, mas o modo --deep (Tier 2) não é recomendado em pull requests não confiáveis devido ao risco de prompt injection. A Microsoft recomenda Tier 1 em PR validation e --deep apenas em push pós-merge com ambiente protegido e token scoped. -
O que acontece na primeira execução do chat?
O skill azure-functions-setup é acionado automaticamente, verificando pré-requisitos (Azure CLI, Core Tools, runtimes, azure-skills plugin) e oferecendo a instalação dos itens faltantes. Depois disso, o agente sugere o próximo skill com base no estado do projeto. -
Como o plugin garante que o código gerado seja seguro por padrão?
Os skills orientam o agente a usar managed identity, referências ao Key Vault, Flex Consumption e padrões de binding/concurrency que escalam. O doctor ainda captura secrets hardcoded e padrões inseguros antes do deploy, eliminando a necessidade de limpeza manual.
Artigo originalmente publicado por Tsuyoshi Ushio em Azure Updates - Latest from Azure Charts.