typespec-create-agent▌
github/awesome-copilot · updated Apr 8, 2026
Generate a complete TypeSpec declarative agent for Microsoft 365 Copilot with instructions, capabilities, and conversation starters.
- ›Produces a main.tsp file with agent declaration, instructions, conversation starters, and capability definitions following Microsoft's TypeSpec M365 Copilot schema
- ›Supports 10 capability types including WebSearch, OneDriveAndSharePoint, TeamsMessages, Email, People, CodeInterpreter, GraphicArt, GraphConnectors, Dataverse, and Meetings with optional scoping
Create TypeSpec Declarative Agent
Create a complete TypeSpec declarative agent for Microsoft 365 Copilot with the following structure:
Requirements
Generate a main.tsp file with:
-
Agent Declaration
- Use
@agentdecorator with a descriptive name and description - Name should be 100 characters or less
- Description should be 1,000 characters or less
- Use
-
Instructions
- Use
@instructionsdecorator with clear behavioral guidelines - Define the agent's role, expertise, and personality
- Specify what the agent should and shouldn't do
- Keep under 8,000 characters
- Use
-
Conversation Starters
- Include 2-4
@conversationStarterdecorators - Each with a title and example query
- Make them diverse and showcase different capabilities
- Include 2-4
-
Capabilities (based on user needs)
WebSearch- for web content with optional site scopingOneDriveAndSharePoint- for document access with URL filteringTeamsMessages- for Teams channel/chat accessEmail- for email access with folder filteringPeople- for organization people searchCodeInterpreter- for Python code executionGraphicArt- for image generationGraphConnectors- for Copilot connector contentDataverse- for Dataverse data accessMeetings- for meeting content access
Template Structure
import "@typespec/http";
import "@typespec/openapi3";
import "@microsoft/typespec-m365-copilot";
using TypeSpec.Http;
using TypeSpec.M365.Copilot.Agents;
@agent({
name: "[Agent Name]",
description: "[Agent Description]"
})
@instructions("""
[Detailed instructions about agent behavior, role, and guidelines]
""")
@conversationStarter(#{
title: "[Starter Title 1]",
text: "[Example query 1]"
})
@conversationStarter(#{
title: "[Starter Title 2]",
text: "[Example query 2]"
})
namespace [AgentName] {
// Add capabilities as operations here
op capabilityName is AgentCapabilities.[CapabilityType]<[Parameters]>;
}
Best Practices
- Use descriptive, role-based agent names (e.g., "Customer Support Assistant", "Research Helper")
- Write instructions in second person ("You are...")
- Be specific about the agent's expertise and limitations
- Include diverse conversation starters that showcase different features
- Only include capabilities the agent actually needs
- Scope capabilities (URLs, folders, etc.) when possible for better performance
- Use triple-quoted strings for multi-line instructions
Examples
Ask the user:
- What is the agent's purpose and role?
- What capabilities does it need?
- What knowledge sources should it access?
- What are typical user interactions?
Then generate the complete TypeSpec agent definition.
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.6★★★★★53 reviews- ★★★★★Amelia Chen· Dec 16, 2024
typespec-create-agent is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Neel Jackson· Dec 16, 2024
Solid pick for teams standardizing on skills: typespec-create-agent is focused, and the summary matches what you get after install.
- ★★★★★Xiao Harris· Dec 12, 2024
typespec-create-agent fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★James Srinivasan· Dec 12, 2024
typespec-create-agent has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Aditi Robinson· Dec 4, 2024
Keeps context tight: typespec-create-agent is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Aanya Liu· Nov 23, 2024
typespec-create-agent has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Ishan Ramirez· Nov 7, 2024
Solid pick for teams standardizing on skills: typespec-create-agent is focused, and the summary matches what you get after install.
- ★★★★★Sofia Tandon· Nov 7, 2024
typespec-create-agent is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Alexander Flores· Nov 3, 2024
Keeps context tight: typespec-create-agent is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Ishan Abbas· Oct 26, 2024
typespec-create-agent has been reliable in day-to-day use. Documentation quality is above average for community skills.
showing 1-10 of 53