Pular para o conteúdo
Skillpedia
Agentes40 mil · #5402

typespec-create-api-plugin

Cria um plugin para o Copilot do Microsoft 365. Ele define operações de API, autenticação e como exibir informações.

O que ela faz

Este código ajuda a criar um 'agente' para o Copilot do Microsoft 365 que pode interagir com outros serviços pela internet (APIs REST). Ele define como o Copilot entende e usa essas conexões.

Quando usar

  • ✓Quando você quer que o Copilot use um serviço externo para obter ou enviar informações.
  • ✓Ao criar um assistente personalizado que precisa acessar dados de outras aplicações.
  • ✓Para conectar o Copilot a sistemas que não são da Microsoft.

Exemplo do que pedir para a IA

“Crie um agente para o Copilot que possa buscar informações de um catálogo de produtos online.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/typespec-create-api-plugin/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/typespec-create-api-plugin/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

O código define um 'agente' com um nome e descrição, e especifica as 'ações' que ele pode realizar, como buscar dados. Ele também configura como o Copilot se autentica e como as respostas são mostradas.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill typespec-create-api-plugin

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/typespec-create-api-plugin/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Criar Plugin de API TypeSpec

Crie um plugin completo de API TypeSpec para o Microsoft 365 Copilot que se integra com APIs REST externas.

Requisitos

Gere arquivos TypeSpec com:

main.tsp - Definição do Agente

import "@typespec/http";
import "@typespec/openapi3";
import "@microsoft/typespec-m365-copilot";
import "./actions.tsp";

using TypeSpec.Http;
using TypeSpec.M365.Copilot.Agents;
using TypeSpec.M365.Copilot.Actions;

@agent({
  name: "[Agent Name]",
  description: "[Description]"
})
@instructions("""
  [Instructions for using the API operations]
""")
namespace [AgentName] {
  // Reference operations from actions.tsp
  op operation1 is [APINamespace].operationName;
}

actions.tsp - Operações da API

import "@typespec/http";
import "@microsoft/typespec-m365-copilot";

using TypeSpec.Http;
using TypeSpec.M365.Copilot.Actions;

@service
@actions(#{
    nameForHuman: "[API Display Name]",
    descriptionForModel: "[Model description]",
    descriptionForHuman: "[User description]"
})
@server("[API_BASE_URL]", "[API Name]")
@useAuth([AuthType]) // Optional
namespace [APINamespace] {
  
  @route("[/path]")
  @get
  @action
  op operationName(
    @path param1: string,
    @query param2?: string
  ): ResponseModel;

  model ResponseModel {
    // Response structure
  }
}

Opções de Autenticação

Escolha com base nos requisitos da API:

  1. Sem Autenticação (APIs Públicas)

    // No @useAuth decorator needed
    
  2. Chave de API

    @useAuth(ApiKeyAuth<ApiKeyLocation.header, "X-API-Key">)
    
  3. OAuth2

    @useAuth(OAuth2Auth<[{
      type: OAuth2FlowType.authorizationCode;
      authorizationUrl: "https://oauth.example.com/authorize";
      tokenUrl: "https://oauth.example.com/token";
      refreshUrl: "https://oauth.example.com/token";
      scopes: ["read", "write"];
    }]>)
    
  4. Referência de Autenticação Registrada

    @useAuth(Auth)
    
    @authReferenceId("registration-id-here")
    model Auth is ApiKeyAuth<ApiKeyLocation.header, "X-API-Key">
    

Capacidades da Função

Caixa de Diálogo de Confirmação

@capabilities(#{
  confirmation: #{
    type: "AdaptiveCard",
    title: "Confirm Action",
    body: """
    Are you sure you want to perform this action?
      * **Parameter**: {{ function.parameters.paramName }}
    """
  }
})

Resposta com Cartão Adaptativo

@card(#{
  dataPath: "$.items",
  title: "$.title",
  url: "$.link",
  file: "cards/card.json"
})

Instruções de Raciocínio e Resposta

@reasoning("""
  Consider user's context when calling this operation.
  Prioritize recent items over older ones.
""")
@responding("""
  Present results in a clear table format with columns: ID, Title, Status.
  Include a summary count at the end.
""")

Melhores Práticas

  1. Nomes de Operação: Use nomes claros e orientados para ação (listProjects, createTicket)
  2. Modelos: Defina modelos semelhantes a TypeScript para requisições e respostas
  3. Métodos HTTP: Use verbos apropriados (@get, @post, @patch, @delete)
  4. Caminhos: Use convenções de caminho RESTful com @route
  5. Parâmetros: Use @path, @query, @header, @body apropriadamente
  6. Descrições: Forneça descrições claras para o entendimento do modelo
  7. Confirmações: Adicione para operações destrutivas (excluir, atualizar dados críticos)
  8. Cartões: Use para respostas visuais ricas com múltiplos itens de dados

Fluxo de Trabalho

Pergunte ao usuário:

  1. Qual é a URL base da API e o propósito?
  2. Quais operações são necessárias (operações CRUD)?
  3. Qual método de autenticação a API usa?
  4. Confirmações devem ser exigidas para alguma operação?
  5. As respostas precisam de Cartões Adaptativos?

Em seguida, gere:

  • main.tsp completo com a definição do agente
  • actions.tsp completo com as operações da API e modelos
  • cards/card.json opcional se Cartões Adaptativos forem necessários
Perguntas frequentes

O que é TypeSpec?

TypeSpec é uma linguagem para descrever APIs, tornando mais fácil para ferramentas como o Copilot entenderem como interagir com elas.

O que são 'Adaptive Cards'?

São cartões visuais que o Copilot pode mostrar para apresentar informações de forma organizada ou pedir confirmação.

Preciso saber programar para usar isso?

Não, o objetivo é que você possa descrever o que precisa e a ferramenta gera o código para você.

Detalhes

Descrição original do autor

Generate a TypeSpec API plugin with REST operations, authentication, and Adaptive Cards for Microsoft 365 Copilot

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5402
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas