github runkids/skillshare v0.25.11

4 hours ago

skillshare v0.25.11 Release Notes

TL;DR

  1. Unpinned MCP servers are flagged. mcp check warns when a local server starts a package or image without an exact version, so a compromised release cannot reach your machine on the next Agent launch unnoticed.
  2. Changed MCP tools are flagged. mcp check --live records each server's tool definitions and warns when a description or input schema changes, or a new tool appears, until you accept it.
  3. Backup cleanup frees space an interrupted backup left behind.
  4. skillshare list shows every Agent a skill or agent is synced to, in any sync mode or naming.

New: warn about unpinned MCP servers

A server launched with npx, uvx or pipx run downloads its code at every start. Without an exact version, every Agent launch can run a release you have never seen. mcp check now names these servers:

skillshare mcp check
  • npx, uvx and pipx run warn when a package has no exact version: none, latest, a dist-tag such as next, a range such as ^1.2, or a ==1.* wildcard. Every npx --package and uvx --with package is checked.
  • docker run and podman run warn on an image with no tag or latest. An image pinned by tag but not by @sha256: digest is a note, since a tag can move.
  • It reads only command and args; nothing is downloaded or started.
  • The warning also shows in doctor and on the dashboard's MCP page. It is a warning only: sync and the Agents keep working, and the exit code does not change. To clear it, write the exact version, such as @playwright/mcp@0.0.83.

New: detect MCP tool definitions that change

An Agent reads a tool's description as instructions, and a server can change it after you trusted it (a "rug pull"). mcp check --live now records a hash of each tool's name, description and input schema the first time a server answers, and compares every later probe with it:

skillshare mcp check --live                              # pins tools on the first run
skillshare mcp check docs --live --accept-tools -g       # accept docs' current tools
  • A changed description or schema, or a new tool, is a warning that repeats until you run --accept-tools. A removed tool is a note.
  • Only hashes are stored, in mcp/tool-pins.json of the state directory. A check without --live never reads or writes them.
  • Each --accept-tools is written to the operations log (skillshare log) with the servers it accepted.
  • It works for local and remote servers, so it also covers remote servers that have no version to pin.

Fixed: backup cleanup misses interrupted backups

A backup interrupted mid-copy left a hidden .snapshot-* directory that backup --cleanup never found, so it kept using disk space. Cleanup now removes these, even when there are no completed snapshots, and --cleanup --dry-run lists them. A backup still being written is skipped and reported as busy. Thanks to @aleps001 for reporting it (#556).

skillshare backup --cleanup --dry-run

Fixed: the list detail panel misses Agents

The Targets row in the skillshare list detail panel showed only Agents linked in merge mode with flat names. It now also lists Agents that receive the skill in copy or symlink mode or under standard or prefixed naming, and an agent's detail panel shows its Agents for the first time. A target with skills turned off, or a skill you disable with t, no longer lists a target.

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.