The new agent experience changes the underlying architecture enough that the longer you wait, the more you’re managing a topic tree by hand instead of letting a modern component model do the work. At some point migration stops being optional and starts being the realistic move. Here are two paths to get there.
Path one: the CLI method — purposeful, the enterprise standard
The Microsoft Copilot Studio plugin for AI coding agents (Claude Code and GitHub Copilot CLI) is the developer route. It clones a classic agent locally, analyzes its structure, proposes a modern architecture, and generates a migrated agent you can test, all from natural language in your terminal. This is the method built for teams that need repeatability, review, and an audit trail on what actually changed, the enterprise standard when the migration needs to hold up to scrutiny.
The Power CAT team built this, and I will def give credit where it’s due. Giorgio Ughini’s original demo showed the plugin authoring a complex agent from scratch.
Path two: the faster method through the Copilot Studio UI
You can also migrate using Chat within Copilot Studio, straight through the portal, topic by topic, rebuilding each one as a Skill and wiring up workflows for anything that needs deterministic execution. No terminal, no plugin, nothing to install. It’s the faster on-ramp when you just need one or two agents moved and don’t need the CLI’s review trail, and it forces you to actually understand every piece of logic you’re carrying forward instead of trusting a tool to interpret it.
The actual starter prompt for Pathway 1
Straight from the CAT team’s own post, this is the real command, not a generic clone-and-figure-it-out flow:
Starter prompt for migration
/mcs-assistant:migrate Migrate this agent to modern orchestration: https://copilotstudio.microsoft.com/environments/<ENV_ID>/bots/<BOT_ID> from tenant <TENANT_ID>. Use a capable AI model.
The key word is propose. It analyzes the classic agent and generates a first draft of a modern one, it doesn’t guarantee that draft is the architecture you’d have chosen. Don’t let it turn every topic into a Skill and every variable into memory just because they existed in the old agent, that’s just porting old decisions forward with new labels. Run it, inspect what it built, compare it against how the old agent actually behaved, then decide what’s good enough to keep.
Every command, in order
Install the Copilot CLI (Node.js 22+ required)
npm install -g @github/copilot
Launch it in your project folder
copilot
Log in with your GitHub account
/login
Add the plugin marketplace
/plugin marketplace add microsoft/copilot-studio-plugin
Install the plugin
/plugin install mcs-assistant@copilot-studio-plugin
Run the migration on a real classic agent
/mcs-assistant:migrate Migrate this agent to modern orchestration: https://copilotstudio.microsoft.com/environments/6987bf87-5ca2-edbd-87a2-924fe06ad116/bots/aa75760b-257d-f111-ab0e-0022480b3618 from tenant <TENANT_ID>. Use a capable AI model.
Troubleshooting, if things look inconsistent
Confirm what’s actually loaded in the session, plugins, hooks, and MCP servers, the most reliable check there is
/env
Force a reload if something looks stale
/plugin update mcs-assistant@copilot-studio-plugin
If that update fails with “Access is denied (os error 5)” on Windows, close VS Code entirely first, it holds a file lock on the plugins folder, then run these from a plain terminal outside VS Code
mkdir "C:\Users\MichaelHeath\copilot-agents\IT Request Assistant Classic"
cd "C:\Users\MichaelHeath\copilot-agents\IT Request Assistant Classic"
copilot
Asking the CLI a generic question like “what can you help me do” is unreliable, since it sometimes surfaces the plugin’s own docs and sometimes falls back to general CLI knowledge. Calling the migrate command directly, like above, sidesteps that inconsistency entirely.
What actually changes underneath
The CAT team’s component model is the clearest way to think about where logic should live once it’s migrated: instructions carry what’s always true, knowledge holds the searchable facts, tools handle system actions, memory carries persistent context, Skills own situational procedures, and connected agents cover real specialist domains. A modern agent shouldn’t be one instruction blob with dozens of tools bolted on and a hope it routes correctly. Whichever path you take, manual or plugin-assisted, that’s the target shape you’re migrating toward.
Watch the video
Resources
- Classic vs. new agent experience
- Skills overview for agents
- Workflows overview
- Live Demo: Using the Claude Code Plugin to Author a Copilot Studio Agent — Giorgio Ughini’s original authoring demo, building a full multi-capability agent from scratch with four parallel sub-agents
- New Orchestrator, New Rules? CAT’s Got You — the CAT team’s three-resource on-ramp to the new experience
- microsoft/copilot-studio-plugin on GitHub — the plugin itself, install steps, and the full command reference
