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.
npx skills add https://github.com/microsoft/skills-for-copilot-studio --skill detect-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).
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>.
{ "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.
{ "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.
| 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 |
Take microsoft/detect-mode from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.