copilot-studio-agents
Covers the design and structure of Copilot Studio conversational agents, including topics, knowledge sources, and action orchestration.
Install
mkdir -p .claude/skills/copilot-studio-agents && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10192" && unzip -o skill.zip -d .claude/skills/copilot-studio-agents && rm skill.zipInstalls to .claude/skills/copilot-studio-agents
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Design Microsoft Copilot Studio agents (formerly Power Virtual Agents) -- topics, trigger phrases, generative answers, knowledge sources, connector and MCP actions, authentication, channels, and agent flows -- so an agent can author the conversational logic that ships as a Bot component inside a Power Platform solution. Covers the topic/node dialog model and the generative-orchestration option.Key capabilities
- →Design agent conversational flows
- →Configure generative orchestration
- →Bind knowledge sources
- →Integrate actions and connectors
- →Manage authentication and channels
How it works
It designs agents using either classic topics or generative orchestration, binding them to knowledge sources and actions within a solution.
Inputs & outputs
When to use copilot-studio-agents
- →Design agent conversational flows
- →Add generative answers to chatbot
- →Connect chatbot to enterprise data
About this skill
Copilot Studio Agents
Purpose: design a Copilot Studio agent -- topics, knowledge, actions, channels -- that packs as a Bot component in a solution. This is Tier-3 of the Power Platform stack (conversational AI over Dataverse + connectors).
Note: Copilot Studio source schema is newer and less stable than Dataverse/canvas source.
pac copilotis preview; the maker portal (or solution export/import) is the primary round-trip. Treat on-disk YAML shapes below as guidance, and always verify against an actual export before packing.
When to Use
- Building a conversational agent (support, FAQ, task automation) over Dataverse + enterprise knowledge
- Adding topics or generative answers to an existing agent
- Wiring an agent to actions (Power Automate flows, connectors, MCP servers) and channels (Teams, web, etc.)
Two Authoring Modes
| Mode | How it routes | Use for |
|---|---|---|
| Classic topics | Trigger phrases match user input to a topic; you draw the dialog tree | Deterministic flows, compliance-bound paths |
| Generative orchestration | LLM picks topics/actions/knowledge to fulfill the goal | Open-ended assistants, many tools |
Most production agents combine both: generative orchestration for flexibility, plus authored topics for paths that must be deterministic.
On-Disk Layout (Bot Component)
src/
bots/<schemaname>/
bot.yaml # agent metadata, default culture, settings
topics/
<topic>.yaml # trigger + dialog nodes
knowledge/
<source>.yaml # knowledge source binding (public URL, SharePoint, Dataverse)
The Bot is a Dataverse component (RootComponent for the bot) plus related botcomponent rows for topics/knowledge.
Topic Anatomy
kind: AdaptiveDialog
beginDialog:
kind: OnRecognizedIntent
intent:
triggerQueries:
- track my issue
- what is the status of my ticket
actions:
- kind: Question
id: askId
prompt: What is your issue number?
property: Topic.IssueNumber
entity: NumberPrebuiltEntity
- kind: InvokeFlowAction # call a Power Automate flow as an action
flowId: <flow-guid>
inputs:
issueNumber: =Topic.IssueNumber
outputs:
status: Topic.Status
- kind: SendActivity
activity: Your issue is currently {Topic.Status}.
Key node kinds: Question (collect a slot via prebuilt/custom entity), SendActivity (respond), InvokeFlowAction / InvokeConnectorAction (tools), ConditionGroup (branch), BeginDialog (call another topic), SearchAndSummarizeContent (generative answers over knowledge).
Generative Answers & Knowledge Sources
Bind knowledge so the agent can answer from content instead of authored topics:
- Public website URL, SharePoint/OneDrive, Dataverse tables, uploaded files, or custom search.
- Generative answers MUST be grounded -- scope sources tightly and enable in-domain-only responses to reduce hallucination.
- Order matters: authored topics win over generative answers when a trigger matches.
Actions: Flows, Connectors, MCP
- Power Automate flow action: the agent calls a cloud flow (inputs/outputs typed) -- the standard way to read/write Dataverse or external systems.
- Connector action: invoke a (custom) connector operation directly.
- MCP / agent tools: connect Model Context Protocol servers / tools so generative orchestration can call them. Declare inputs/outputs and least-privilege scopes.
Authentication & Channels
- Authentication: No auth / Microsoft Entra ID (user identity flows to actions) / manual OAuth. Choose Entra when actions act as the signed-in user.
- Channels: Teams, Microsoft 365 Copilot, custom website, Direct Line, etc. Publish per channel; secure the Direct Line secret.
Anti-Patterns
- Broad, overlapping trigger phrases across topics -- ambiguous routing; keep phrases distinct and specific.
- Ungrounded generative answers over the open web -- hallucination + data-leak risk; scope knowledge sources.
- Over-privileged action connections -- actions should use least-privilege; prefer Entra user-context over a shared service account.
- Putting deterministic compliance steps in generative orchestration -- author them as explicit topics.
- Hand-editing exported bot YAML without re-importing to validate -- preview schema drifts.
Verify
- Export the solution after maker-portal edits and confirm the Bot + botcomponents round-trip, OR
pac copilot(preview) where available. Test in the maker test pane and at least one published channel.
Related
- power-automate-flow-json -- flows the agent calls as actions
- dataverse-schema -- tables knowledge sources and actions read
- solution-anatomy -- Bot component packaging
- pac-cli -- solution export/import, pac copilot (preview)
When not to use it
- →When building deterministic flows that require no LLM orchestration
- →When the agent does not need external knowledge
Prerequisites
Limitations
- →Source schema is less stable than other Power Platform components
- →Requires verification against actual exports
How it compares
It focuses on the specific packaging and orchestration requirements of Copilot Studio agents within the Power Platform ecosystem.
Compared to similar skills
copilot-studio-agents side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| copilot-studio-agents (this skill) | 0 | 2mo | No flags | Intermediate |
| opencode-cli | 14 | 7mo | Review | Advanced |
| claude-automation-recommender | 47 | 2mo | Review | Beginner |
| mcp-integration | 21 | 8mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jnPiyush
View all by jnPiyush →You might also like
opencode-cli
SpillwaveSolutions
This skill should be used when configuring or using the OpenCode CLI for headless LLM automation. Use when the user asks to "configure opencode", "use opencode cli", "set up opencode", "opencode run command", "opencode model selection", "opencode providers", "opencode vertex ai", "opencode mcp servers", "opencode ollama", "opencode local models", "opencode deepseek", "opencode kimi", "opencode mistral", "fallback cli tool", or "headless llm cli". Covers command syntax, provider configuration, Vertex AI setup, MCP servers, local models, cloud providers, and subprocess integration patterns.
claude-automation-recommender
anthropics
Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.
mcp-integration
anthropics
This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
hook-development
anthropics
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
agent-factory
alirezarezvani
Claude Code agent generation system that creates custom agents and sub-agents with enhanced YAML frontmatter, tool access patterns, and MCP integration support following proven production patterns
swarm-advanced
ruvnet
Advanced swarm orchestration patterns for research, development, testing, and complex distributed workflows