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
Mensagem pronta para colar
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-pluginOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/typespec-create-api-plugin/SKILL.md -o SKILL.mdConteú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:
Sem Autenticação (APIs Públicas)
// No @useAuth decorator neededChave de API
@useAuth(ApiKeyAuth<ApiKeyLocation.header, "X-API-Key">)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"]; }]>)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
- Nomes de Operação: Use nomes claros e orientados para ação (listProjects, createTicket)
- Modelos: Defina modelos semelhantes a TypeScript para requisições e respostas
- Métodos HTTP: Use verbos apropriados (@get, @post, @patch, @delete)
- Caminhos: Use convenções de caminho RESTful com @route
- Parâmetros: Use @path, @query, @header, @body apropriadamente
- Descrições: Forneça descrições claras para o entendimento do modelo
- Confirmações: Adicione para operações destrutivas (excluir, atualizar dados críticos)
- Cartões: Use para respostas visuais ricas com múltiplos itens de dados
Fluxo de Trabalho
Pergunte ao usuário:
- Qual é a URL base da API e o propósito?
- Quais operações são necessárias (operações CRUD)?
- Qual método de autenticação a API usa?
- Confirmações devem ser exigidas para alguma operação?
- As respostas precisam de Cartões Adaptativos?
Em seguida, gere:
main.tspcompleto com a definição do agenteactions.tspcompleto com as operações da API e modeloscards/card.jsonopcional 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
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC