github runkids/skillshare v0.18.1

5 hours ago

🔍 skillshare v0.18.1 Release Notes

Release date: 2026-03-27
Discussion: #99

TL;DR

  1. --filter for analyze — filter skills by name or group path across CLI, TUI, and JSON output
  2. Dynamic token subtotals — see how many tokens a filtered set costs in real time
  3. Registry in source dirregistry.yaml moves into the skills directory so git sync preserves it
  4. init --remote smarter — skips skill prompt when the remote already has skills

Analyze Filter

skillshare analyze now supports --filter to narrow results to a subset of skills. The filter is a case-insensitive substring match on the skill's relative path, which includes the group directory from --into.

# How many tokens do my frontend skills cost?
skillshare analyze claude --json --filter frontend

# Pre-populate the TUI search box
skillshare analyze --filter marketing

When --filter is used with --json, the output shape changes to a flat object with filtered_summary:

{
  "filter": "frontend",
  "matched_count": 5,
  "total_count": 50,
  "filtered_summary": {
    "always_loaded": { "chars": 2400, "tokens": 600 },
    "on_demand": { "chars": 8000, "tokens": 2000 },
    "total": { "chars": 10400, "tokens": 2600 }
  },
  "skills": [...]
}

In TUI mode, --filter pre-populates the filter input. The stats line dynamically updates to show 5/50 skills with always-loaded, on-demand, and total token sums for the visible set.

The Web UI also shows a summary bar above the skill table when a search or lint filter is active. The bar animates in/out smoothly.

Registry Location

registry.yaml (which tracks installed and tracked skills) has moved from ~/.config/skillshare/registry.yaml to ~/.config/skillshare/skills/registry.yaml — inside the source directory. This means git sync now automatically includes the registry, so tracked skill metadata is preserved when sharing your config across machines.

Migration is automatic on first run. No manual action needed.

Init Improvements

init --remote now skips the interactive "choose skills to install" prompt when the cloned remote repository already contains skills. Since the remote defines the skill set, there's nothing to choose.

Changelog

  • ffdded3 feat(analyze): add --filter flag with filtered_summary in JSON output
  • fb044d6 feat(analyze): add filtered token summary bar to Web UI
  • 2ba561f feat(analyze): dynamic token sums in TUI stats line
  • a7de6a3 feat(registry): move registry.yaml to source dir for git sync (#103)
  • 0f7f610 fix(analyze): pass icon component ref to EmptyState, not JSX element
  • 1ceccb9 fix(e2e): add step_setup cd $HOME to prevent workspace pollution
  • 3a978e1 fix(init): skip skill prompt when remote has skills (#102)
  • 9a43372 fix(test): update registry.yaml path in integration tests
  • dbce8ff fix: update registry.yaml path and clean up formatting
  • 6523363 refactor(analyze): extract skillMatchesFilter, cache filtered sums
  • eabb556 refactor(config): cache SourceRoot in Config.RegistryDir
  • bb4787b style(analyze): add slide/fade animation to summary bar and table rows
  • 545b8c0 style(analyze): fix table height to prevent layout shift on filter
  • 8b8254d style(analyze): use EmptyState component for no-match state
  • ebe2851 test(e2e): add runbooks for registry migration and init skip prompt

Don't miss a new skillshare release

NewReleases is sending notifications on new releases.