Generates TypeSpec main.tsp files for Microsoft 365 Copilot agents with declarations, instructions, conversation starters, and capabilities like WebSearch or Email.
npx claudepluginhub passelin/marketplace-test --plugin typespec-m365-copilotThis skill uses the workspace's default tool permissions.
Create a complete TypeSpec declarative agent for Microsoft 365 Copilot with the following structure:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
Create a complete TypeSpec declarative agent for Microsoft 365 Copilot with the following structure:
Generate a main.tsp file with:
Agent Declaration
@agent decorator with a descriptive name and descriptionInstructions
@instructions decorator with clear behavioral guidelinesConversation Starters
@conversationStarter decoratorsCapabilities (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 accessimport "@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]>;
}
Ask the user:
Then generate the complete TypeSpec agent definition.