You can now add skills to agents in Agent Builder in Microsoft 365 Copilot, either by uploading a zip package that contains a SKILL.md file or by creating the skill in chat. So you can build one agent for a role and give it a skill for each job it does, where you’d previously have built a separate agent for every report or task.
Skills in declarative agents were in the Frontier program when I recorded this, and general availability rolled out worldwide from mid to late September 2026. Each agent can hold up to eight skills, and each compressed skill package can be up to 50 MB.
What’s the difference between an agent and a skill?
The way I explain it: the agent is the who, and the skills are the how. The agent is the assistant with a defined purpose, its instructions, its knowledge and its capabilities. A skill is the method for one specific task, with its steps, templates, references and any optional scripts. A project reporting agent is the assistant. A weekly status update, a project summary and a steering brief are skills it can call on.
If you want the background on how skills work in general, I compared Claude skills and Copilot agents side by side, and covered the SKILL.md file format in Personal Skills in Copilot in SharePoint.
How do I add a skill to an agent in Agent Builder?
Edit your agent and go to the Skills section. The Add button uploads a skill, and the dropdown next to it lets you create one with chat, describing what you want in plain language.
To upload, package the skill as a zip with the SKILL.md file inside and any supporting files alongside it. My executive dashboard skill had four parts:
- SKILL.md, the instructions for building the dashboard
- A Python script that generates the HTML report
- References, another markdown file the skill draws on
- Assets, a JSON file
Drag the zip into the upload box and Agent Builder unpacks it and puts everything in place. Click the skill afterwards and you’ll see the SKILL.md instructions at the top and the files listed underneath. Then update the agent so the change takes effect.
The scripts are the bit you couldn’t do with agent instructions alone, and they run in a secure sandbox.
How I folded four agents into one project manager agent
I had a set of agents helping manage one project: an executive summary agent, a permit and inspection agent, an executive dashboard agent and a couple of others. I took each agent’s instructions, turned them into a skill, and gave all of them to a single project manager agent. It now has project summary, permit inspection, executive dashboard and editorial design skills.
The agent kept its own instructions, because it’s still the who. They cover its role, its grounded knowledge, a skill selection section that tells it which skills exist, its working method, evidence rules, output and actions. The knowledge sits with the agent too: six libraries from the project site, which every skill reads from.
/skills in the agent lists my four custom skills alongside the built-in document, PDF, slides and spreadsheet skills, which a lot of people don’t realise their agents and Copilot Chat can already use. /project summary week 1 to 8 ran the project summary skill against the site reports library week by week, and when asked, the agent confirmed that was the skill it used. You don’t need the slash, though. The skill’s description decides when it loads, so a plain-language request picks up the matching skill too.
Can one skill call another skill?
Yes. My executive dashboard skill tells the agent to load the editorial design skill before it generates HTML and to use that skill’s CSS asset. The editorial design skill sets out how any report should look, whether it’s an HTML page or a Word document.
The dashboard it produced was a self-contained HTML file, written and run as code and saved to my OneDrive, and it followed the editorial design: cards, an executive brief and a source register. With the file open, Copilot turned the source register from a numbered list into numbered cards on a one-line request.
The old executive dashboard agent is still sitting in my agent list. I don’t need it any more.
Build an agent for a responsibility and a skill for each task
Before you build another agent, ask whether it’s a new purpose or a task inside a purpose you already have. A new responsibility gets an agent. A specific task within that responsibility gets a skill. Project reporting is a responsibility. The weekly status update, the steering brief and the permit summary are tasks.
The biggest win for me is where the knowledge lives. When every report was its own agent, each one had its own grounding, and keeping each one pointed at the right libraries was a separate job. Now the grounding sits once, on the project manager agent, and every skill works from the same sources. SharePoint knowledge is still trimmed to what each person can open, so consolidating doesn’t widen anyone’s access, but it does mean you should be deliberate about which libraries the agent gets. If two tasks need different audiences or different content, they probably belong to different agents.
Pull anything shared into its own skill. Design is the obvious one: my editorial design skill is loaded by the dashboard skill and can be loaded by any other skill that produces output, so a change to the house style happens in one file.
Keep the skill selection section in the agent’s instructions even though skills load from their descriptions. It’s a short list, it tells the agent what it has, and it gives you one place to check when the wrong skill runs.
With eight skills per agent, plan the groupings. If a role needs more than eight, I’d split it into two agents, each with its own responsibility and its own libraries.
Frequently asked questions
How many skills can one Copilot agent have?
Agent Builder supports up to eight skills per agent, and each compressed skill package can be up to 50 MB. The SKILL.md file needs name and description in its YAML front matter, and the description is what the agent uses to decide when to load the skill.
Can a skill in a Copilot agent run code? Yes. Scripts in a skill package run in a secure sandbox, and sensitivity labels on the skill’s files are kept and honoured. Copilot in SharePoint is different: it won’t run code you put in a site skill, as Zach Rosenfield explains in the real purpose of Copilot in SharePoint.
Are skills in Agent Builder generally available? Yes. They started in the Frontier program, and general availability rolled out worldwide from mid to late September 2026. Information Barriers aren’t supported yet, and your existing agent governance controls still apply.
Is an Agent Builder skill the same as a SharePoint skill? They use the same SKILL.md format. Site skills live in a site’s Agent Assets library, and you can download a skill folder from there as a zip and upload it to an agent, keeping the SKILL.md file name unchanged.