You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
plugin rm — guarded plugin uninstall. The only plugin-removal path (sync and mirror stay additive). syncthis plugin rm <plugin…> uninstalls each named plugin's native install from the scoped plugin-capable agents (claude plugin uninstall, codex plugin remove) and removes that plugin's surfaced skills from the scoped non-plugin agents (npx skills remove) — the "everywhere" reach matching how mirror spreads a plugin's content. Guarded like MCP rm: explicit scope (--all or --agents <a,b,c>), a diff before any write, TTY-confirm or --yes, and --dry-run. Each argument is name or name@marketplace — a bare name removes every installed instance (a name from two marketplaces is never collapsed to an arbitrary one); @marketplace scopes to one. Skill removal also reaches Codex when the mirror surfaced a plugin's skills there via the fallback. Over-removal guard: a skill another still-installed plugin record (incl. a sibling marketplace) provides is kept. --keep-data preserves Claude's plugin data dir. The interactive picker gains a matching checkbox flow (pick plugins → pick agents → confirm).
plugin list is now a cross-agent overview. Previously it read only Claude and Codex. Now it also reports Cursor as a write-only target (not readable) and, from one npx skills list -g --json, the plugin-derived skills present on each non-plugin agent — the true "what plugin content do I have, everywhere" picture.
Selective add/remove — pick the exact items and agents. A verb-noun grammar over the existing primitives: add skill <repo…> / add plugin <name…> (additive; --dry-run) and rm skill <name…> / rm mcp <server…> / rm plugin <name…> (guarded: explicit --all xor --agents <a,b,c>, diff, confirm/--yes, --dry-run). rm <server> --all still works (back-compat). No add mcp — syncthis mirrors MCP servers, it doesn't install them, so MCP stays sync + remove only. add plugin is a narrowed mirror: it pushes the chosen plugin from Claude (the source) to the chosen agents — native install on Codex, Cursor push, and bundled skills + MCP to chosen non-plugin agents. The TUI gains an "Add or remove capabilities" flow (capability → operation → item checkbox → agent checkbox → confirm). rm mcp can now scope to specific agents (--agents), not just every agent.
Changed
PluginAdapter gained uninstallPlugin (Claude, Codex). skills.ts gained removeSkillNames, listInstalledSkills, and resolvePluginDerivedSkills. Removal is now a documented, rail-guarded capability (sacred element #1 updated) — it was previously forbidden for plugins.