mcpbeat

Detect Mode

microsoft/detect-mode

Detect a Copilot Studio agent's authentication mode (DirectLine vs M365) by querying Dataverse. Returns the mode and connection details needed to chat.

489 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
386
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/skills-for-copilot-studio --skill detect-mode

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

5 sections, as written by the author

Detect Agent Authentication Mode

Query the Dataverse bots entity to determine whether the agent uses DirectLine (no auth / manual auth) or the Copilot Studio SDK (integrated auth / Entra ID SSO).

Instructions

  • Run the detect-only command:
   node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js --detect-only $ARGUMENTS

If the agent is not at the project root, pass --agent-dir <path>.

  • Parse the JSON output from stdout:

DirectLine mode (authenticationmode 1 or 3)

   { "status": "ok", "mode": "directline", "authenticationmode": 1, "tokenEndpoint": "https://...", "schemaName": "..." }

The agent uses no authentication or manual authentication. No user credentials needed. The tokenEndpoint is ready to use with /copilot-studio:chat-directline.

M365 mode (authenticationmode 2)

   { "status": "ok", "mode": "m365", "authenticationmode": 2, "schemaName": "..." }

The agent uses integrated authentication (Entra ID SSO). An App Registration Client ID is needed for /copilot-studio:chat-sdk.

  • Return the result to the caller. Do not proceed to chat — that is a separate step.

Error Handling

| Error | Cause | Resolution |

|-------|-------|------------|

| No agent.mcs.yml found | No agent in workspace | Clone the agent first |

| No .mcs/conn.json found | Agent not cloned via VS Code extension | Clone with the extension |

| Could not detect authentication mode | No cached Dataverse token | Run a push/pull first to cache tokens, or ask the user about their auth config |

How to use it

Copy the folder

Take microsoft/detect-mode from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.