github runkids/skillshare v0.23.0

2 hours ago

skillshare v0.23.0 Release Notes

TL;DR

  1. Native hooks. skillshare hooks manages each Agent's own hooks — Claude Code, Codex, Gemini CLI, Copilot CLI, Cursor, Factory Droid, Qwen Code, Antigravity, Pi, Amp and OpenCode — with previews, conflicts, backups and a new dashboard page.
  2. One tool policy per MCP server. tools.allow / tools.deny is written once and translated for Pi, Codex and Copilot; what an Agent cannot hold is named, not dropped.
  3. Pi uses only its built-in MCP (breaking). Needs Pi 0.99.0 or later; the first sync moves your servers and updates your config.
  4. Script installs no longer need sudo. install.sh now installs to ~/.local/bin.

Native hooks

Hooks were the one piece of Agent setup skillshare could not share. Now a hook lives once in your config, under hooks.entries, with one binding per Agent in that Agent's own format:

hooks:
  entries:
    check:
      bindings:
        claude:
          events:
            Stop:
              - hooks:
                  - type: command
                    command: make check
skillshare hooks add check --file ./check.yaml
skillshare hooks sync --dry-run
skillshare hooks sync
skillshare sync --all              # now includes hooks

skillshare does not translate one Agent's events into another's. It writes what you give it, keeps your other settings and hooks, backs files up first, and reports a hook you edited by hand as a conflict instead of overwriting it. It never runs a hook and never changes an Agent's trust settings.

Already have hooks? hooks import --from AGENT lists them; saving one takes it over in place, so sync does not add a copy. hooks remove NAME --keep-files hands a hook back to you, and hooks restore brings back a backup. From the global config, hooks.projects covers other project folders in the same sync. Removing a hook also removes a hook file skillshare created once nothing else is in it.

The dashboard's Hooks page picks events from each Agent's documented list, copies commands from one Agent's tab to another, edits the native JSON with completion and checks, and shows a diff of every file before you sync.

MCP tool policy

Say which of a server's tools the model gets, once:

skillshare mcp add github --target pi --target codex --tools-allow 'get_*,search_code' --tools-deny get_secret -- github-mcp

Sync turns it into Pi's toolExposure, Codex's enabled_tools / disabled_tools and Copilot's tools. OpenCode and Kilo Code cannot filter tools per server, so the sync plan and mcp check say so. In the dashboard, the server dialog loads the server's tool list — even before you save — so you can tick tools instead of typing names.

Upgrading: Pi MCP

skillshare now writes Pi's servers only to Pi's own mcp.json, which Pi reads through the MCP built into Pi 0.99.0.

Before your first sync:

  • Update Pi to 0.99.0 or later.
  • Uninstall pi-mcp-adapter or pi-mcp-extension from Pi if you still have one; it can take the place of Pi's built-in MCP.

Then run skillshare sync mcp --dry-run to see what moves. The first real sync:

  • moves servers skillshare wrote for pi-mcp-adapter into mcp.json, leaving entries you added yourself alone;
  • turns directTools into Pi's exposure / toolExposure, and includeTools / excludeTools into tools.allow / tools.deny;
  • drops piOptions fields only the adapter read;
  • saves your config without the retired settings, keeping the old version in the file history.

--pi-extension, --direct-tools and --pi-options-prune are gone and say what to use instead.

Fixes

  • Installs without sudo. install.sh defaults to ~/.local/bin; INSTALL_DIR still works. If an older skillshare such as /usr/local/bin/skillshare comes first on your PATH, the installer says so; remove it with sudo rm /usr/local/bin/skillshare.
  • MCP Stop managing. It always failed in the dashboard with a "changed since preview" error. It works now.
  • Beautify. In the config editor, it now unfolds sections squeezed onto one line.

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.