Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>AI Skill & Agent ManagerNew to Visual Studio Code? Get it now.
AI Skill & Agent Manager

AI Skill & Agent Manager

Jim Brown

|
12 installs
| (1) | Free
Manage AI skills and agents across multiple roots and workspaces.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Skill & Agent Manager

See every AI skill and agent on your machine in one place, and turn them on or off per workspace.

VS Code discovers skills and agents from fixed locations. This extension shows you what is actually there, what each item does, and lets you activate exactly the ones you want for the project you are working on.

What it does

  • Finds your skills and agents. Scans any folder you point it at, including ones reached through Windows junctions. A skill is a folder holding a SKILL.md. An agent is a single <name>.agent.md file, or any .md file inside an agents folder.
  • Explains them. Every row shows a short summary. Hover for the full description, plus the model and tools an agent declares.
  • Enables per item. Activating a skill links its folder into .github/skills or ~/.copilot/skills. Activating an agent links its file into .github/agents or ~/.copilot/agents. Each item carries its own Workspace or Global scope, so one location can mix both.
  • Locations follow you. A location you add is remembered for every workspace, not just the one you added it in.
  • Flags problems. Broken links and missing files are shown rather than silently skipped, with the unresolved target named.
  • Switches chat models. A Models section lists every chat model this window can reach. Click one to switch the active chat model. Nothing is written to disk.

How activation works

Enabled skills and agents are linked, not copied, so editing the source takes effect immediately. Disabling removes only the link. Source files and folders are never modified, and the extension refuses to remove anything that is not a link to the item you are disabling.

Skills link as directory junctions. Agents are single files, so they link as file symlinks and fall back to hard links when Windows Developer Mode is off.

Where the links go depends on each item's scope. In workspace scope they go into a folder inside the current workspace, so each project gets its own set. In user scope they go into ~/.copilot, shared everywhere. With no folder open there is nothing to link into, so workspace scope is unavailable and items show as Global. See Settings below.

An activated item also appears under the built-in location it was linked into, so you can see what each folder actually loads. Those mirrored rows are read-only and carry a Global or Workspace pill; you change them from the location that owns them. A mirror whose source is not one of your locations can still be unlinked directly, so nothing gets stranded.

The target has to be a folder VS Code scans, otherwise links there load nothing. If you point at an unscanned folder, or switch the folder off in chat.agentSkillsLocations or chat.agentFilesLocations, the view says so instead of claiming the item is enabled.

The first time something is linked into a workspace folder, a .gitignore is written there so the links are not committed. It is skipped if the folder already has a .gitignore or holds real content.

Getting started

  1. Open the Skill & Agent Management view in the activity bar.
  2. Every skill and agent location on this machine is listed automatically, collapsed. Expand one to see what is inside.
  3. Tick the items you want, or use the location's overflow menu to enable or disable all of them.

Add any other folder with Add skill root or Add agent root. Folders found automatically cannot be removed; ones you add yourself can.

Settings

Setting Default What it does
AISkillAgentManager.skillActivationScope workspace Where enabled skills are linked: the workspace folder below, or ~/.copilot/skills.
AISkillAgentManager.workspaceSkillFolder .github/skills Which workspace folder skills are linked into, used when the scope is workspace.
AISkillAgentManager.skillRoots [] Skill folders to track the first time the extension runs. Shared by every workspace.
AISkillAgentManager.agentActivationScope workspace Where enabled agents are linked: the workspace folder below, or ~/.copilot/agents.
AISkillAgentManager.workspaceAgentFolder .github/agents Which workspace folder agents are linked into, used when the scope is workspace.
AISkillAgentManager.agentRoots [] Agent folders to track the first time the extension runs. Shared by every workspace.
AISkillAgentManager.ruleSet empty Glob rules that auto-disable matching items, read once per workspace.

Every setting has a skill and an agent form, apart from ruleSet, which covers both and picks its target with each rule's assetKind.

All of it at once

