{"id":1987,"date":"2026-03-17T21:05:08","date_gmt":"2026-03-17T21:05:08","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/all-things-azure\/?p=1987"},"modified":"2026-04-27T23:47:51","modified_gmt":"2026-04-27T23:47:51","slug":"azure-skills-plugin-lets-get-started","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/all-things-azure\/azure-skills-plugin-lets-get-started\/","title":{"rendered":"Azure Skills Plugin &#8211; Let&#8217;s Get Started!"},"content":{"rendered":"<div style=\"font-family: Helvetica, Arial, sans-serif;\">\n<p style=\"text-align: center;\"><em>Part 2 of the Azure Skills Plugin series<\/em>\n<em>Previously: <a href=\"https:\/\/devblogs.microsoft.com\/all-things-azure\/announcing-the-azure-skills-plugin\/\">Announcing the Azure Skills Plugin<\/a><\/em><\/p>\n<hr \/>\n<p><em>This post is all about getting you up and running. I won&#8217;t go deep on capabilities, architecture or anything like that here &#8211; that&#8217;s coming in future posts in this series. The goal is to get the plugin installed, verified, and ready so you can start exploring right away.<\/em><\/p>\n<p>The Azure Skills Plugin works across many agent hosts including <strong>GitHub Copilot CLI<\/strong>, <strong>VS Code<\/strong>, and <strong>Claude Code<\/strong>. Each install takes under 60 seconds. This post covers all three, what gets installed, and how to verify it&#8217;s working.<\/p>\n<p>\ud83d\udc49 <strong>Plugin repo<\/strong>: <a href=\"https:\/\/aka.ms\/azure-skills\">aka.ms\/azure-skills<\/a><\/p>\n<h2>Prerequisites (All Hosts)<\/h2>\n<ul>\n<li><strong>Node.js 18+<\/strong> <em>&#8211; <\/em>required for MCP servers (they run via <code>npx<\/code>)<\/li>\n<li><strong>An Azure account<\/strong> <em>&#8211; <\/em>free tier works for exploring; real subscription for deployments<\/li>\n<li><strong>Azure CLI (<code>az<\/code>)<\/strong> installed and authenticated (<code>az login<\/code>)<\/li>\n<li><strong>Azure Developer CLI (<code>azd<\/code>)<\/strong> installed and authenticated (<code>azd auth login<\/code>)<\/li>\n<\/ul>\n<hr \/>\n<h2>Part 1: GitHub Copilot CLI<\/h2>\n<h3>Install<\/h3>\n<pre><code># Add the marketplace source (first time only)\r\n<strong>\/plugin marketplace add microsoft\/azure-skills<\/strong>\r\n\r\n# Install the plugin\r\n<strong>\/plugin install azure@azure-skills<\/strong><\/code><\/pre>\n<h3>Update<\/h3>\n<pre><code>\/plugin update azure@azure-skills<\/code><\/pre>\n<h3>After Install: Reload MCP Servers<\/h3>\n<p><strong>Important<\/strong> &#8211; Copilot CLI does not auto-load the new MCP servers. You must run:<\/p>\n<pre><strong><code>\/mcp reload<\/code><\/strong><\/pre>\n<p>This picks up the MCP server definitions from the plugin and makes the Azure tools available.<\/p>\n<h3>Verify<\/h3>\n<pre><code>\/mcp status<\/code><\/pre>\n<p>You should see the MCP servers (azure, context7) listed and running.<\/p>\n<h3>Install Skills Globally<\/h3>\n<p>If you ever remove the skills and want to reinstall them:\n<code>CTRL+SHIFT+P<\/code> &gt; `<em>@azure: Install Azure Skills Locally|Globally`<\/em><\/p>\n<h3>Smoke Test<\/h3>\n<p>Try these prompts in Copilot CLI:<\/p>\n<blockquote><p>&#8220;List my Azure resource groups&#8221;<\/p><\/blockquote>\n<p>If the Azure MCP Server loaded correctly, Copilot will call the resource group tool and return live results.<\/p>\n<blockquote><p>&#8220;What Azure services would I need to deploy a Python web API?&#8221;<\/p><\/blockquote>\n<p>If skills loaded, you&#8217;ll see Copilot reference <code>azure-prepare<\/code> &#8211; not just generic suggestions.<\/p>\n<hr \/>\n<h2>Part 2: VS Code<\/h2>\n<h2>Additional Prerequisites<\/h2>\n<ul>\n<li><strong>Git CLI: <\/strong>required on your machine for the extension to function<\/li>\n<li><strong>VS Code Stable or Insiders:<\/strong>\u00a0both work<\/li>\n<\/ul>\n<h3>Install<\/h3>\n<p>Install the <strong>Azure MCP<\/strong> extension from the VS Code Marketplace:<\/p>\n<ul>\n<li>\ud83d\uded2 <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.vscode-azure-mcp-server\">View on the VS Code Marketplace<\/a><\/li>\n<li>\u26a1 <a href=\"vscode:extension\/ms-azuretools.vscode-azure-mcp-server\">Install in VS Code<\/a> \u00b7 <a href=\"vscode-insiders:extension\/ms-azuretools.vscode-azure-mcp-server\">Install in VS Code Insiders<\/a><\/li>\n<li>Or search &#8220;Azure MCP&#8221; in the Extensions panel (Extension ID: <code>ms-azuretools.vscode-azure-mcp-server<\/code>)<\/li>\n<\/ul>\n<p>The extension auto-installs a companion extension, GitHub Copilot for Azure, which contains the Azure skills.<\/p>\n<h3>Verify<\/h3>\n<ol>\n<li>Open Copilot Chat (Ctrl+Shift+I \/ Cmd+Shift+I)<\/li>\n<li>Make sure you&#8217;re in <strong>Agent mode<\/strong> (not Ask or Edit mode)<\/li>\n<li>Open the Command Palette (Ctrl+Shift+P) \u2192 search &#8220;MCP&#8221; \u2192 verify servers are listed and running<\/li>\n<\/ol>\n<h3>Smoke Test<\/h3>\n<blockquote><p>&#8220;List my Azure resource groups&#8221;<\/p><\/blockquote>\n<p>Copilot should call <code>mcp_azure_mcp_group_list<\/code> and return your actual resource groups.<\/p>\n<blockquote><p>&#8220;What AI models are available in Microsoft Foundry?&#8221;<\/p><\/blockquote>\n<p>The Azure MCP Server includes Foundry tools, so Copilot will query the model catalog directly.<\/p>\n<hr \/>\n<h2>Part 3: Claude Code<\/h2>\n<h3>Install<\/h3>\n<pre><code># Add the marketplace source (first time only)\r\n<strong>\/plugin marketplace add microsoft\/azure-skills<\/strong>\r\n\r\n# Install the plugin\r\n<strong>\/plugin install azure@azure-skills<\/strong><\/code><\/pre>\n<h3>Update<\/h3>\n<pre><code># Update the marketplace\r\n\/plugin marketplace update azure-skills<\/code><\/pre>\n<hr \/>\n<h2>What Gets Installed<\/h2>\n<p>All three hosts install the same plugin payload. Here&#8217;s what&#8217;s inside:<\/p>\n<h3>Skills \u2192 <code>..\/azure-skills\/skills\/<\/code> (for Copilot)<\/h3>\n<p>The plugin drops 21 curated skill files. Each is a markdown file (<code>SKILL.md<\/code>) that teaches the AI domain expertise for a specific Azure scenario:<\/p>\n<pre><code>.copilot\/installed-plugins\/azure-skills\/azure\/skills\/\r\n\u251c\u2500\u2500 appinsights-instrumentation\/SKILL.md\r\n\u251c\u2500\u2500 azure-ai\/SKILL.md\r\n\u251c\u2500\u2500 azure-aigateway\/SKILL.md\r\n\u251c\u2500\u2500 azure-cloud-migrate\/SKILL.md\r\n\u251c\u2500\u2500 azure-compliance\/SKILL.md\r\n\u251c\u2500\u2500 azure-compute\/SKILL.md\r\n\u251c\u2500\u2500 azure-cost-optimization\/SKILL.md\r\n\u251c\u2500\u2500 azure-deploy\/SKILL.md\r\n\u251c\u2500\u2500 azure-diagnostics\/SKILL.md\r\n\u251c\u2500\u2500 azure-hosted-copilot-sdk\/SKILL.md\r\n\u251c\u2500\u2500 azure-kusto\/SKILL.md\r\n\u251c\u2500\u2500 azure-messaging\/SKILL.md\r\n\u251c\u2500\u2500 azure-prepare\/SKILL.md\r\n\u251c\u2500\u2500 azure-quotas\/SKILL.md\r\n\u251c\u2500\u2500 azure-rbac\/SKILL.md\r\n\u251c\u2500\u2500 azure-resource-lookup\/SKILL.md\r\n\u251c\u2500\u2500 azure-resource-visualizer\/SKILL.md\r\n\u251c\u2500\u2500 azure-storage\/SKILL.md\r\n\u251c\u2500\u2500 azure-validate\/SKILL.md\r\n\u251c\u2500\u2500 entra-app-registration\/SKILL.md\r\n\u2514\u2500\u2500 microsoft-foundry\/SKILL.md<\/code><\/pre>\n<p>These don&#8217;t run code. They&#8217;re instruction files that the AI reads to understand <em>when<\/em> and <em>how<\/em> to help you with Azure tasks.<\/p>\n<h3>MCP Servers \u2192 <code>.copilot\/installed-plugins\/azure-skills\/azure\/.mcp.json<\/code> (for Copilot)<\/h3>\n<p>The plugin configures two MCP (Model Context Protocol) servers:<\/p>\n<pre><code>{\r\n  \"servers\": {\r\n    \"azure\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@azure\/mcp@latest\", \"server\", \"start\"]\r\n    },\r\n    \"context7\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@upstash\/context7-mcp@latest\"]\r\n    }\r\n  }\r\n}<\/code><\/pre>\n<table>\n<thead>\n<tr>\n<th>Server<\/th>\n<th>What It Does<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong><code>azure<\/code><\/strong><\/td>\n<td>The Azure MCP Server. 59 tools across 40+ Azure services. Includes Microsoft Foundry (model catalog, deployments, agent management). Lists resources, provisions infrastructure, queries logs, checks prices.<\/td>\n<\/tr>\n<tr>\n<td><strong><code>context7<\/code><\/strong><\/td>\n<td>Context7 brings up-to-date, version-specific documentation and code examples directly into your AI coding assistant.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Where Do Files Land?<\/h3>\n<p>The plugin payload lives under <code>.copilot\/installed-plugins\/azure-skills\/azure\/<\/code> in your profile or workspace.<\/p>\n<pre><code>your-profile\/\r\n\u251c\u2500\u2500 .copilot\/installed-plugins\/azure-skills\/azure\/     \u2190 plugin payload\r\n\u2502   \u251c\u2500\u2500 skills\/                                        \u2190 21 SKILL.md files\r\n\u2502   \u2514\u2500\u2500 .mcp.json                                      \u2190 MCP server definitions\r\n\u2514\u2500\u2500 ...<\/code><\/pre>\n<hr \/>\n<h2>Skill and Tool Budgets<\/h2>\n<p>Each agent host has limits on how many skills or how much skill content it will include in a request. The Azure Skills Plugin ships 21 skills plus 59 MCP tools &#8211; if you&#8217;re also running other plugins or MCP servers, you may hit these limits and some skills\/tools could be silently excluded.<\/p>\n<h3>GitHub Copilot CLI<\/h3>\n<ul>\n<li><strong>Skill budget: 15,000 tokens by default.<\/strong> If combined skill content exceeds this, some skills will be excluded. You can increase this with an environment variable.<\/li>\n<li>Context auto-compacts when it reaches <strong>95% of the token limit<\/strong>. Long sessions with many skills and tool calls can trigger compaction, which may drop earlier context.<\/li>\n<li>Run <code>\/context<\/code> to see a token usage breakdown.<\/li>\n<li>Run <code>\/compact<\/code> to manually compress context before it hits the limit.<\/li>\n<li>Use <code>\/skills<\/code> to toggle individual skills on or off &#8211; disable skills you don&#8217;t need for your current task to free up context space.<\/li>\n<\/ul>\n<h3>Claude Code<\/h3>\n<ul>\n<li><strong>Skill budget: 2% of the context window<\/strong>, with a fallback floor of 16,000 characters. If combined skill content exceeds this, some skills will be excluded.<\/li>\n<li>Run <code>\/context<\/code> in Claude Code &#8211; if skills are being excluded, you&#8217;ll see a warning.<\/li>\n<li><strong>Override<\/strong>: Set the <code>SLASH_COMMAND_TOOL_CHAR_BUDGET<\/code> environment variable to increase the budget (in characters).<\/li>\n<\/ul>\n<blockquote><p><strong>Tip<\/strong>: If Azure skills don&#8217;t seem to be activating, check whether you have many other plugins or MCP servers loaded. Reducing the total tool\/skill count often resolves the issue.<\/p><\/blockquote>\n<hr \/>\n<h2>Troubleshooting<\/h2>\n<p>We have a <a href=\"https:\/\/github.com\/microsoft\/azure-skills\/blob\/main\/Troubleshooting.md\">Troubleshooting Guide<\/a>, but some of these common tips may help fix your issues quickly.<\/p>\n<h3>&#8220;Skills don&#8217;t seem to be loaded&#8221;<\/h3>\n<ul>\n<li><strong>Copilot CLI<\/strong>: Run <code>\/plugin list<\/code> to confirm the plugin is installed<\/li>\n<li><strong>VS Code<\/strong>: Check that <code>.github\/plugins\/azure-skills\/<\/code> exists; reload the window (Ctrl+Shift+P \u2192 &#8220;Reload Window&#8221;); confirm you&#8217;re in <strong>Agent mode<\/strong><\/li>\n<li><strong>Claude Code<\/strong>: Run <code>\/skills<\/code> inside Claude Code to confirm<\/li>\n<\/ul>\n<h3>&#8220;MCP tools aren&#8217;t showing up&#8221;<\/h3>\n<ul>\n<li><strong>Copilot CLI<\/strong>: Run <code>\/mcp reload<\/code> &#8211; this is required after install &#8211; then run <code>\/mcp show azure<\/code> to see the tools<\/li>\n<li><strong>VS Code<\/strong>: Check <code>.mcp.json<\/code> in workspace root; try Command Palette \u2192 &#8220;MCP: Restart Servers&#8221;; check Output panel (View \u2192 Output \u2192 &#8220;MCP&#8221;)<\/li>\n<li><strong>Claude Code<\/strong>: Run <code>\/mcp<\/code> and navigate to the MCP servers to see the tools<\/li>\n<li><strong>All hosts<\/strong>: Make sure Node.js 18+ is installed (<code>node --version<\/code>)<\/li>\n<\/ul>\n<h3>&#8220;Azure commands fail with auth errors&#8221;<\/h3>\n<ul>\n<li>Run <code>az login<\/code> to refresh authentication<\/li>\n<li>Run <code>azd auth login<\/code> for deployment skills<\/li>\n<li>Set your subscription: <code>az account set --subscription &lt;your-sub-id&gt;<\/code><\/li>\n<\/ul>\n<h3>&#8220;I already had Azure MCP installed separately&#8221;<\/h3>\n<p>No problem. The plugin&#8217;s <code>.mcp.json<\/code> uses the same <code>@azure\/mcp<\/code> package. You&#8217;re just getting the skills layer on top. Your existing MCP tools continue to work.<\/p>\n<hr \/>\n<h2>What&#8217;s Next<\/h2>\n<p>You&#8217;re installed and verified. In the next post, we&#8217;ll look at how skills and MCP servers actually work together <em>&#8211; <\/em>how a skill decides to activate, how it orchestrates MCP tool calls, and how progressive disclosure keeps everything fast.<\/p>\n<hr \/>\n<h2>\ud83d\ude80 Try It Yourself<\/h2>\n<ol>\n<li>Install: <a href=\"https:\/\/aka.ms\/azure-skills\">aka.ms\/azure-skills<\/a><\/li>\n<li>Open your AI coding tool (Copilot CLI, VS Code, or Claude Code)<\/li>\n<li>Ask: <strong>&#8220;List my Azure resource groups&#8221;<\/strong><\/li>\n<li>Ask: <strong>&#8220;What would I need to deploy a Python Flask API to Azure?&#8221;<\/strong><\/li>\n<\/ol>\n<p>If both work, you&#8217;re ready for the rest of the series.<\/p>\n<hr \/>\n<p><em>Previous: <a href=\"https:\/\/devblogs.microsoft.com\/all-things-azure\/announcing-the-azure-skills-plugin\/\">Meet the Azure Skills Plugin \u2192<\/a><\/em>\n<em>Next up: Building with Azure Skills \u2192<\/em><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Part 2 of the Azure Skills Plugin series Previously: Announcing the Azure Skills Plugin This post is all about getting you up and running. I won&#8217;t go deep on capabilities, architecture or anything like that here &#8211; that&#8217;s coming in future posts in this series. The goal is to get the plugin installed, verified, and [&hellip;]<\/p>\n","protected":false},"author":104169,"featured_media":1743,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1987","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure"],"acf":[],"blog_post_summary":"<p>Part 2 of the Azure Skills Plugin series Previously: Announcing the Azure Skills Plugin This post is all about getting you up and running. I won&#8217;t go deep on capabilities, architecture or anything like that here &#8211; that&#8217;s coming in future posts in this series. The goal is to get the plugin installed, verified, and [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/posts\/1987","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/users\/104169"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/comments?post=1987"}],"version-history":[{"count":3,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/posts\/1987\/revisions"}],"predecessor-version":[{"id":2256,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/posts\/1987\/revisions\/2256"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/media\/1743"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/media?parent=1987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/categories?post=1987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/all-things-azure\/wp-json\/wp\/v2\/tags?post=1987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}