skills/detect-mode/SKILL.md
Detect a Copilot Studio agent's authentication mode (DirectLine vs M365) by querying Dataverse. Returns the mode and connection details needed to chat.
npx skillsauth add microsoft/skills-for-copilot-studio skills/detect-modeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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).
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:
{ "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.
Return the result to the caller. Do not proceed to chat — that is a separate step.
| 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 |
testing
Validate Copilot Studio agent YAML files using the LSP binary's full diagnostics (YAML structure, Power Fx, schema, cross-file references). Use when the user asks to check, validate, or verify YAML files.
development
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.
development
Run a batch test suite via the Copilot Studio Kit (Dataverse API). Uses the Power CAT Copilot Studio Kit to execute test cases against a published agent and produces pass/fail results with latencies. Requires the Kit installed in the environment, an App Registration with Dataverse permissions, and a published agent.
development
Run evaluations against a Copilot Studio agent via the Power Platform Evaluation API. Works on DRAFT agents — no publish step required. Lists test sets, starts a run, polls until complete, fetches results, and proposes YAML fixes for failures. Use when the user wants to test agent changes without publishing.