{
  "AISkillAgentManager.skillActivationScope": "workspace",
  "AISkillAgentManager.workspaceSkillFolder": ".github/skills",
  "AISkillAgentManager.skillRoots": [
    "C:\\Files\\Dev\\main\\copilot\\skills"
  ],

  "AISkillAgentManager.agentActivationScope": "user",
  "AISkillAgentManager.workspaceAgentFolder": ".github/agents",
  "AISkillAgentManager.agentRoots": [
    { "path": "./team-agents", "displayName": "Team agents" }
  ]
}

That combination keeps skills per project while sharing agents across every workspace, which is why the two scopes are separate settings.

Choosing a different activation folder

Change workspaceSkillFolder if you already keep your own committed skills in .github/skills and would rather activation links stayed out of the way. VS Code scans .github/skills, .agents/skills and .claude/skills by default, so any of those works, as does anything you add to chat.agentSkillsLocations. The agent equivalents are .github/agents and .claude/agents.

"AISkillAgentManager.workspaceSkillFolder": ".agents/skills",
"AISkillAgentManager.workspaceAgentFolder": ".claude/agents"

Seeding tracked folders

skillRoots and agentRoots populate the tracked list once per installation. The list is kept in VS Code's global state and is shared by every workspace, so the setting is read once and ignored from then on. To change the list afterwards, use Add skill root and Add agent root in the view; editing the setting will appear to do nothing.

An entry is a path, or an object if you want a label:

"AISkillAgentManager.skillRoots": [
  "C:\\Files\\Dev\\main\\copilot\\skills",
  "./team-skills",
  { "path": "../shared/skills", "displayName": "Shared skills" }
]

Relative paths resolve against the first open workspace folder. You do not need to list the folders VS Code already scans; those are discovered automatically. Locations are grouped by how much control you have over them:

Group What it holds
My locations Folders you added. Items here are off until you switch them on.
Workspace locations Folders VS Code scans inside the open repository, such as .github/skills.
Global locations Folders VS Code scans in your home directory, such as ~/.copilot/skills. They apply to every workspace.
Built-in locations Skills contributed by an extension. They always load and cannot be switched off.

Rules

ruleSet auto-disables items whose path matches a glob. Like the seed settings above it is read once per workspace, after which you edit it through Edit rules in a location's overflow menu.

"AISkillAgentManager.ruleSet": {
  "version": 1,
  "rules": [
    {
      "action": "disable",
      "assetKind": "both",
      "priority": 10,
      "match": ["**/experimental/**"],
      "exclude": [],
      "reason": "Not ready yet"
    }
  ]
}

match globs are relative to the location the item was found in. assetKind is skill, agent or both, and defaults to skill so older rules keep their original behaviour. Higher priority wins, and ties go to the first rule listed.

A rule only stops this extension from activating an item. It cannot stop VS Code loading something that already sits in a scanned folder.

VS Code settings this works with

Setting What it does
chat.agentSkillsLocations Folders VS Code scans for skills. A default folder is dropped by setting it to false; any other path is scanned by setting it to true.
chat.agentFilesLocations The same, for agents.
chat.useAgentSkills Master switch for file-based skills. When off, nothing linked loads.

These take folder paths, not item names, so VS Code has no per-item switch. Turning one skill or agent on and off means adding or removing it from a scanned folder, which is what this extension does for you.

That also means anything sitting directly in a scanned folder loads no matter what, which is a problem when the folder is committed to a repository. Start managing these skills individually in a workspace or global location's overflow menu solves it: the folder comes off VS Code's scan list and everything in it is linked into ~/.copilot/skills instead, so each item gets its own switch. Nothing in the folder is moved, renamed, or deleted. The false flag is written to .vscode/settings.json when git is ignoring that file, and to your user settings when it is committed, so managing a location never changes a tracked file behind your back. Because the links live in your home directory, an item you leave enabled loads in every workspace.

Stop managing these skills individually reverses it, removes the links, and hands the folder back to VS Code.

Skills that ship inside an extension are a separate case. They are registered through VS Code's chatSkills contribution point rather than loaded from a folder, so they always load and cannot be switched off here. They are listed as managed by the extension.

Development

npm install
npm run compile
npm test

Press F5 to launch an Extension Development Host. Open a folder in that window to exercise workspace-scoped activation.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft