add-global-variable
Add a global variable to a Copilot Studio agent.
Skill by microsoftOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/microsoft-add-global-variable
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/add-global-variable
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Write,Glob,Grep
What's inside
- Skill name
add-global-variable- Description
- Add a global variable to a Copilot Studio agent. Use when the user needs a variable that persists across topics in the same conversation and can optionally be visible to the AI orchestrator.
- License
- MIT
- Allowed tools
- Read,, Write,, Glob,, Grep
- Instructions
- 81 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# Add Global Variable
Create a global variable that persists across all topics within a conversation.
## Instructions
1. **Auto-discover the agent directory**:
```
Glob: **/agent.mcs.yml
```
Use the top-level agent. NEVER hardcode an agent name.
2. **Read `settings.mcs.yml`** to get the `schemaName` prefix:
```
Read: <agent-dir>/settings.mcs.yml
```
Extract the root-level `schemaName` value (e.g., `copilots_header_cre3c_fullagent`).
3. **Determine from the user**:
- Variable name (PascalCase, e.g., `LastDiscussedCity`)
- Description of what it stores
- Whether the AI orchestrator should be aware of it (`aIVisibility`)
- Default value (if any)
- DO NOT skip any of these properties. If the user doesn't provide them, ask follow-up questions to get the necessary information.
4. **Create the variable file** at `<agent-dir>/variables/<VariableName>.mcs.yml`:
```yaml
# Name: <Human-readable Name>
# <Description>
name: <VariableName>
aIVisibility: <UseInAIContext or HideFromAIContext>
scope: Conversation
description: <Description of what the variable stores>
schemaName: <prefix>.globalvariable.<VariableName>
kind: GlobalVariableComponent
defaultValue: <DEFAULT or specific value>
```
5. **Key fields explained**:
- `name` — PascalCase identifier. This is how topics reference the variable: `Global.<name>` (e.g., `Global.LastDiscussedCity`).
- `aIVisibility` — Controls orchestrator awareness:
- `UseInAIContext` — The orchestrator can read and reason about this variable. Use when the variable influences routing or response generation (e.g., user preferences, conversation state the AI should track).
- `HideFromAIContext` — The variable exists but the orchestrator doesn't see it. Use for internal bookkeeping (e.g., counters, flags) that topics use but the AI doesn't need to reason about.
- `scope: Conversation` — Always `Conversation` for global variables (persists for the session).
- `schemaName` — Must follow the pattern `<agent-schemaName>.globalvariable.<VariableName>`. Read the prefix from `settings.mcs.yml`.
- `defaultValue` — Initial value. Use `DEFAULT` if no specific initial value is needed.
## How Topics Use Global Variables
Topics reference global variables with the `Global.` prefix:
```yaml
# Reading a global variable in a condition
- kind: ConditionGroup
id: conditionGroup_Xk9mPq
conditions:
- id: conditionItem_Lw3nRs
condition: =!IsBlank(Global.LastDiscussedCity)
actions:
- kind: SendActivity
id: sendMessage_Yt7vBw
activity:
text:
- "Last time we discussed {Global.LastDiscussedCity}."
# Setting a global variable from a topic
- kind: SetTextVariable
id: setTextVariable_Qp4kMn
variable: Global.LastDiscussedCity
value: =Topic.CityName
```
## When to Use Global Variables
- **Cross-topic state**: A value set in one topic needs to be read in another (e.g., user's preferred language, last search query)
- **AI-aware context**: The orchestrator should know something about the conversation state to make better routing decisions (use `UseInAIContext`)
- **Conversation-wide defaults**: A default value that multiple topics can read and optionally override
- **Dynamic knowledge sources**: A global variable can hold a URL that a knowledge source references via `=$"{Global.VarName}"`. This enables routing to different SharePoint folders or websites per user (e.g., by geolocation or department). See `/copilot-studio:add-knowledge` for the full pattern. **Important**: the variable value must be a clean, direct URL — not a SharePoint AllItems.aspx link with query parameters.From microsoft/skills-for-copilot-studio, MIT.
More from microsoft/skills-for-copilot-studio
- 0.582score
int-project-context
microsoftOfficial
Shared project context for all Copilot Studio sub-agents.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
add-adaptive-card
microsoftOfficial
Generate and insert an Adaptive Card into a Copilot Studio topic using AdaptiveCardPrompt.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
add-generative-answers
microsoftOfficial
Add generative answer nodes (SearchAndSummarizeContent or AnswerQuestionWithAI) to a Copilot Studio topic.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
int-patterns
microsoftOfficial
Pattern library for Copilot Studio agent design.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
add-node
microsoftOfficial
Add or modify a node in an existing Copilot Studio topic.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
add-other-agents
microsoftOfficial
Add child agents, connected agents, or other multi-agent patterns to a Copilot Studio agent.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
edit-agent
microsoftOfficial
Edit Copilot Studio agent settings, instructions, or configuration.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
lookup-schema
microsoftOfficial
Look up Copilot Studio YAML schema definitions.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
add-knowledge
microsoftOfficial
Add a knowledge source (public website or SharePoint) to a Copilot Studio agent.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
edit-triggers
microsoftOfficial
Modify topic triggers — trigger phrases and model description.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
create-eval-set
microsoftOfficial
Create a test set CSV file for import into Copilot Studio's in-product Evaluate tab.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
list-kinds
microsoftOfficial
List all available kind discriminator values from the Copilot Studio YAML schema.
SkillCFreshness: C★ 482Claude Code +9
Signals
- Stars
- 482
- Forks
- 103
- Open issues
- 29
- Last commit (this folder)
- Mar 19, 2026 (7 months ago)
- Last release
- May 13, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from microsoft
- 0.714score
skillopt-sleep
microsoftOfficial
Reference-only OpenClaw adaptation of SkillOpt-Sleep.
SkillAFreshness: A★ 18.7KClaude Code +9 - 0.707score
Playwright MCP
microsoftOfficial
Playwright Tools.
ConnectorAFreshness: ALocal★ 38.6KClaude Code +5 - 0.687score
coordinator-response-mode
microsoftOfficial
Selecting WHO handles work is the Routing table; selecting HOW they handle it (Direct, Lightweight, Standard, Full) is Response Mode.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.687score
coordinator-source-of-truth
microsoftOfficial
The complete file-by-file source-of-truth hierarchy for Squad: which files are authoritative, which are derived/append-only, who may write each one, who may…
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.687score
squad
microsoftOfficial
Squad's command catalog and interactive menu.
SkillAFreshness: A★ 1.4KClaude Code +9 - 0.687score
squad-commands
microsoftOfficial
Categorized catalog of common Squad operations.
SkillAFreshness: A★ 1.4KClaude Code +9
Cite this page
add-global-variable skill. Agent Mart. https://agentmart.dev/skills/microsoft-add-global-variable (last updated 2026-10-24)