add-action
Guide users through adding a new connector action to a Copilot Studio agent. Connector…
Add or modify a node in an existing Copilot Studio topic. Use when the user asks to add a question, message, condition, variable, or other node to a topic. Do NOT use this for generative answers or knowledge search — use /add-generative-answers instead.
$ npx -y skills add microsoft/skills-for-copilot-studio --skill add-node --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/add-nodeContext preview
The summary Claude sees to decide when to auto-load this skill.
Add or modify a node in an existing Copilot Studio topic. Use when the user asks to add a question, message, condition, variable, or other node to a topic. Do NOT use this for generative answers or knowledge search — use /add-generative-answers instead.
user-invocable: false description: Add or modify a node in an existing Copilot Studio topic. Use when the user asks to add a question, message, condition, variable, or other node to a topic. Do NOT use this for generative answers or knowledge search — use /add-generative-answers instead. argument-hint: <node-type> to <topic-name> allowed-tools: Bash(node *schema-lookup.bundle.js *), Read, Write, Edit, Glob context: fork agent: copilot-studio-author
Add a new node to an existing Copilot Studio topic, or modify an existing one.
In Copilot Studio, the elements inside a topic's `actions` array are **nodes** (SendActivity, Question, ConditionGroup, etc.). These are different from **actions** (`actions/*.mcs.yml`), which are connector-based TaskDialogs. This skill handles nodes within topics.
**For generative answers (SearchAndSummarizeContent, AnswerQuestionWithAI)**, use the `/add-generative-answers` skill instead — it has the specific patterns, follow-up ConditionGroup logic, and disambiguation guidance needed to set them up correctly.
1. **Auto-discover the agent directory**:
Glob: **/agent.mcs.yml
NEVER hardcode an agent name.
2. **Parse the arguments** to identify:
3. **Look up the node schema**:
node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js resolve <NodeType>4. **Read the existing topic file** to understand its current structure.
5. **Generate or modify the node** with:
6. **Determine the correct insertion point** in the actions array and present the plan to the user before writing.
| Node | Purpose | Key Properties | |------|---------|----------------| | `SendActivity` | Send message | `kind`, `id`, `activity` | | `Question` | Ask user input | `kind`, `id`, `variable`, `prompt`, `entity` | | `SetVariable` | Set/compute value | `kind`, `id`, `variable`, `value` | | `SetTextVariable` | Set text with interpolation (YAML-only, no canvas) | `kind`, `id`, `variable`, `value` | | `ConditionGroup` | Branching logic | `kind`, `id`, `conditions` | | `BeginDialog` | Call another topic | `kind`, `id`, `dialog` | | `EndDialog` | End topic | `kind`, `id` | | `CancelAllDialogs` | Cancel all topics | `kind`, `id` |
When the agent has `GenerativeActionsEnabled: true`:
- kind: Question
id: question_k7xPm2
variable: init:Topic.UserName
prompt: What is your name?
entity: StringPrebuiltEntity
alwaysPrompt: true
interruptionPolicy:
allowInterruption: falseA plugin for Claude Code, GitHub Copilot CLI, and VS Code that enables authoring, testing, and troubleshooting Microsoft Copilot Studio STANDARD agents through YAML files — directly from your terminal or editor.
Repo: microsoft/skills-for-copilot-studio
Guide users through adding a new connector action to a Copilot Studio agent. Connector…
Generate and insert an Adaptive Card into a Copilot Studio topic using AdaptiveCardPrompt.…
Add generative answer nodes (SearchAndSummarizeContent or AnswerQuestionWithAI) to a Copilot…
Add a global variable to a Copilot Studio agent. Use when the user needs a variable that…
Add a knowledge source (public website or SharePoint) to a Copilot Studio agent. Use when the…
Add child agents, connected agents, or other multi-agent patterns to a Copilot Studio agent.…