test-auth
Authenticate for Copilot Studio evaluation API and SDK chat.
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-test-auth
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: backend, testing, security, productivity
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/test-auth
Tools it pre-approves 6
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash(node*eval-api.bundle.jsauth*),Read,Glob
What's inside
- Skill name
test-auth- 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.
- License
- MIT
- Allowed tools
- Bash(node, *eval-api.bundle.js, auth, *),, Read,, Glob
- Instructions
- 75 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Agent Skills spec issues
- name: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# Test Agent Authentication
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`.
## Step 1: Find the workspace
Locate the agent workspace (directory containing `.mcs/conn.json`):
```bash
Glob: **/agent.mcs.yml
```
The `conn.json` provides the tenant ID automatically — no need to ask the user for it.
## Step 2: Get the client ID
**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
## Step 3: Authenticate
Run the auth command (opens a browser — no device code needed):
```bash
node ${CLAUDE_SKILL_DIR}/../../scripts/eval-api.bundle.js auth --workspace <path> --client-id <id>
```
If successful, you'll see:
```json
{"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.
## Troubleshooting
- **HTTP 403 / InsufficientDelegatedPermissions**: The app registration is missing required permissions. Guide the user through adding them (Step 2).
- **AADSTS700016 / app not found in directory**: The client ID doesn't exist in the agent's tenant. The app must be registered in the same tenant as the Copilot Studio environment (check `conn.json` > `AccountInfo.TenantId`).
- **AADSTS7000218 / request body must contain client_secret or client_assertion**: The app registration is not configured as a public client. Go to **Authentication** > **Advanced settings** > set **Allow public client flows** to **Yes**.
- **SDK chat hangs after auth**: The cached token may have stale permissions. Clear the cache and re-authenticate:
- Delete `~/.copilot-studio-cli/test-agent.cache.json`
- Run `security delete-generic-password -s "copilot-studio-cli" -a "test-agent"` to clear the macOS Keychain entry
- Re-run the auth commandFrom 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
int-patterns
microsoftOfficial
Pattern library for Copilot Studio agent design.
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
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-node
microsoftOfficial
Add or modify a node in an existing Copilot Studio topic.
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-generative-answers
microsoftOfficial
Add generative answer nodes (SearchAndSummarizeContent or AnswerQuestionWithAI) to a Copilot Studio topic.
SkillCFreshness: C★ 482Claude Code +9 - 0.581score
add-global-variable
microsoftOfficial
Add a global variable to a Copilot Studio agent.
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
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
Signals
- Stars
- 482
- Forks
- 103
- Open issues
- 29
- Last commit (this folder)
- Apr 13, 2026 (6 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
squad
microsoftOfficial
Squad's command catalog and interactive menu.
SkillAFreshness: A★ 1.4KClaude Code +9 - 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-commands
microsoftOfficial
Categorized catalog of common Squad operations.
SkillAFreshness: A★ 1.4KClaude Code +9
Cite this page
test-auth skill. Agent Mart. https://agentmart.dev/skills/microsoft-test-auth (last updated 2026-10-24)