← Voltar ao blog

IA & Agentes

Microsoft Foundry - Skills - instrução versionada que até o Claude Code consegue ler

Microsoft Foundry - Skills - versioned instructions even Claude Code can read

Microsoft Foundry - Skills - instrução versionada que até o Claude Code consegue ler

Fala dataholics, fui mexer na área de Tools do portal do Microsoft Foundry e apareceu uma aba nova ali do lado de Toolboxes, chamada Skills, ainda com o selo de Preview. Quem acompanhou a série de novidades do Copilot Studio já viu skill por lá, só que a implementação do Foundry é bem diferente e merece um post só dela.


A skill saiu de dentro do agente

No Copilot Studio a skill vive dentro do agente, como um componente do painel Build, e eu falei disso no post [2] da série de novidades. No Foundry o desenho é outro, porque a skill é um recurso do projeto: ela existe sozinha, tem ciclo de vida próprio e o agente só aponta pra ela.

Parece detalhe de arquitetura mas muda a operação inteira. Aquela política de escalação que dez agentes seguem passa a morar num lugar só, e quando a política muda você sobe uma versão nova, testa e promove, sem abrir agente por agente pra editar system prompt e redeployar todos. Se você trabalha em time de plataforma ou consultoria já sabe exatamente a dor que eu tô descrevendo.


Criando uma skill pelo portal

O caminho é curto, vai em Tools e abre a aba Skills. Com o projeto vazio ele te oferece o botão Add skill com duas opções, Create skill pra escrever ali na hora e Upload skill pra subir arquivo pronto.

Clicando em Create skill abre o modal Write skill com três campos e nada mais:

  • Name - só letra minúscula, número e hífen, não pode começar nem terminar com hífen, não aceita hífen duplicado e vai até 64 caracteres. Nome fora do padrão devolve invalid_payload na hora de criar a versão.

  • Description - uma linha, até 1024 caracteres. Não é enfeite de listagem: é ela que o agente lê pra decidir se aquela skill é relevante pro pedido, então escreva quando usar e também quando não usar.

  • Instruction - o Markdown de verdade, com o passo a passo, o formato de resposta e o que fazer nas exceções.

Aquele banner cinza no topo do modal não é enfeite também. A Microsoft avisa que se você usar Skills com servidor, agente, código ou modelo de terceiro o risco é seu, e que garantir que o dado não vaze da fronteira de compliance e da fronteira geográfica da sua organização é responsabilidade sua. Faz todo sentido, porque skill no fim é texto livre que vira instrução de sessão do agente.


O SKILL.md por trás do formulário

Esses três campos são a cara amigável de um arquivo. O Foundry segue a especificação aberta Agent Skills, a mesma que o Copilot Studio adotou, então a skill é um SKILL.md com front matter YAML no topo e o Markdown embaixo:

---
name: escalacao-suporte-n2
description: Use quando o usuario relatar um incidente que o N1 nao resolveu, pedir prioridade alta ou mencionar SLA estourado. Nao use para duvida simples de produto.
---

# Escalacao para o N2

## Passos
1. Confirme o numero do ticket. Se o usuario nao tiver, pergunte antes de seguir.
2. Colete sistema afetado, horario de inicio, impacto e se ja existe workaround.
3. Classifique a severidade: S1 = servico parado, S2 = degradado, S3 = pontual.
4. Responda com o numero do incidente e o prazo de SLA daquela severidade.

## Excecoes
- Se for S1, avise que o acionamento e imediato e nao pergunte mais nada.
- Se o usuario nao souber o impacto, assuma S3 e registre isso na descricao.

Pegadinha do YAML: o name e o description precisam ficar sem aspas no front matter. E cada skill mora no próprio subdiretório, tipo escalacao-suporte-n2/SKILL.md, não um SKILL.md solto na raiz do projeto. Se você quiser levar material de apoio junto, empacota o SKILL.md mais os arquivos num ZIP e sobe o pacote.


As duas formas de entregar a skill pro agente

Depois que a skill existe no projeto você escolhe como ela chega no agente, e tem um ponto aqui que eu curti bastante.

1. Anexando num toolbox. Você cria uma versão do toolbox referenciando a skill e ela passa a aparecer como MCP Resource no mesmo endpoint das tools. Aí qualquer cliente MCP chama resources/list no startup pra descobrir o que tem e resources/read pra baixar o conteúdo, sem precisar de SDK do Foundry. A doc é explícita nisso: GitHub Copilot, Claude Code ou o seu próprio harness consomem do mesmo jeito. Ou seja a mesma skill que padroniza o agente de produção padroniza o seu VS Code, e isso é bem legal.

