github runkids/skillshare v0.13.0

latest releases: v0.18.7, v0.18.6, v0.18.5...
one month ago

skillshare v0.13.0 Release Notes

Release date: 2026-02-16

TL;DR

v0.13.0 is a platform and architecture release:

  1. Skill-level target control — SKILL.md targets field restricts which targets a skill syncs to
  2. XDG compliance — proper directory layout on Linux/macOS, correct %AppData% paths on Windows, automatic migration
  3. Unified target names — project mode uses the same short names as global (claude, not claude-code)
  4. Lighter binary — UI assets downloaded at runtime instead of embedded, reducing binary size significantly
  5. Smarter install — fuzzy subdirectory matching for monorepo skill installs

What's New

1) Skill-level targets field (doc)

Control which targets receive a specific skill via SKILL.md frontmatter:

---
name: cursor-rules
targets: [cursor]
---

This skill will only sync to Cursor, even if Claude and other targets are configured. Combined with per-target include/exclude filters from v0.12.6, you now have fine-grained control at both the skill and target level.

This feature (along with v0.12.6's target filters) was inspired by Discussion #22 — a user wanted to install different versions of the same skill from one repo and route each to its own target. With skill-level targets + per-target include/exclude, this is now fully supported.

CLI validation: skillshare check warns about unknown target names in the targets field.

2) Target filter CLI + Web UI

Edit target include/exclude filters without touching config.yaml:

skillshare target claude --add-include 'core-*'
skillshare target cursor --add-exclude '*-experimental'
skillshare target codex --remove-include 'legacy-*'

The Web UI Targets page also has an inline filter editor.

3) XDG Base Directory support

skillshare now follows the XDG Base Directory Specification:

Data macOS/Linux Windows
Config + skills ~/.config/skillshare/ %AppData%\skillshare\
Backups + trash ~/.local/share/skillshare/ %AppData%\skillshare\
Logs ~/.local/state/skillshare/ %AppData%\skillshare\
UI cache ~/.cache/skillshare/ %AppData%\skillshare\

Override with XDG_CONFIG_HOME, XDG_DATA_HOME, XDG_STATE_HOME.

Migration is automatic — on first run, existing backups/trash/logs are moved to the new locations. Windows installs at ~\.config\skillshare\ are migrated to %AppData%\skillshare\ with config source path rewrite.

4) Unified project target names

Project mode now uses the same short names as global mode:

Before (v0.12.x) After (v0.13.0)
claude-code claude
gemini-cli gemini
opencode-commands opencode
... ...

Old names still work as aliases for backward compatibility. If your .skillshare/config.yaml uses old names, everything continues to function — but new init -p will use the short names.

5) Runtime UI download

The skillshare binary no longer bundles frontend assets. On first skillshare ui launch, assets are downloaded from the matching GitHub Release and cached at ~/.cache/skillshare/ui/<version>/.

  • skillshare ui --clear-cache — reset cached assets
  • skillshare upgrade — pre-downloads UI assets for the new version

This reduces the binary from ~5MB to ~3MB.

6) Fuzzy subdirectory resolution for monorepo installs

When installing a skill from a monorepo:

skillshare install runkids/my-skills/vue-best-practices

If vue-best-practices/ doesn't exist at the repo root, skillshare now scans all SKILL.md files and matches by directory basename. If multiple skills share the same name, an ambiguity error is shown with the full paths.

7) Improved list display

Skills are now grouped by directory with tree-style formatting:

frontend/
  ├── react-best-practices
  ├── vue-best-practices
  └── css-guidelines
backend/
  └── api-patterns

Use --verbose/-v for detailed output with metadata.

Breaking Changes

All breaking changes have automatic migration — no manual action required for most users.

Change Impact Migration
XDG data/state split Backups/trash/logs move to new dirs Auto-migrated on first run
Windows path relocation ~\.config\%AppData%\ Auto-migrated on first run
Project target names claude-codeclaude, etc. Old names work as aliases
No embedded UI Binary doesn't include frontend Auto-downloaded on skillshare ui

Verification

All changes covered by unit tests + integration tests. Run make check to verify.

Changelog

  • 53b31df Merge pull request #27 from runkids/v0.13.0
  • 2dfe57a chore: improve list skills UX
  • a29e198 feat: add target filter CLI, skill-level targets field, and Web UI support
  • da50912 feat: fuzzy resolve subdirectory when exact path not found in repo
  • 41e822d feat: remove go:embed, serve UI exclusively via runtime download
  • 80c2d52 feat: respect XDG Base Directory Specification (#26)
  • 0bf8449 feat: split XDG data/state dirs and add Windows legacy migration
  • 403aafb feat: unify project target names with global names, add aliases for backward compat
  • d30d90a feat: update Homebrew install to homebrew-core and detect missing UI
  • 9c51630 fix: bind port before opening browser to avoid connecting to stale server
  • cb9db75 fix: improve dev mode placeholder with actionable instructions
  • e3f501d fix: redirect XDG vars into sandbox to prevent CI test leakage
  • eed0bda fix: report migration outcomes and rewrite source after windows move
  • 0b832f1 refactor: deduplicate skill target validation and project list display
  • d996530 refactor: unify CacheDir into config package and document all platform paths

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.