github runkids/skillshare v0.30.4

one hour ago

skillshare v0.30.4 Release Notes

TL;DR

  1. The Herdr panel opens on what needs you. Overview shows one headline, one Sync button and a map to every target; Library holds the full lists, and every row has a preview.
  2. The Herdr panel does more on its own. It enables and disables skills and agents, shows an operation's outcome at once, and updates itself from the latest release.
  3. OMP and Pi plugins update without uninstalling first. One plugin update --all can refresh several OMP plugins, and a blocked Agent no longer stops the others.
  4. install --json and uninstall --json say why they failed. Both carry an error field, and an install in which every skill fails exits non-zero.
  5. A nested skill's references are checked against its own folder. Auditing a parent skill and auditing the nested skill directly now agree.

Herdr panel: Overview, Library and previews

The panel used to list every resource in one long tab. It now opens on Overview: one headline that says whether anything needs you, one Sync button, a map from the source to every target, and only the rows that need attention. With more than six targets the map's last line reads "2 others" or "+3 more"; resting the pointer on it lists those targets with their state.

Library holds the full lists, with its own Sync beside the filter. A row shows a name and one short state. Clicking it opens a preview with its document, its targets and its details. MCP previews show the names of env, header and token entries, never their values.

A machine with uncommitted or unpushed work offers a sync both ways, and warnings and errors clear after 8 seconds. (#836, #842)

Herdr panel: enable, disable, instant results and self-update

  • The preview of a skill or an agent offers Disable, or Enable when it is off. The panel asks first, then runs skillshare disable or skillshare enable for that entry, and the next sync applies it. If another pattern in your ignore files still decides the other way, the panel says the entry did not change. (#843)
  • Disabling, enabling, uninstalling and changing a hook show their outcome as soon as you confirm, and a finished install lists its skills without waiting for the next read. An update or a sync can still be stopped by an audit or a failed target, so their rows say "updating…" or "syncing…" until skillshare answers. A failed operation puts the rows back. (#844)
  • The panel carries the skillshare version it shipped with and, while shown, checks once an hour for a newer published release. When there is one, the header shows Update panel, which replaces the panel's folder with the one from that release and reloads it. The files it replaces are kept once in .bak-update-<version> inside the panel's folder. (#839, #840)

Herdr panel: install offers what the CLI would install

Installing from a repository URL listed every folder with a SKILL.md, including copies under .claude/skills/ that skillshare install skips. Picking one could end as a success with nothing installed, or install a different skill of the same name.

The panel now asks the CLI for its plan, and a failed install is shown as a failure. Scripts can read the same plan: install --dry-run --json returns a planned list of names and paths for an explicit, untracked skill source. (#838, #841)

skillshare install owner/repo --dry-run --json

Plugins: OMP and Pi updates

skillshare plugin update blocked every Oh My Pi plugin, so moving one to a new commit meant uninstalling it first. An update now removes Skillshare's own installation and installs the new version, and one plugin update --all can refresh several OMP plugins. If the removal cannot be verified, the update is still blocked.

Pi plugins were blocked whenever the catalog name differed from the name in package.json, for example after an upstream npm rename. That check is gone.

When a plugin is installed on several Agents and one of them cannot update, the others still update, each failure is listed with its reason, and the command exits non-zero. (#833, #837)

CLI: --json failures carry a reason

A failed install --json printed empty skills and failed lists with exit code 1 and no reason. The JSON now has an error field, in global and project mode.

uninstall --json has the same field with each failed name and its reason, and uninstall -p --json prints only JSON instead of text and a prompt.

An install from one source or from config in which every skill fails now exits non-zero and names each skill and reason. If some skills install or are skipped, it still exits 0. (#831, #835)

Audit: nested skills

When skillshare audit scanned a parent skill, it resolved the links of a skill nested inside it against the parent. A valid references/ok.md in the nested skill was reported as a dangling link, and a ../SKILL.md that leaves the nested skill was not reported as an escape.

Auditing the parent and auditing the nested skill directly now give the same findings, and doctor reports each finding once. (#834, #845)

Dashboard

In the Clean style, list rows no longer show through the lower edge of the toolbar that sticks while you scroll. (#830)

Contributors

@andrenagusch @salmonumbrella

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.