github runkids/skillshare v0.18.9

6 hours ago

skillshare v0.18.9 Release Notes

Release date: 2026-04-07

TL;DR

  1. Relative symlinks in project modeskillshare sync -p creates portable relative symlinks; existing absolute links are auto-upgraded on next sync
  2. Status version detection fixedskillshare status now correctly reads the skill version from SKILL.md

Relative Symlinks in Project Mode

skillshare sync -p now creates relative symlinks (e.g., ../../.skillshare/skills/my-skill) instead of absolute paths. This makes the entire project directory portable — rename it, move it to a different location, or clone it on another machine and all skill symlinks continue to work without re-running sync.

Existing absolute symlinks from earlier versions are automatically upgraded to relative format on the next skillshare sync -p. The upgrade is atomic — if anything goes wrong during conversion, the original link is preserved.

Global mode continues to use absolute paths, since source and target directories live in separate filesystem locations where relative paths would be fragile.

The implementation correctly handles edge cases:

  • Symlinked project directories (e.g., workspace opened through a symlink)
  • Target directories that traverse symlinks outside the project — falls back to absolute
  • Windows without Developer Mode — junctions remain absolute without repeated conversion attempts

Status Version Detection

skillshare status previously used its own local SKILL.md parser that only looked for a top-level version: key in the YAML frontmatter. Since the version field now lives under metadata.version, the status command always reported:

! Skill: not found or missing version
→   Run: skillshare upgrade --skill

This is now fixed — status uses the same shared version parser that doctor (fixed in v0.18.7) and upgrade already use. The duplicate local functions and the unused skillshareSkillURL constant have been removed.

Changelog

  • 1d62b15 feat(sync): add relative parameter to createLink
  • c450078 feat(sync): add shouldUseRelative helper for project-mode relative symlinks
  • 465db30 feat(sync): pass projectRoot from project-mode callers
  • bbf2e43 feat(sync): unify extras symlinks through createLink
  • 3c8c560 feat(sync): wire projectRoot through merge and symlink sync paths
  • 741564b fix(status): use shared version parser for skill version check
  • 9ff0069 fix(sync): canonicalize paths for relative symlinks, atomic reformat
  • de0291c fix(sync): handle root projectRoot prefix, use abs paths for Windows Rel
  • adec637 fix(sync): prevent infinite reformat loop on Windows junction fallback
  • 3316c90 fix(sync): resolve relative readlink against link parent, check os.Remove errors
  • e51fe60 fix(sync): upgrade existing absolute symlinks to relative in project mode
  • fe244e8 refactor(sync): simplify shouldUseRelative and hoist extras computation

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.