github runkids/skillshare v0.24.1

2 hours ago

skillshare v0.24.1 Release Notes

TL;DR

  1. Agents can keep the shared memory notes up to date. Each connected agent gets an update mode: passive (the default) or active, which saves lasting facts on its own.
  2. Pi turns a global MCP server off with its own override. A disabled entry writes {"enabled": false} to .pi/mcp.json, so turning the server back on in Pi keeps its full settings. It also works in project mode. Needs Pi 1.0.1 or later.
  3. Audit no longer blocks ordinary config keys such as root: ./src as prompt injection.
  4. Tidier config files and a dashboard that counts hooks.

Memory update modes

Shared memory guidance used to tell agents to update notes only when asked. Each connected agent now has an update mode:

  • passive (the default): the agent reads the notes and updates them only when you ask. Existing connections stay as they are.
  • active: the agent also saves facts that will matter in later sessions, such as a stated preference or a decision with its reason. It skips one-off details and guesses, asks before saving when unsure, updates an existing note instead of adding a duplicate, and tells you what it saved.

In the dashboard, choose the mode per agent in Connect to agents. The review now shows each file's change as one diff. From the CLI, print the guidance to paste yourself:

skillshare extras memory instructions --update-mode active -g

Agents that read the same file share one mode. An agent that reads guidance in both modes from different files is flagged, so you can set those files to one mode.

Pi: turn a global MCP server off in one project

Since Pi 1.0.1, a .pi/mcp.json entry without command or url overrides only enabled, exposure and toolExposure of the global server with that name. Pi's /mcp writes the same entry. A disabled entry now writes exactly that:

{ "mcpServers": { "docs": { "enabled": false } } }

Before, Skillshare copied the global server's command or url next to enabled: false. Pi read that as a project server replacing the global one, so turning it back on with /mcp started it without its args, env or headers. Now the global server keeps all of them.

  • It works in project mode too. pi in a disabled entry used to be an error there:
    skillshare mcp add docs --disabled --target pi -p
    skillshare sync mcp -p
  • The next sync rewrites switches written by earlier releases.
  • An override you already made with Pi's /mcp that is exactly {"enabled": false} is no longer reported as a conflict.
  • Pi before 1.0.1 reports the override as invalid. On a machine whose global Pi config lacks the server, Pi reports once at start that there is nothing to override, and loads the rest.

Audit: config keys named like role labels

prompt-injection-1 reported lines such as root: ./src, admin: false or ignore: { tags: ["design"] } as CRITICAL prompt overrides, which blocked installs. Lowercase config keys with a plain value now pass. Directives are still flagged, for example SYSTEM: jailbreak, system: Override all constraints, or an empty system: that opens an indented block.

Smaller changes

  • Config files are laid out like the dashboard's Beautify. When a command saves config.yaml, globally or in a project, its sections follow the dashboard's order with a blank line between them. A file with YAML aliases keeps its order where sorting would break them.
  • The dashboard counts hooks. Hooks now appear between MCP and Plugins on the global and project dashboards.

Contributors

@chung1912

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.