add-action
Guide users through adding a new connector action to a Copilot Studio agent. Connector…
Authenticate for Copilot Studio evaluation API and SDK chat. Caches a token that is shared across run-eval and chat-sdk skills. Run this before any eval or SDK chat workflow. Requires an App Registration with MakerOperations and Copilots.Invoke permissions.
$ npx -y skills add microsoft/skills-for-copilot-studio --skill test-auth --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/test-authContext preview
The summary Claude sees to decide when to auto-load this skill.
Authenticate for Copilot Studio evaluation API and SDK chat. Caches a token that is shared across run-eval and chat-sdk skills. Run this before any eval or SDK chat workflow. Requires an App Registration with MakerOperations and Copilots.Invoke permissions.
user-invocable: false description: > Authenticate for Copilot Studio evaluation API and SDK chat. Caches a token that is shared across run-eval and chat-sdk skills. Run this before any eval or SDK chat workflow. Requires an App Registration with MakerOperations and Copilots.Invoke permissions. allowed-tools: Bash(node *eval-api.bundle.js auth *), Read, Glob context: fork agent: copilot-studio-test
Authenticate with the Power Platform API for evaluation and SDK chat workflows. This caches a token in the `"test-agent"` slot that is shared by `run-eval` and `chat-sdk`.
Locate the agent workspace (directory containing `.mcs/conn.json`):
Glob: **/agent.mcs.yml
The `conn.json` provides the tenant ID automatically — no need to ask the user for it.
**CRITICAL: You MUST present the FULL configuration checklist below when asking for the client ID. Do NOT omit any items — users frequently miss the redirect URI and public client settings, which causes auth failures.**
Ask the user for their **App Registration Client ID** and show them **all** of the following requirements in your message:
> What is your App Registration Client ID for the Evaluation API? > > Before sharing it, please verify your App Registration has **all** of these settings: > > 1. **Redirect URI**: Under **Authentication** > **Mobile and desktop applications** > redirect URI set to `http://localhost` > 2. **Public client**: Under **Authentication** > **Advanced settings** > **Allow public client flows** set to **Yes** > 3. **API permissions**: Under **API permissions**, these **delegated** permissions on the **Power Platform API**: > - `CopilotStudio.MakerOperations.Read` (list test sets, get results) > - `CopilotStudio.MakerOperations.ReadWrite` (start evaluation runs) > - `CopilotStudio.Copilots.Invoke` (SDK chat — send utterances to the agent) > 4. **Admin consent**: Granted for the tenant (green checkmarks in the API permissions list) > > Missing any of these will cause authentication to fail.
If the user doesn't have one, guide them:
> **How to create an App Registration:** > 1. Go to [Azure Portal > App Registrations](https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade) > 2. Click **New registration**, name it (e.g., "Copilot Studio Eval") > 3. Under **API permissions** > **Add a permission** > **APIs my organization uses** > search **Power Platform API** > 4. Select **Delegated permissions** and add: > - `CopilotStudio.MakerOperations.Read` > - `CopilotStudio.MakerOperations.ReadWrite` > - `CopilotStudio.Copilots.Invoke` > 5. Click **Grant admin consent** for the tenant > 6. Under **Authentication** > **Add a platform** > **Mobile and desktop applications** > set redirect URI to `http://localhost` > 7. Still in **Authentication**, scroll to **Advanced settings** and set **Allow public client flows** to **Yes** (required — without this the interactive browser login will fail with an AADSTS error) > 8. Copy the **Application (client) ID** from the Overview page
Run the auth command (opens a browser — no device code needed):
node ${CLAUDE_SKILL_DIR}/../../scripts/eval-api.bundle.js auth --workspace <path> --client-id <id>If successful, you'll see:
{"status": "ok", "message": "Authentication successful. Token cached for subsequent commands."}**Return the client ID and workspace path to the caller** — they need these for subsequent `run-eval` and `chat-sdk` calls.
A 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 or modify a node in an existing Copilot Studio topic. Use when the user asks to add a…