Skip to content
alyn
Microsoft Official

Add Global Variable skill

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.

$npx skills add microsoft/skills-for-copilot-studio --skill add-global-variable
View this skill on GitHubmicrosoft/skills-for-copilot-studio/skills/add-global-variable/SKILL.md
Pack stars
490
Pack installs
331
Alyn Score
48/99
Updated
6 days ago
License
MIT
– views – installs via Alyn

Install Add Global Variable

Pick your agent. Every command is ready to paste.

$npx skills add microsoft/skills-for-copilot-studio --skill add-global-variable

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads add-global-variable when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the add-global-variable skill”. In Codex, type $add-global-variable.

The skill itself

SKILL.md

FolderGitHub

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:

# 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>
  1. 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:

# 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.

Tips for Add Global Variable

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Add Global Variable

What does the Add Global Variable skill do?

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.

How do I install Add Global Variable?

Run "npx skills add microsoft/skills-for-copilot-studio --skill add-global-variable" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Add Global Variable work in Cursor and Codex?

Yes. Add Global Variable uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Add Global Variable free?

Add Global Variable is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.

Who made Add Global Variable?

Add Global Variable is published by Microsoft in the microsoft/skills-for-copilot-studio repository, together with 29 other skills.

Similar skills. From other creators.