[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699DZJSJ6HJ52PGZ55072JE":3,"skill-same:01M699DZJSJ6HJ52PGZ55072JE":57},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":6,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M699DZJSJ6HJ52PGZ55072JE","add-action",null,"Guide users through adding a new connector action to a Copilot Studio agent. Connector actions require UI-based connection setup, so this skill walks users through the Copilot Studio portal steps, then delegates to edit-action for YAML modifications.","microsoft\u002Fskills-for-copilot-studio","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M699DXBD563FYBGWKPJJRAVM",493,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio\u002Fblob\u002Fmain\u002Fskills\u002Fadd-action\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24],"add action","2026-11-10 10:12:30",false,"---\nuser-invocable: false\ndescription: Guide users through adding a new connector action to a Copilot Studio agent. Connector actions require UI-based connection setup, so this skill walks users through the Copilot Studio portal steps, then delegates to edit-action for YAML modifications.\nargument-hint: \u003Caction description, e.g. \"post a Teams message\">\nallowed-tools: Bash(node *connector-lookup.bundle.js *), Read\ncontext: fork\nagent: copilot-studio-author\n---\n\n# Add Connector Action (Guide)\n\nThis skill guides users through adding a new connector action to their Copilot Studio agent. **It does NOT write action YAML directly** because connector actions require a connection reference that can only be created through the Copilot Studio UI.\n\n## Why This Is a Guide, Not a Generator\n\nConnector actions need:\n1. A **connection reference** — an authenticated link to the external service (Teams, Outlook, SharePoint, etc.)\n2. The connection reference can only be created by the user authenticating in the Copilot Studio portal\n3. Once the action is added via the UI and pulled locally, the YAML can be edited with `\u002Fcopilot-studio:edit-action`\n\n## Connector Lookup\n\nHelp the user find the right connector and operation before they go to the UI. Use the connector lookup tool. Important: The connector lookup script only covers a subset of connectors (run `list` to see which ones). If the user's requested connector is not in the list, tell the user they need to find and add the connector action entirely through the Copilot Studio portal, then ask them to pull again the files locally. Once pulled, `\u002Fcopilot-studio:edit-action` can still be used to customize the YAML.\n\nWhen the connector IS available, use the lookup tool to help the user before they go to the UI:\n\n```bash\nnode ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js list\nnode ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js operations \u003Cconnector>\nnode ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js operation \u003Cconnector> \u003CoperationId>\nnode ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js search \u003Ckeyword>\n```\n\n`\u003Cconnector>` matches by API name (`shared_office365`) or partial display name (`outlook`).\n\nUse these to help the user understand:\n- Which connector has the operation they need\n- What the operation is called (so they can find it in the UI)\n- What inputs and outputs it expects\n\n## Instructions\n\n1. **Understand what the user wants** — ask clarifying questions if the request is vague (e.g., \"send a message\" — Teams? Outlook? Slack?)\n\n2. **Search for the operation** using connector-lookup:\n   ```bash\n   node ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js search \"\u003Cuser's description>\"\n   ```\n   If no match, try broader terms. If the connector is not available in the lookup script at all after different tries, inform the user that this connector is not in the local reference and they will need to add the action through the Copilot Studio UI.\n\n3. **Show the operation details** so the user knows exactly what to look for in the UI:\n   ```bash\n   node ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js operation \u003Cconnector> \u003CoperationId>\n   ```\n\n4. **Walk the user through the UI steps**:\n\n   > Here's how to add this action in Copilot Studio:\n   >\n   > 1. Open [Copilot Studio](https:\u002F\u002Fcopilotstudio.microsoft.com)\n   > 2. Navigate to your agent\n   > 3. Go to **Actions** in the left sidebar\n   > 4. Click **+ Add an action**\n   > 5. Search for \"**{operation displayName}**\" from the **{connector displayName}** connector\n   > 6. Configure the connection (authenticate with your credentials)\n   > 7. Save the action\n   >\n   > Once saved, pull the updated agent files using the **Copilot Studio VS Code Extension** (Source Control → Pull).\n\n5. **After the user confirms they've pulled**, check for the new action file:\n   ```\n   Glob: **\u002Factions\u002F*.mcs.yml\n   ```\n   If the action file is present, let the user know it was pulled successfully.\n\n6. **Offer to edit the action** — if the user wants to customize inputs, descriptions, or connection mode:\n\n   > Would you like me to edit the action YAML? I can modify input descriptions, switch between automatic and manual inputs, change the connection mode, and more. Just say the word and I'll use `\u002Fcopilot-studio:edit-action`.\n\n## MCP Server Actions\n\nMCP (Model Context Protocol) server actions use a different YAML structure than regular connector actions. They use `InvokeExternalAgentTaskAction` with `ModelContextProtocolMetadata` instead of `InvokeConnectorTaskAction`.\n\n**Like regular connector actions, MCP actions require a connection reference that can only be created through the Copilot Studio portal.** This skill cannot create MCP connections — the user must add the MCP server through the UI first.\n\nIf the user asks to add an MCP server action:\n\n> MCP server actions require a connection to be set up in the Copilot Studio portal first — I can't create that from here.\n>\n> Here's how to add it:\n>\n> 1. Open [Copilot Studio](https:\u002F\u002Fcopilotstudio.microsoft.com)\n> 2. Navigate to your agent\n> 3. Go to **Actions** in the left sidebar\n> 4. Click **+ Add an action**\n> 5. Search for the MCP server connector (e.g., \"Microsoft Learn Docs MCP Server\")\n> 6. Configure the connection (authenticate with your credentials)\n> 7. Save the action\n>\n> Once saved, pull the updated agent files. I can then help you edit the action with `\u002Fcopilot-studio:edit-action` — for example, changing the `modelDescription` or `modelDisplayName`.\n\n**Key differences from regular connector actions:** MCP actions do not use `AutomaticTaskInput` — the MCP protocol handles tool parameter discovery dynamically. However, `ManualTaskInput` entries are OK for passing context to the MCP server (e.g., user identity via Power Fx: `value: =System.User.Email`).\n\n## Structural Reference\n\nFor structural templates, see:\n\n```\nRead: ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Ftemplates\u002Factions\u002Fconnector-action.mcs.yml\nRead: ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Ftemplates\u002Factions\u002Fmcp-action.mcs.yml\n```\n\nUse these alongside `connector-lookup operation` output to understand both the YAML structure and the full inputs\u002Foutputs for a specific operation.\n","# Add Connector Action (Guide)\n\nThis skill guides users through adding a new connector action to their Copilot Studio agent. **It does NOT write action YAML directly** because connector actions require a connection reference that can only be created through the Copilot Studio UI.\n\n## Why This Is a Guide, Not a Generator\n\nConnector actions need:\n1. A **connection reference** — an authenticated link to the external service (Teams, Outlook, SharePoint, etc.)\n2. The connection reference can only be created by the user authenticating in the Copilot Studio portal\n3. Once the action is added via the UI and pulled locally, the YAML can be edited with `\u002Fcopilot-studio:edit-action`\n\n## Connector Lookup\n\nHelp the user find the right connector and operation before they go to the UI. Use the connector lookup tool. Important: The connector lookup script only covers a subset of connectors (run `list` to see which ones). If the user's requested connector is not in the list, tell the user they need to find and add the connector action entirely through the Copilot Studio portal, then ask them to pull again the files locally. Once pulled, `\u002Fcopilot-studio:edit-action` can still be used to customize the YAML.\n\nWhen the connector IS available, use the lookup tool to help the user before they go to the UI:\n\n```bash\nnode ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js list\nnode ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js operations \u003Cconnector>\nnode ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js operation \u003Cconnector> \u003CoperationId>\nnode ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js search \u003Ckeyword>\n```\n\n`\u003Cconnector>` matches by API name (`shared_office365`) or partial display name (`outlook`).\n\nUse these to help the user understand:\n- Which connector has the operation they need\n- What the operation is called (so they can find it in the UI)\n- What inputs and outputs it expects\n\n## Instructions\n\n1. **Understand what the user wants** — ask clarifying questions if the request is vague (e.g., \"send a message\" — Teams? Outlook? Slack?)\n\n2. **Search for the operation** using connector-lookup:\n   ```bash\n   node ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js search \"\u003Cuser's description>\"\n   ```\n   If no match, try broader terms. If the connector is not available in the lookup script at all after different tries, inform the user that this connector is not in the local reference and they will need to add the action through the Copilot Studio UI.\n\n3. **Show the operation details** so the user knows exactly what to look for in the UI:\n   ```bash\n   node ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Fscripts\u002Fconnector-lookup.bundle.js operation \u003Cconnector> \u003CoperationId>\n   ```\n\n4. **Walk the user through the UI steps**:\n\n   > Here's how to add this action in Copilot Studio:\n   >\n   > 1. Open [Copilot Studio](https:\u002F\u002Fcopilotstudio.microsoft.com)\n   > 2. Navigate to your agent\n   > 3. Go to **Actions** in the left sidebar\n   > 4. Click **+ Add an action**\n   > 5. Search for \"**{operation displayName}**\" from the **{connector displayName}** connector\n   > 6. Configure the connection (authenticate with your credentials)\n   > 7. Save the action\n   >\n   > Once saved, pull the updated agent files using the **Copilot Studio VS Code Extension** (Source Control → Pull).\n\n5. **After the user confirms they've pulled**, check for the new action file:\n   ```\n   Glob: **\u002Factions\u002F*.mcs.yml\n   ```\n   If the action file is present, let the user know it was pulled successfully.\n\n6. **Offer to edit the action** — if the user wants to customize inputs, descriptions, or connection mode:\n\n   > Would you like me to edit the action YAML? I can modify input descriptions, switch between automatic and manual inputs, change the connection mode, and more. Just say the word and I'll use `\u002Fcopilot-studio:edit-action`.\n\n## MCP Server Actions\n\nMCP (Model Context Protocol) server actions use a different YAML structure than regular connector actions. They use `InvokeExternalAgentTaskAction` with `ModelContextProtocolMetadata` instead of `InvokeConnectorTaskAction`.\n\n**Like regular connector actions, MCP actions require a connection reference that can only be created through the Copilot Studio portal.** This skill cannot create MCP connections — the user must add the MCP server through the UI first.\n\nIf the user asks to add an MCP server action:\n\n> MCP server actions require a connection to be set up in the Copilot Studio portal first — I can't create that from here.\n>\n> Here's how to add it:\n>\n> 1. Open [Copilot Studio](https:\u002F\u002Fcopilotstudio.microsoft.com)\n> 2. Navigate to your agent\n> 3. Go to **Actions** in the left sidebar\n> 4. Click **+ Add an action**\n> 5. Search for the MCP server connector (e.g., \"Microsoft Learn Docs MCP Server\")\n> 6. Configure the connection (authenticate with your credentials)\n> 7. Save the action\n>\n> Once saved, pull the updated agent files. I can then help you edit the action with `\u002Fcopilot-studio:edit-action` — for example, changing the `modelDescription` or `modelDisplayName`.\n\n**Key differences from regular connector actions:** MCP actions do not use `AutomaticTaskInput` — the MCP protocol handles tool parameter discovery dynamically. However, `ManualTaskInput` entries are OK for passing context to the MCP server (e.g., user identity via Power Fx: `value: =System.User.Email`).\n\n## Structural Reference\n\nFor structural templates, see:\n\n```\nRead: ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Ftemplates\u002Factions\u002Fconnector-action.mcs.yml\nRead: ${CLAUDE_SKILL_DIR}\u002F..\u002F..\u002Ftemplates\u002Factions\u002Fmcp-action.mcs.yml\n```\n\nUse these alongside `connector-lookup operation` output to understand both the YAML structure and the full inputs\u002Foutputs for a specific operation.\n",{"agent":30,"context":31,"description":7,"allowed-tools":32,"argument-hint":33,"user-invocable":26},"copilot-studio-author","fork","Bash(node *connector-lookup.bundle.js *), Read","\u003Caction description, e.g. \"post a Teams message\">","main","9c42d3a612c6e06389b6e5b4eed579aaed1a8b63","skills\u002Fadd-action",103,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-12 17:03:17",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add microsoft\u002Fskills-for-copilot-studio --skill add-action",{"tool":49,"command":50},"bunx","bunx skills add microsoft\u002Fskills-for-copilot-studio --skill add-action",{"tool":52,"command":53},"pnpm","pnpm dlx skills add microsoft\u002Fskills-for-copilot-studio --skill add-action","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio\u002Fblob\u002Fmain\u002Fskills\u002Fadd-action\u002FSKILL.md",true,[],[58,66,84,93,104,113],{"skillNo":59,"name":60,"nameZh":6,"description":61,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":62,"categories":63,"keywords":65,"publishedAt":25},"01M699FD973RBVBTQYE48GBFPG","validate","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.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio\u002Fblob\u002Fmain\u002Fskills\u002Fvalidate\u002FSKILL.md",[64],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[60],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":78,"publishedAt":25},"01M699FBJC22B4HCFH9MA844C3","test-auth","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.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio\u002Fblob\u002Fmain\u002Fskills\u002Ftest-auth\u002FSKILL.md",[72,75],{"categoryNo":73,"categoryName":74,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":76,"categoryName":77,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[79,80,81,82,83],"test","auth","test auth","sdk","workflow",{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":91,"publishedAt":25},"01M699FA38G1TAVA0JWD9DG783","run-tests-kit","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\u002Ffail results with latencies. Requires the Kit installed in the environment, an App Registration with Dataverse permissions, and a published agent.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio\u002Fblob\u002Fmain\u002Fskills\u002Frun-tests-kit\u002FSKILL.md",[90],{"categoryNo":73,"categoryName":74,"taxonomyType":21,"taxonomyTypeDesc":22},[92,79],"run tests kit",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":102,"publishedAt":25},"01M699F8EP4BZT1EA3R4Y40X98","run-eval","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.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio\u002Fblob\u002Fmain\u002Fskills\u002Frun-eval\u002FSKILL.md",[99,100,101],{"categoryNo":73,"categoryName":74,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":76,"categoryName":77,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[103,79],"run eval",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":111,"publishedAt":25},"01M699F6NR5Z4RTN5MWH5WYV9H","new-topic","Create a new Copilot Studio topic YAML file. Use when the user asks to create a new topic, conversation flow, or dialog for their agent.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio\u002Fblob\u002Fmain\u002Fskills\u002Fnew-topic\u002FSKILL.md",[110],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[112],"new topic",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":25},"01M699F4QN5BMQA3X9F7WC1NS0","manage-agent","Push\u002Fpull Copilot Studio agent content via the VS Code extension's LanguageServerHost LSP binary. Handles authentication (interactive browser login for push\u002Fpull, device code flow for chat token), sync push, sync pull, clone, and diff operations.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-copilot-studio\u002Fblob\u002Fmain\u002Fskills\u002Fmanage-agent\u002FSKILL.md",[119],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[121,80,122],"manage agent","sync"]