π skillshare v0.16.2 Release Notes
Release date: 2026-02-26
TL;DR
v0.16.2 is a major UX and performance release with new interactive experiences, a new command, and Azure DevOps support:
diffcommand β preview what sync would change without modifying anything- Interactive audit TUI β browse security scan results with fuzzy filter and severity coloring
- List tree sidebar β file browser with glamour-rendered markdown preview
- Log improvements β delete entries,
--statsaggregation, partial status tracking - Azure DevOps support β install from Azure DevOps repos (HTTPS, SSH, shorthand) with
AZURE_DEVOPS_TOKEN - Parallel sync β global and project-mode sync parallelized, mtime fast-path for copy mode
- Website revamp β DiΓ‘taxis IA restructure + 5 blog posts
What's New
1) diff command
New command to preview what sync would change without modifying anything:
skillshare diff # all targets
skillshare diff claude # single target
skillshare diff -p # project modeTargets are scanned in parallel (up to 8 workers). Targets with identical diffs are grouped together, and items within each group are further grouped by action and reason for compact output.
2) Interactive audit TUI
skillshare audit now launches a bubbletea TUI after scanning, with severity-colored results (β/!/β), fuzzy filter, and per-result detail panel:
skillshare audit # scan + TUI
skillshare audit --no-tui # scan only, plain textA progress bar displays during scanning. For large scans (1,000+ skills), an interactive confirmation prompt appears before starting.
3) List tree sidebar with markdown preview
The list TUI detail panel now shows a file tree sidebar (up to 3 levels, max 200 files) with SKILL.md pinned at top. Navigate the tree and press Enter to preview files β markdown is rendered with glamour for styled terminal output.
4) Log improvements
- Delete entries: press
spaceto select,afor all,dto delete with confirmation --statsflag: aggregated summary with per-command breakdown and success rate- Partial status:
sync,install,update,uninstallnow log"partial"when some targets succeed and others fail - Retention: auto-trims old entries with configurable limits and hysteresis
skillshare log --stats
skillshare log --status partial
skillshare log --since 7d5) Azure DevOps URL support
skillshare now natively parses Azure DevOps URLs in all formats:
| Format | Example |
|---|---|
ado: shorthand
| ado:myorg/myproject/myrepo
|
| Modern HTTPS | https://dev.azure.com/org/proj/_git/repo
|
| Legacy HTTPS | https://myorg.visualstudio.com/proj/_git/repo
|
| SSH v3 | git@ssh.dev.azure.com:v3/org/proj/repo
|
All formats support subdirectory paths. Legacy visualstudio.com URLs are auto-normalized to dev.azure.com.
6) AZURE_DEVOPS_TOKEN env var
Automatic HTTPS token injection for Azure DevOps private repos:
export AZURE_DEVOPS_TOKEN=your_pat_here
skillshare install https://dev.azure.com/org/proj/_git/repo --trackToken priority: AZURE_DEVOPS_TOKEN > SKILLSHARE_GIT_TOKEN (generic fallback). SSH URLs bypass token injection.
7) update --prune
Remove stale skills whose upstream source no longer exists:
skillshare update --prune # prune stale skills
skillshare update --all --prune # update all + prune stale8) Stale detection in check
skillshare check now reports skills deleted upstream as "stale (deleted upstream)" instead of silently skipping.
9) Performance (for large skill collections)
- Parallel target sync β both global and project-mode
syncnow run concurrently (up to 8 workers) with live per-target progress - mtime fast-path β copy-mode syncs skip SHA-256 checksums when source mtime is unchanged, making no-op syncs near-instant
- Cached discovery β skills discovered once and shared across all parallel workers
- Batch search install progress β multi-skill hub installs show per-skill status with live display
10) Other
- Windows ARM64 β
make build-windowsproducesbin/skillshare-windows-arm64.exe - Upgrade spinner fix β brew output and GitHub release steps render cleanly inside tree spinners
- Unified TUI palette β all bubbletea TUIs share consistent colors via shared
tcstruct - Website revamp β DiΓ‘taxis IA restructure + 5 blog launch posts
Migration
No breaking changes. Drop-in upgrade from v0.16.1.
For Azure DevOps users: set AZURE_DEVOPS_TOKEN in your shell profile or CI environment for private repos.
Changelog
- 8b94dcb feat(audit): add interactive TUI, progress bar, and large-scan UX improvements
- bda45e3 feat(auth): add AZURE_DEVOPS_TOKEN for Azure DevOps HTTPS authentication
- 01d133b feat(build): add Windows ARM64 cross-compile script
- 8b87794 feat(diff): add multi-target progress display with spinner
- 96aaeaf feat(diff): add progress bar for copy mode targets
- bb8e160 feat(diff): combine target list with overall progress bar
- 1f61e62 feat(diff): group output by (action, reason) for compact summary
- 0553dc4 feat(diff): group targets with identical diff results
- 8ea359d feat(diff): replace per-target progress bar with overall progress
- 61f3135 feat(diff): rewrite output with action-oriented labels and overall summary
- 495d0bf feat(install): add Azure DevOps URL parsing support
- f933e1d feat(list): add tree sidebar content viewer with glamour markdown rendering
- 5e00216 feat(log): add delete functionality to log TUI
- c767cb4 feat(log): comprehensive log improvements β partial status, instrumentation, retention, stats
- 69ffbf3 feat(search): add batch progress display for multi-skill hub install
- 08ac843 feat(ui): add log stats bar with success rate and command breakdown
- efa3a34 feat(update): add --prune for stale skills, stale detection in check, refactor update handlers
- 2c3003e feat(website): complete website revamp β DiΓ‘taxis IA, blog, recipes, quickstarts
- a5c83a7 fix(log): --stats --cmd audit now reads audit.log instead of operations.log
- 3fa5ef9 fix(log): improve TUI detail panel readability and filter flags from oplog names
- 29eba49 fix(oplog): check write errors in rewriteEntries to prevent data loss
- 9fec866 fix(sync): resolve race condition for targets sharing the same path
- 2caa290 fix(sync,log): canonicalize group key to prevent race; honor max_entries: 0
- 9d4da30 fix(test): sync unit test assertions with current output formats
- 0ae7801 fix(tui): account for PaddingLeft in content panel width calculation
- 8128cfd fix(tui): hard-wrap content to prevent scroll clipping
- b73d2f4 fix(ui): compare last_operation timestamps as dates, not strings
- 83df2b8 fix(ui): compute stats from both ops and audit logs on all tab
- afa7dfd fix(upgrade): contain brew output in tree spinners, fix GitHub release tree structure
- d44a7c6 perf(diff): parallelize target scanning with bounded semaphore
- 0bd6b89 perf(sync): cache discovery + add progress UI for sync operations
- 12bbe3e perf(sync): mtime fast-path for copy mode + diff UX improvements
- 99a07e7 perf(sync): parallelize project-mode target syncing
- 82efe31 refactor(diff): use ui.ProgressBar for scanning progress
- e537784 refactor(list): replace focus-based dual-pane with fixed keyboard roles
- a7793bc refactor(tui): unify color palette via shared tc struct and configureDelegate
- f38e264 style(diff): add blank line between target list and progress bar
- d6d326d style: fix whitespace alignment in list_tui, log_tui, manifest