skillshare v0.21.0 Release Notes
TL;DR
- MCP connections — define an MCP server once and
sync mcpwrites it into each Agent's own config file, in that Agent's format. 20 clients, global and project scope. - Plugins — install a complete plugin and choose which tools receive it. Skillshare goes through each Agent's own CLI, so native formats and other installations are left alone.
- A redesigned dashboard — two styles, Clean and Playful, each in light and dark, with new MCP, Plugins and Hubs pages.
- Audit remembers what you accepted — findings you override with
--forceno longer block every laterupdate --all. Min the list TUI makes a skill manual only — installed and callable by name, but not loaded by the model on its own.sync --dry-run agentsno longer syncs skills — the resource kind is recognised wherever it appears on the command line.
MCP connections
Every AI tool keeps MCP servers in its own file, under its own key, in its own format: JSON for Claude Code and Cursor, JSONC for VS Code, TOML for Codex and Grok, YAML for Goose. Adding one server to four tools meant four edits, and they drifted.
A server is now a portable definition in config.yaml, or in a separate mcp.yaml, and Skillshare renders it for each client:
skillshare mcp add # guided: URL, command, or pasted JSON
skillshare mcp add docs --url https://example.com/mcp --target claude --target cursor
skillshare sync mcp --dry-run # see every file that would change
skillshare sync mcpmcp:
targets: [claude, codex, cursor, vscode]
servers:
company-docs:
url: https://example.com/mcp
headers:
Authorization: { fromEnv: DOCS_TOKEN }Skillshare only manages settings. It does not start servers, proxy them, or check that they connect.
Supported clients: Claude Code, Codex, Cursor, VS Code, OpenCode, Grok CLI, Antigravity, Amp, Claude Desktop, Cline, Copilot CLI, Factory, Gemini CLI, Goose, Junie, Kiro, LM Studio, Warp, Windsurf and Pi. skillshare mcp with no arguments opens a TUI.
Already have servers configured?
skillshare mcp import --from claude --json # list what Claude has
skillshare mcp import docs --from claude --target claude --target cursor --sync
skillshare mcp import docs --file ./provider.json --target claudeA pasted snippet is recognised by its shape, so VS Code servers and OpenCode mcp blocks copied from a provider's setup page import without naming a client. TOML still needs --from, because Codex and Grok share the format.
Secrets stay out of the files
Headers and environment values are written as {fromEnv: VARIABLE} and rendered in each client's own reference syntax. On import, literal tokens and values carrying a URL password, such as database DSNs, are turned into references, and credential-like arguments are flagged.
Only entries Skillshare wrote are changed
Ownership is tracked per entry. An entry you wrote by hand is left alone even when it matches the source, and stays that way until you import it, so removing a server never deletes something you typed. A managed entry that was edited in the Agent is reported as a conflict instead of being overwritten. Agent-only fields such as timeouts survive a sync, and a preview stays valid while an Agent rewrites unrelated settings in the same file, which Claude Code does constantly.
Every write backs up the Agent file first, keeping the newest 20 per file:
skillshare mcp restore BACKUP_ID --dry-run
skillshare mcp restore BACKUP_IDPi
Pi has no built-in MCP support. A server that targets Pi names the third-party package that reads the file, pi-mcp-adapter or pi-mcp-extension. You install one of them in Pi yourself; Skillshare writes its configuration.
skillshare mcp add docs --url https://example.com/mcp --target pi --pi-extension pi-mcp-adapter --no-tuisync --all
sync --all now covers skills, agents, extras and MCP settings, and --json includes the MCP plan.
Plugins
A plugin is a package: skills, hooks, MCP settings and scripts that only work together. Copying the skills out of it breaks it. plugin keeps the package whole and installs it through each Agent's own CLI.
skillshare plugin add # guided: source, plugin, targets, review
skillshare plugin add owner/repo --target claude --target codex --no-tui
skillshare plugin import review@team --from claude # adopt an existing native installation
skillshare plugin check review
skillshare plugin update review --target claudeA source can be a local folder, owner/repo or an HTTPS Git URL, pinned with --source-ref. Discovery reports each tool's components and compatibility separately, and never builds or runs package code to find out.
Choosing which tools receive a plugin is a saved selection, applied on the next sync:
skillshare plugin disable review --target codex # saves the choice, changes nothing yet
skillshare sync plugins --dry-run
skillshare sync plugins # uninstalls it from Codex, keeps the definitionInstall targets: Claude Code, Codex, Cursor, Antigravity Desktop, Antigravity CLI, GitHub Copilot CLI, Pi and OpenCode. Grok Build supports import and removal, with install and trust handled in Grok itself.
Plugins are synced with sync plugins and are deliberately not part of sync --all, because a plugin sync runs other tools' installers.
Dashboard
The dashboard was rebuilt on one set of design tokens. It comes in two styles, Clean and Playful, each in light and dark, switched from the theme menu.
- Skills and Agents are separate pages, each holding its own install, search, updates and trash. Settings collects General, Backup, Log, Health, Extensions and Files. Old links redirect.
- MCP — one row per server with its Agents as toggles. Add a server from a URL, a command, a pasted snippet or a file, or import what an installed Agent already has. Conflicts explain their cause and offer Import or Replace. View what each Agent gets shows the exact native config per Agent, including edits you have not saved yet.
- Plugins — the same layout. Expanding a plugin also lists the other Agents its source supports, so ticking one previews an install there. View files opens a read-only browser of the local copy Skillshare reviewed.
- Hubs — browse a hub and install from it, or assemble your own index from installed skills, validate it and export it. A draft can be browsed before it is hosted anywhere.
- Filters — filter skills and agents by target, and a Remote source filter for skills from GitLab, Gitea, self-hosted and SSH sources, which previously matched no filter. Refs: #278.
- Editors that explain themselves — the config Files tab and the audit rules editor keep a panel beside the YAML showing what the field under the cursor does and what is unsaved. Audit rules also get a Test tab that runs a rule's regex against pasted lines.
MCP settings include commands that Agents execute, so the MCP page is served only when the dashboard is opened through localhost or an IP address. Through a domain name, including a reverse proxy, MCP requests return 403. For a remote machine, forward the port:
ssh -L 19420:127.0.0.1:19420 HOSTAudit remembers accepted findings
Overriding the audit gate with --force applied to one command only. A skill that legitimately quotes attack strings, such as a security scanner or red-team notes, had to be forced on every update --all, and the only alternative was switching the rule off for every skill.
The findings you accept are now recorded for that skill. Later updates treat the same rule matching the same text as acknowledged:
ℹ 1 previously accepted finding(s) skipped
Matching ignores line numbers, so unrelated edits do not reopen it. Any new finding, or the same rule matching different text, still blocks. Refs: #279.
Manual-only skills from the list TUI
E in skillshare list hides a skill from every tool. There was no quick way to keep a skill installed but stop the model loading it by itself, so people disabled skills they only meant to make manual.
M toggles disable-model-invocation in the selected skill's SKILL.md, and the detail panel shows a manual only badge. Because this edits the skill file, the TUI asks first for a tracked or installed skill: update skips tracked repos with local changes, and reinstalling drops the edit. Pressing M again restores the file exactly. Refs: #283.
Bug fixes
sync --dry-run agentsandsync -g extrasno longer sync skills. The resource kind was only recognised as the first argument, so a flag in front of it silently synced skills instead.- A mistake in the
mcpsection no longer breaks every command. MCP commands and the config editor report it;sync,install,listand the dashboard keep working. - Saving config from the dashboard keeps flow-style YAML. A hand-written
targets: [claude, codex]is no longer expanded into a block list on every save.