{"id":256107,"date":"2026-05-13T09:00:47","date_gmt":"2026-05-13T16:00:47","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=256107"},"modified":"2026-04-29T12:04:20","modified_gmt":"2026-04-29T19:04:20","slug":"agent-skills-in-visual-studio","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/agent-skills-in-visual-studio\/","title":{"rendered":"Agent Skills in Visual Studio: Teach Copilot How Your Team Works"},"content":{"rendered":"<p>Visual Studio now supports <strong>Agent Skills<\/strong>, which are reusable instruction sets that teach Copilot agents how to handle specific tasks like running a build pipeline, generating boilerplate, or following your team&#8217;s coding standards. Define a skill once, and the agent applies it automatically whenever it&#8217;s relevant.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/0-reading-skill.webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-256124\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/0-reading-skill.webp\" alt=\"Copilot chat displays that a skill is read and referenced\" width=\"478\" height=\"341\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/0-reading-skill.webp 478w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/0-reading-skill-300x214.webp 300w\" sizes=\"(max-width: 478px) 100vw, 478px\" \/><\/a><\/p>\n<h2>Creating a skill<\/h2>\n<p>You can create a skill directly from within Visual Studio. Click the <strong>tools icon<\/strong> in the bottom-right corner of Copilot Chat to open the <strong>skills panel, <\/strong>a dedicated view of every discovered skill. Click the <strong>+<\/strong> button in the top-right corner of the panel and follow the guided flow: choose a destination (global or solution-level skill), pick a name, and Visual Studio generates a skill template for you to fill in. Copilot Agent mode can then assist you in filling in the template. Currently this flow is only available in the <em>Insiders<\/em> channel and will be in Release soon.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/0-create-skill.webp\"><img decoding=\"async\" class=\"alignnone wp-image-256144\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/0-create-skill.webp\" alt=\"create a new skill from the skills panel\" width=\"310\" height=\"276\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/0-create-skill.webp 444w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/0-create-skill-300x267.webp 300w\" sizes=\"(max-width: 310px) 100vw, 310px\" \/> \u00a0 \u00a0<\/a><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/create-new-skills.webp\"><img decoding=\"async\" class=\"alignnone wp-image-256121\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/create-new-skills.webp\" alt=\"create new skills panel where user define the location of the skill and the name.\" width=\"484\" height=\"276\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/create-new-skills.webp 551w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/create-new-skills-300x171.webp 300w\" sizes=\"(max-width: 484px) 100vw, 484px\" \/><\/a><\/p>\n<p>You can also create a skill manually:<\/p>\n<ol>\n<li>Create a skill directory in your repository (<code>.github\/skills\/my-skill\/<\/code>) or user profile (<code>~\/.copilot\/skills\/my-skill\/<\/code>).<\/li>\n<li>Add a <code>SKILL.md<\/code> file following the <a href=\"https:\/\/agentskills.io\/specification\">agentskills.io\/specification<\/a> format.<\/li>\n<li>Optionally include scripts, templates, or examples alongside it.<\/li>\n<\/ol>\n<p>For example, you could have two skills, <code>github-issues<\/code> and <code>code-review<\/code> like this:<\/p>\n<pre><code>.github\/\r\n  skills\/\r\n    github-issues\/\r\n      SKILL.md\r\n      templates\/\r\n        bug-report.md\r\n    code-review\/\r\n      SKILL.md\r\n      checklist.md<\/code><\/pre>\n<p>Skills are auto-discovered from these locations:<\/p>\n<ul>\n<li><strong>Solution skills<\/strong> (shared via your solution): <code>.github\/skills\/<\/code>, <code>.claude\/skills\/<\/code>, <code>.agents\/skills\/<\/code><\/li>\n<li><strong>Global\/Personal skills<\/strong> (shared via your user profile and available across solutions): <code>~\/.copilot\/skills\/<\/code>, <code>~\/.claude\/skills\/<\/code>, <code>~\/.agents\/skills\/<\/code><\/li>\n<\/ul>\n<p>When a skill activates, it appears in the chat window so you always know what&#8217;s being applied.<\/p>\n<p>If you are not sure where to start or what skills to create, please check out <a href=\"https:\/\/github.com\/anthropics\/awesome-copilot\">awesome-copilot<\/a> for many great community examples!<\/p>\n<h2>Managing skills from the skills panel<\/h2>\n<p>In addition to creating new skills, you can also manage your skills easily from the skills panel.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/Screenshot-2026-04-16-164452.webp\"><img decoding=\"async\" class=\"alignnone wp-image-256122\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/Screenshot-2026-04-16-164452.webp\" alt=\"Skills panel where you can edit and open skills directly\" width=\"313\" height=\"339\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/Screenshot-2026-04-16-164452.webp 343w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/Screenshot-2026-04-16-164452-277x300.webp 277w\" sizes=\"(max-width: 313px) 100vw, 313px\" \/><\/a><\/p>\n<p>From the panel you can:<\/p>\n<ul>\n<li><strong>Edit<\/strong> \u2014 Open any skill&#8217;s <code>SKILL.md<\/code> directly in the editor via the \u22ef menu.<\/li>\n<li><strong>Open file location<\/strong> \u2014 Jump to the skill directory on disk.<\/li>\n<li><strong>Search<\/strong> \u2014 Filter skills by name or keyword.<\/li>\n<\/ul>\n<p>The panel also surfaces diagnostics for any skill configuration errors, so you can quickly spot and fix issues.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/Screenshot-2026-04-16-164538.webp\"><img decoding=\"async\" class=\"alignnone wp-image-256123\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/Screenshot-2026-04-16-164538.webp\" alt=\"Skills panel displaying error information\" width=\"391\" height=\"339\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/Screenshot-2026-04-16-164538.webp 415w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2026\/04\/Screenshot-2026-04-16-164538-300x260.webp 300w\" sizes=\"(max-width: 391px) 100vw, 391px\" \/><\/a><\/p>\n<h2>Skills vs. Custom Instructions: when to use what<\/h2>\n<p>You may already be using <strong>custom instructions<\/strong> (<code>.github\/copilot-instructions.md<\/code>) to guide your Copilot&#8217;s behavior. Custom instructions are great for broad, always-on guidance, such as things like &#8220;use tabs, not spaces&#8221; or &#8220;prefer async\/await over callbacks.&#8221; They are automatically applied to every interaction you have with Copilot.<\/p>\n<p><strong>Agent Skills<\/strong> are different. Skills are <strong>task-specific and dynamically loaded<\/strong>. The model decides when a skill is relevant and applies it only in matching contexts.<\/p>\n<table style=\"width: 100%;\">\n<thead>\n<tr>\n<th style=\"width: 8.71369%;\"><\/th>\n<th style=\"width: 29.8755%;\">Custom Instructions<\/th>\n<th style=\"width: 60.5809%;\">Agent Skills<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"width: 8.71369%;\"><strong>Scope<\/strong><\/td>\n<td style=\"width: 29.8755%;\">Always active<\/td>\n<td style=\"width: 60.5809%;\">Activated per-task<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 8.71369%;\"><strong>Best for<\/strong><\/td>\n<td style=\"width: 29.8755%;\">Coding style, conventions, general preferences<\/td>\n<td style=\"width: 60.5809%;\">Workflows, templates, multi-step procedures<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 8.71369%;\"><strong>Structure<\/strong><\/td>\n<td style=\"width: 29.8755%;\">Single markdown file<\/td>\n<td style=\"width: 60.5809%;\">Directory with <code>SKILL.md<\/code> + supporting files<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 8.71369%;\"><strong>Examples<\/strong><\/td>\n<td style=\"width: 29.8755%;\">&#8220;Use PascalCase for public methods&#8221;<\/td>\n<td style=\"width: 60.5809%;\">&#8220;When creating a GitHub issue, use this template and include severity, repro steps, and environment info&#8221;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Use custom instructions<\/strong> for rules that should always apply. <strong>Use skills<\/strong> for specialized workflows that only matter in certain contexts. Another way to extend your agent&#8217;s capabilities is through <strong>MCP tools<\/strong>, which let the agent interact with external services and APIs. Skills and MCP tools complement each other well \u2014 a skill can describe <em>how<\/em> to handle a task while an MCP tool provides the <em>capability<\/em> to execute it.<\/p>\n<p>Please give Agent Skills a try and share your feedback in the comments or on <a href=\"https:\/\/developercommunity.visualstudio.com\/\">Developer Community<\/a>.<\/p>\n<p>Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visual Studio now supports Agent Skills, which are reusable instruction sets that teach Copilot agents how to handle specific tasks like running a build pipeline, generating boilerplate, or following your team&#8217;s coding standards. Define a skill once, and the agent applies it automatically whenever it&#8217;s relevant. Creating a skill You can create a skill directly [&hellip;]<\/p>\n","protected":false},"author":169809,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6967,155],"tags":[6924],"class_list":["post-256107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-github-copilot","category-visual-studio","tag-github-copilot"],"acf":[],"blog_post_summary":"<p>Visual Studio now supports Agent Skills, which are reusable instruction sets that teach Copilot agents how to handle specific tasks like running a build pipeline, generating boilerplate, or following your team&#8217;s coding standards. Define a skill once, and the agent applies it automatically whenever it&#8217;s relevant. Creating a skill You can create a skill directly [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/169809"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=256107"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256107\/revisions"}],"predecessor-version":[{"id":256145,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/256107\/revisions\/256145"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=256107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=256107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=256107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}