add-action
Guide users through adding a new connector action to a Copilot Studio agent. Connector…
Send a message to a Copilot Studio agent via DirectLine v3. Use for agents with no auth or manual auth. Requires a token endpoint URL or DirectLine secret.
$ npx -y skills add microsoft/skills-for-copilot-studio --skill chat-directline --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/chat-directlineContext preview
The summary Claude sees to decide when to auto-load this skill.
Send a message to a Copilot Studio agent via DirectLine v3. Use for agents with no auth or manual auth. Requires a token endpoint URL or DirectLine secret.
user-invocable: false description: Send a message to a Copilot Studio agent via DirectLine v3. Use for agents with no auth or manual auth. Requires a token endpoint URL or DirectLine secret. argument-hint: <utterance> allowed-tools: Bash(node *chat-with-agent.bundle.js *), Read, Glob agent: copilot-studio-test
Send a single utterance to a published agent via the DirectLine v3 REST API. Use this for agents with **no authentication** (authenticationmode 1) or **manual authentication** (authenticationmode 3).
1. Run the script with `--token-endpoint` (from detect-mode output) and the utterance from `$ARGUMENTS`:
node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js \
--token-endpoint "<tokenEndpoint>" "<utterance>"If the user provided a DirectLine secret instead:
node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js \
--directline-secret "<secret>" "<utterance>"2. Parse the JSON output from stdout.
{
"status": "ok",
"protocol": "directline",
"utterance": "hello",
"conversation_id": "abc123-XYZ",
"directline_token": "eyJ...",
"watermark": "3",
"start_activities": [ ... ],
"activities": [ ... ]
}Display the agent's response from the `activities` array:
**Save `conversation_id`, `directline_token`, and `watermark`** — needed for follow-ups.
The agent requires the user to authenticate (manual auth agents):
{
"status": "signin_required",
"protocol": "directline",
"signin_url": "https://...",
"resume_command": "...",
"followup_command": "..."
}1. Show the `signin_url` to the user, ask for the validation code 2. Send the code: `node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js <resume_command with code substituted>` 3. Re-send the utterance: `node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js <followup_command>`
Use `resume_command` and `followup_command` exactly as given.
Pass all three values from the previous response:
node ${CLAUDE_SKILL_DIR}/../../scripts/chat-with-agent.bundle.js \
--token-endpoint "<url>" "<follow-up>" \
--conversation-id "<id>" --directline-token "<token>" --watermark "<watermark>"| Error | Cause | Resolution | |-------|-------|------------| | `Token endpoint rejected` | Agent not published or wrong URL | Verify agent is published | | `Conversation not found` | Token expired (>30 min) | Start a new conversation |
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…