github runkids/skillshare v0.25.5

3 hours ago

skillshare v0.25.5 Release Notes

TL;DR

  1. skillshare move moves installed skills, or whole folders, to another folder and keeps their install records, so nothing is re-downloaded and uninstall, update and audit still know them.
  2. The dashboard can move skills and folders too, with a preview, a clear reason when something is blocked, and a Sync now button at the end.
  3. The install dialog lets you pick an existing folder or build a new one, and shows the link name you will get.
  4. sync now adopts a skill you moved with mv, so the old habit keeps working: the record, audit acceptances and lock pin follow on the next sync.
  5. Plugins update in one batch from the dashboard: the page checks on open, and one dialog updates everything that is behind, per Agent, with retry.

Move installed skills and folders

Until now, organizing installed skills into folders meant mv, which left the .metadata.json record at the old path: the next install or Install missing started over, and uninstall could not find the skill. skillshare move renames the folder and carries the record, the accepted audit findings, the project lockfile pin and config.yaml group, the project .gitignore line and a literal .skillignore line along with it.

skillshare move react-best-practices frontend      # one skill into frontend/
skillshare move pdf docx office                    # several skills
skillshare move frontend archive                   # a whole folder -> archive/frontend/
skillshare move archive/old-skill .                # back to the source root
skillshare move react-best-practices frontend -n   # preview
skillshare sync                                    # rename the links in your targets
  • A move never syncs; it tells you to run skillshare sync. --json reports each name with a stable error_code, and -p works in project mode.
  • Everything is checked before anything is renamed, and a folder moves whole or not at all. A skill or folder inside a tracked repo or below a followed source link is refused, as is a destination inside a skill or a tracked repo. A short name that matches several skills asks for the full path.
  • A target name collision needs --force. A target include/exclude rule that decides differently for the new flat name is warned about, in either direction; config.yaml is not changed.
  • install --into now refuses a folder inside a skill or a tracked checkout, with the same codes.

sync adopts a hand-moved skill

If you still reach for mv, the next sync finds the moved copy (same name, files unchanged since install, exactly one such copy) and moves its install record, accepted audit findings and project lock pin to the new path. Before, only install or Install missing did that, so update and uninstall lost the skill after mv + sync. sync never removes a record, and sync --dry-run adopts nothing. A .skillignore line still does not follow; use skillshare move for that.

Bug fix: config.yaml keeps its comments

Every command that wrote the config (target, config set, installing a tracked repo, and the matching dashboard actions) re-encoded the file and dropped its comments. Comments now stay on every key that is still present, so marker blocks such as # BEGIN … / # END … survive a skillshare target universal --mode copy. A comment on a key the command removed moves in front of the next key, so nothing is lost; key order and blank lines are still normalized (#525). registry.yaml keeps its comments the same way.

Dashboard

  • Move to folder. Select skills and choose Move to folder…, or open a folder's menu and choose Move whole folder…; the skill page has the same entry. The dialog previews the new paths and link names, blocks a folder move when any item is refused and says why, offers Move anyway only for a name collision, and ends with Sync now.
  • Pick an existing folder when installing. The Into folder field lists the source root and every existing folder with its skill count. New folder… opens a step that builds the path and shows the resulting link name before you confirm.
  • Update plugins in one batch. The Plugins page checks for updates when it opens and shows old → new on each row. Update N opens one dialog with every plugin that is behind, ticked by default, per Agent. One button updates the picks in turn with a status per row, Stop after this one, and Retry for the Agents that failed. Imported installs Skillshare cannot update, and sources that no longer provide a compatible plugin, are listed apart. Results update the page, so there is no second check.

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.