O carregamento segue o padrão de progressive disclosure do Agent Skills, em três tempos: primeiro só o nome e a descrição das skills entram no system prompt, aí o agente decide que uma é relevante e busca o corpo inteiro, e se a skill tiver anexo ele lê sob demanda. Na prática isso quer dizer que dá pra manter uma biblioteca grande sem queimar contexto, porque o corpo só desce quando alguém vai usar.

2. Baixando direto no hosted agent. É o modo direct injection, onde você baixa a skill da API pro diretório do projeto do agente e ele lê os SKILL.md no startup, injetando o conteúdo como instrução extra de cada sessão. Não precisa de toolbox e serve bem quando você quer travar uma versão específica junto do código.

Reginaldo, e se eu não quiser ser surpreendido por uma versão nova no meio do sprint?

Na referência da skill dentro do toolbox você passa o version e trava num snapshot imutável. Omitindo o campo, ela segue o default_version, que é o comportamento padrão.


Versão, promoção e rollback

A API de Skills nasceu versionada e é isso que faz a feature ficar de pé em ambiente sério. Cada update cria uma SkillVersion nova e imutável, e o objeto pai guarda o default_version, que é a versão ativa, mais o latest_version. O fluxo fica bem parecido com deploy de aplicação: cria a versão, testa, promove. Deu problema, repoint pra anterior.

# cria a skill a partir do arquivo
azd ai skill create escalacao-suporte-n2 --file ./SKILL.md --no-prompt

# sobe uma versao nova (entra como default automaticamente)
azd ai skill update escalacao-suporte-n2 --file ./SKILL.md --no-prompt

# rollback: repoint de metadata, sem upload nenhum
azd ai skill update escalacao-suporte-n2 --set-default-version v1 --no-prompt

Esse último comando não sobe conteúdo, é só metadata, então o rollback é imediato e nenhum toolbox ou agente que referencia a skill sem pinar versão precisa ser tocado. Pra quem já apagou um fim de semana revertendo prompt na mão, esse detalhe vale o post inteiro.


DETALHE IMPORTANTE: Skills não suportam private networking. A API não responde por private endpoint, então se o seu recurso do Foundry está com acesso público desabilitado você simplesmente não cria, não gerencia e não baixa skill. Pra quem atende cliente regulado isso já é motivo pra deixar a feature no banco de reservas até virar GA, e é bom colocar na conta antes de desenhar arquitetura em cima disso.

Outros três cuidados que eu anotei lendo a doc:

  • Toda chamada da API de Skills exige o header Foundry-Features: Skills=V1Preview. Esqueceu o header, não funciona.

  • No azd o update recusa .zip. Pra trocar um pacote inteiro você usa create --force, e esse force apaga a skill e todas as versões dela antes de subir a v1 nova. Cuidado com o dedo nesse comando.

  • Skill anexada num toolbox tem que estar no mesmo projeto do Foundry, não existe referência cruzada entre projetos.

Sobre permissão, você precisa da role Foundry User no projeto. Esse é o nome novo do antigo Azure AI User, e como o rename das roles ainda está rolando, pode ser que você encontre o nome velho em alguns lugares do portal.


RESUMO

  • Skill no Foundry é recurso do projeto e o agente só referencia, diferente do Copilot Studio onde ela mora dentro do agente.

  • Formato SKILL.md no padrão aberto Agent Skills, front matter sem aspas, nome minúsculo com hífen e até 64 caracteres.

  • Duas entregas: anexa num toolbox e vira MCP Resource pra qualquer cliente, ou baixa direto no hosted agent como instrução de sessão.

  • Progressive disclosure economiza contexto, porque só nome e descrição vão pro system prompt.

  • Versão imutável com default_version pra promover e fazer rollback sem deploy de agente.

  • Ainda em preview e sem private networking, então avalie bem antes de levar pra produção regulada.

Comparando as duas casas, a leitura que eu faço é que o Foundry entregou a versão de engenharia da mesma ideia, com API versionada, promoção de versão e interoperabilidade MCP, enquanto o Copilot Studio entregou a versão de maker. Se quiser ver essa diferença de filosofia com mais calma, eu comparei as duas plataformas nesse post do ecossistema.

Comenta aí se você já mantém uma biblioteca de instruções padronizada no seu time, porque com skill versionada isso finalmente vira artefato de esteira em vez de print no Teams.

Referências:

Use skills with Microsoft Foundry agents (preview)

Especificação Agent Skills

github.com/microsoft/skills, skills prontas pra Foundry e Azure

Prints desse post: portal do Microsoft Foundry, aba Tools e Skills.

Espero que tenha gostado.

#foundry #skills #mcp #microsoft #ia #agentes #datainaction

#foundry#skills#mcp#microsoft#ia#agentes#datainaction

Gostou? Tem mais no YouTube e no LinkedIn.

← Voltar ao blog