skillshare v0.28.0 Release Notes
TL;DR
- Agent-specific skill variants. A tracked repo can ship a different copy of the same skill for each agent, and sync sends each copy only to its agent.
skillshare plugin update --all. Update every tracked plugin in one command. Antigravity CLI plugins can now be updated too.- Safer updates. Two skillshare processes no longer update the same checkout at once, and
updateworks again on shallow partial clones. - Target path fixes. OMP, DeepSeek Harness and GitLab Duo targets keep following their environment overrides after a config save.
New: agent-specific skill variants
Some repositories keep a separate copy of a skill for each agent, because the agents need different instructions. Before, skillshare treated each copy as its own skill and synced all of them to every target, unless you wrote filters to route them.
Now a tracked repo laid out like this is recognized:
_team-skills/skills/claude/review/SKILL.md
_team-skills/skills/codex/review/SKILL.md
- A path counts as a variant only when the same skill path exists under at least two different agents below the same
skills/folder. A lone folder such asskills/agents/plannerstays an ordinary skill. - In merge and copy mode, each variant goes to its matching agent, including aliases and account targets. Targets that share one skills folder get the variants of all their agents: Codex and
universalsharing~/.agents/skillskeep the Codex copies. - Target overrides, frontmatter routing, ignores and include/exclude filters still take precedence.
list,statusand their--jsonoutput count the skill once and show the copies separately:
✓ _team-skills up to date · 3 skills, 5 variants
- Symlink mode links the whole folder, so it exposes every variant.
statusanddoctorwarn about this and recommend merge or copy mode.
Thanks to @salmonumbrella for the proposal and the implementation (#648, #649).
New: update all plugins at once
skillshare plugin update --all # or -a- Each plugin is updated on its own. Healthy plugins update even when another one fails; the command then exits non-zero and leaves the failed entries unchanged in
config.yaml. - A marketplace that holds several plugins is cloned once per command.
--allcannot be combined with a plugin name or--source-ref.plugin updatenow supportsantigravity-cliand skips plugins thatagyreports as disabled.
Thanks to @jskswamy for the request and the implementation (#653, #656).
Fixed: updates
- One update per checkout. Two dashboards, or a dashboard and the CLI, running Update all on the same source pulled into the same checkouts at once and failed with errors such as
fetch-pack: invalid index-pack output. Nowupdate,install --track --updateand git-installed skill updates take turns. A second process waits up to a minute, then stops withanother skillshare process is still updating <path>(#666). --forceon a git-installed skill. It skipped the local-changes check but then ran a plain pull, which refused to merge over your edits. It now resets to upstream as documented, and keeps your edits if the fetch fails (#666).- Shallow partial clones. Since 0.27.0, updating a tracked repo cloned with
--depth=1 --filter=blob:nonefailed withfetch-pack: invalid index-pack outputonce more than one upstream commit arrived, on git 2.45.1 or later. It works again (#667, #668). - Pull errors now include the file list git prints, and the dashboard's finished-update subtitle no longer says everything is up to date when some items failed.
Fixed: targets and config
- OMP skills path. An OMP target with no configured skills path now follows
PI_CODING_AGENT_DIR, and keeps following it after a config save (#652). - DeepSeek Harness and GitLab Duo. A target with no configured path follows
DSH_HOME,GLAB_CONFIG_DIRorXDG_CONFIG_HOME, as documented. Saving the config (for example after editing filters) used to write the resolved path back and stop that (#661, #662). - Missing project roots. A shared config that registers projects from other machines printed one warning per missing folder on every
sync. It now prints one line:3 registered projects not found on this machine, skipped; run skillshare project list to inspect(#665).
Fixed: dashboard and Docker
- Account icons load from the targets the dashboard already has, instead of waiting for the slower all-targets request (#657).
- Desktop app. When embedded in Skillshare App, the dashboard reports its current page, so the app can return to it after an auto-sync reload instead of opening the dashboard home (#659).
- Docker. The production image checks the same config path as the CLI before first-run setup, so an existing custom or XDG config no longer triggers a fresh
init(#655).