github runkids/skillshare v0.28.0

3 hours ago

skillshare v0.28.0 Release Notes

TL;DR

  1. 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.
  2. skillshare plugin update --all. Update every tracked plugin in one command. Antigravity CLI plugins can now be updated too.
  3. Safer updates. Two skillshare processes no longer update the same checkout at once, and update works again on shallow partial clones.
  4. 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 as skills/agents/planner stays 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 universal sharing ~/.agents/skills keep the Codex copies.
  • Target overrides, frontmatter routing, ignores and include/exclude filters still take precedence.
  • list, status and their --json output 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. status and doctor warn 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.
  • --all cannot be combined with a plugin name or --source-ref.
  • plugin update now supports antigravity-cli and skips plugins that agy reports 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. Now update, install --track --update and git-installed skill updates take turns. A second process waits up to a minute, then stops with another skillshare process is still updating <path> (#666).
  • --force on 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:none failed with fetch-pack: invalid index-pack output once 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_DIR or XDG_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).

Contributors

@salmonumbrella, @jskswamy, @ndeybach

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.