skillshare v0.25.6 Release Notes
TL;DR
- Updating many plugins from the dashboard runs as one server-side batch, faster and safe to close the page on.
- Shared memory shows on the dashboard, and Memory tools give your agent prompts to try, review and dream over it.
- Turning off a global MCP server in one project works in OpenCode 2, and plugins sync to OpenCode 2.
- An imported Claude plugin updates without a version mismatch error.
- Prefixed naming no longer skips skills whose
name:differs from their folder.
Batch plugin updates
The Update N dialog on the Plugins page used to preview and apply each plugin with its own round trips, clone each source again, and reload the config after every plugin. It now sends the picks to the server in one run:
- Each plugin is previewed once and that plan is applied. Plugins from the same source share one read of it, and the config reloads once at the end.
- Stop after this one lets the plugin under way finish and starts no other. Closing the page does not cut an install short.
- Rows show
old → newper Agent. A row an interrupted run never finished is marked failed. When everything is current, the dialog lists each plugin with its Agent and version. - An Agent whose source moved since the check, or that the check did not show, installs nothing. An npm package in Pi is the exception, since Pi installs whatever npm names latest; it is no longer flagged as moved on every update.
Shared memory
Once memory is created in Extras → Memory, the Dashboard → Memory section shows up to four recently updated notes, and clicking one opens it. Update times come from the note file, so edits made outside Skillshare count too; untouched starter notes are shown apart. The Memory tab shows the note count and latest update, and the browser remembers Expand/Collapse across notes and reloads.
Use with agents → Memory tools, also opened from the dashboard Memory section, copies prompts for your own agent to run:
- Try across sessions writes a test line to
INDEX.md, checks from a fresh conversation that the note is read, then removes the line. - Review this session proposes reusable lessons from corrections and repeated mistakes in the current conversation, after checking existing project docs and checks, ranked by impact.
- Dream compares saved notes across sessions for recurring patterns and for duplicate, stale, contradictory or broken-link notes.
Every change is proposed with paths and before/after text and waits for your approval. Writes go through version-checked Skillshare CLI commands with backups, and the tools stay disabled until the memory source is confirmed. With the updated built-in skill, you can ask your agent to review the session or dream directly. Skillshare never runs, launches or schedules an agent, and never reads private conversation history.
OpenCode 2
OpenCode 2 replaces a global MCP server with the project entry of the same name, and drops an entry without its type and command or url. The {"enabled": false} that Skillshare wrote for a disabled server under mcp.projects was therefore ignored, and the server stayed on.
mcp:
projects:
~/work/app:
servers:
company-docs:
disabled: true
targets: [opencode]- When the global config defines the server, the project entry now also carries its
typeand executable name, or its URL's scheme and host. OpenCode 1 and 2 both read it as off. Args, env, headers and the rest of the URL stay out of the project file, which may be committed. - In project mode, or when the global config does not define the server, only the switch can be written, and
syncsays OpenCode 2 ignores it. - To turn the server back on, remove the
disabledentry and sync. Re-enabling it inside OpenCode starts it with only what the project file holds. - Importing an OpenCode 2 config reads each server in
mcp.serversand skips themcp.timeoutdefaults, instead of listingserversas one broken server.
Plugins sync to OpenCode 2 too. It prints opencode v2.0.27 for --version, which Skillshare did not recognize, so plugin sync to OpenCode 2 was blocked and imported OpenCode plugins were never updated.
Fixes
- Imported Claude plugin updates. Updating a plugin imported from Claude failed with
native update returned version 1.7.1; expected 1.7.0, because the check expected the version recorded at import. The marketplace decides that version, so the update now records what was installed. A plugin added from a reviewed source is still checked against the reviewed version. - Prefixed naming.
target_naming: prefixedrewritesname:in every copy, yet sync skipped a skill whosename:did not match its folder, so a tracked repo that is itself a skill could never sync. Onlystandardnaming requires the match now. The dashboard's skipped-skills hint says whether skills were skipped for their name or for a folder collision. - Sync Now after an update. The Updates tab offers Sync Now only when there are pending changes to sync; existing symlinks already read the updated source. A failed check shows the error with Retry instead of saying everything is up to date.