microsoft/add-node
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 skills add https://github.com/microsoft/skills-for-copilot-studio --skill add-node
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.
Glob: **/agent.mcs.yml
NEVER hardcode an agent name.
node ${CLAUDE_SKILL_DIR}/../../scripts/schema-lookup.bundle.js resolve <NodeType>
<nodeType>_<6-8 random alphanumeric>)| 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:
=: condition: =System.FallbackCount < 3{}: activity: "Error: {System.Error.Message}"variable: init:Topic.MyVarText(), Now(), IsBlank(), !IsBlank()- kind: Question
id: question_k7xPm2
variable: init:Topic.UserName
prompt: What is your name?
entity: StringPrebuiltEntity
alwaysPrompt: true
interruptionPolicy:
allowInterruption: false
Take microsoft/add-node from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.