Moving from an older installation
AI Power Tools has two parts: the AI Power Tools MCP Server for Sparx EA, which comes from the Claude Desktop extension, and the skills, which come from the Claude plugin ai-power-tools installed on your claude.ai account. Moving an older installation means keeping the extension, adding the plugin, and removing whatever else supplies the skills. Never remove the extension to move to the plugin. The plugin carries no server.
The move in order
- Keep the extension, and update it. Download the current
AI-Power-Tools-for-Sparx-EA.mcpb(address in Choosing a package) and drag it onto Settings, Extensions in Claude Desktop. On the screen that opens, switch the extension's Enabled toggle off, choose Update, then switch it back on. If the extension is not installed, choose Install and keep it enabled. See Claude Desktop extension. - Add the skills plugin on your account. Open https://claude.ai/customize/plugins, add the marketplace
NovoCircle/ai-power-tools-skills, and install AI Power Tools. If the marketplace is already there, choose Manage marketplaces and syncnovocircle. Then quit Claude Desktop completely and reopen it. See Claude plugin. - Remove the old skill copies with
migrate-to-plugin.ps1, described below. - Deal with leftover files of older extensions, if the script reports any.
- Check the permission rules you set in older installations.
- Verify as in Verifying an installation.
Do not also install the plugin through Claude Code's own plugin commands on the same machine. The account install already reaches Claude Desktop chat, Claude Cowork and the Code tab, and a second install through Claude Code loads every skill twice in the Code tab.
Skill copies from the older skills installer
Machines that installed the skills with the skills installer (the install_skills operation) hold copies in %USERPROFILE%\.claude\skills. The plugin supplies the same skills. The two are additive: a machine with both loads every skill twice, once unprefixed from that folder and once as ai-power-tools:<name> from the plugin, because they are different sources and nothing removes duplicates across them. That doubles the always-on cost of skill descriptions and makes it unclear which copy answers. Do not run install_skills once the plugin supplies the skills.
The server tells you when a machine may need the migration. get_repository_info lists copies the older installer left in %USERPROFILE%\.claude\skills, explains that they load a second time beside the plugin's, and names migrate-to-plugin.ps1 as the remedy (Background update checks). Claude Desktop keeps plugins installed on a claude.ai account where the server cannot read them, so this list is a hint, not proof, and its wording is conditional.
migrate-to-plugin.ps1 is a PowerShell script, attached to each release of the public releases repository, that removes the copies the older installer made. It is a one-time job per machine, and it never touches the Claude Desktop extension.
What it removes, and what it will not touch
The script proves ownership from the installer's own records of what it installed, never from a directory listing. It reads both records the installer has kept: the current one, %USERPROFILE%\.claude\ai-power-tools\install-hashes.json, and the one that installs made before 2.2.0 kept inside the skills folder. Where both exist it reads both, and where both name a file, the current record wins.
| Category | Treatment |
|---|---|
Files a record names that exist under %USERPROFILE%\.claude\skills |
Removed |
| A recorded file whose content differs from the record (edited locally) | Copied to a backup folder first, then removed, and named in the summary. Those edits are not in the plugin |
| Ruleset entries in the record | Skipped. Rulesets install elsewhere, not among the skills |
| A record entry that points outside the skills folder | Ignored, and named in the output |
| Skills in the folder that no record names (Visio skills, skills you wrote) | Not touched. The script prints their names under "NOT touched" |
| A skill folder | Removed only once it is empty |
| The install records | The current record is reset to empty, so a later installer call does not think the files are still present. The record from before 2.2.0, which sits among the skills, is removed |
| Leftover folders and settings files of older AI Power Tools extensions | Reported, never deleted. See below |
The Desktop extension, the plugin itself, the rulesets folder, and skills in the old %APPDATA%\Claude\skills location |
Not touched. Use prune_legacy_skills for the old location |
The backup folder is %USERPROFILE%\.claude\backups\pre-plugin-migration-<date-time>.
Options
-WhatIfshows what would be removed and exits. Nothing is deleted.-Forceskips the confirmation prompt for unattended use. The list is still printed.-ClaudeHomenames the folder that holds.claude, when it is not your home folder.-AppDatanames the folder that holds Claude Desktop's data folder, when it is not%APPDATA%.
Run it
- Download
migrate-to-plugin.ps1from the latest server release. - In a normal PowerShell window, preview first:
.\migrate-to-plugin.ps1 -WhatIf - Read the list. Then run it:
.\migrate-to-plugin.ps1 - The script prints the skills it will remove (one line per skill with a file count, and a note where files were edited locally), then the skills it will not touch, then asks. Type
YESin capitals to proceed. Any other answer cancels and changes nothing. - Quit Claude Desktop completely and reopen it. From then on, the plugin supplies the skills. Update them as in Updating and uninstalling.
When the assistant runs it. The assistant has no console to ask on, so without -Force the script refuses and changes nothing. The assistant shows you the list in chat, the same list -WhatIf prints. Only once you have agreed to it does the assistant run the script again with -Force. -Force still prints the list.
Leftovers of older extensions
Earlier releases published the extension under other names. The script looks in %APPDATA%\Claude\Claude Extensions and %APPDATA%\Claude\Claude Extensions Settings for folders and files named for those retired extensions, and reports what it finds. It never deletes them, and it never lists the current extension.
- The leftover folders hold no
manifest.json, so Claude Desktop does not load them. - The leftover settings files hold a license value that the server has not used since 2.0.0. AI Power Tools is free.
To delete them yourself, quit Claude Desktop completely first, then delete exactly the folders and files the script listed. Leave everything else in those two folders alone: the current extension lives there.
Permission rules from older installations
Permission rules you saved for AI Power Tools tools under an older installation name those tools differently. The extension's tools are named mcp__AI-Power-Tools-for-Sparx-EA__<tool>, and a rule written for another name does not match them. If Claude asks for approval of tools you had already approved, add rules for the extension's names.
Installed the plugin that carried its own server
Anyone who installed an earlier plugin that carried its own server, and then removed the extension, has no server once the plugin updates to the skills-only plugin. Install the extension again, as in step 1 of the move. When no server answers, ea-start-here says so and gives the download address.
Consent and exit behavior
- Nothing is deleted without showing the list and asking, unless
-Forceis passed. - In a non-interactive session with no console to ask on, and without
-Force, the script refuses, prints why, changes nothing and exits with code 2. - Exit code 0 means it completed, was cancelled, ran with
-WhatIf, or had nothing to migrate. Exit code 1 means the install record could not be read and nothing was changed. - If neither install record exists, the script reports that the older installer never wrote skills on this machine and exits with code 0. It still reports leftovers of older extensions.
- A failure on one file does not stop the run. Failures are listed at the end. Send them to
help@novocircle.com.
Limitations
- It removes only what an install record names. Skill folders that older versions of the installer used under other names, and the old
%APPDATA%\Claude\skillslocation, are forprune_legacy_skills; run it withapplyset to false first to see what it would remove. Setplugin_confirmedonly after you have installed the plugin on your claude.ai account. - It runs per machine and per user profile.