🚀 skillshare v0.16.13 Release Notes
Release date: 2026-03-06
TL;DR
v0.16.13 redesigns the list and audit TUI with grouped layout, adds structured filter tags for precise skill filtering, and supports 3 new AI agent targets:
- Grouped layout — skills organized by tracked repo with visual separators, compact paths, and repo-name badges
- Structured filter tags —
t:tracked g:security auditfilters by type, group, and free text simultaneously - 3 new targets — Warp, Purecode AI, Witsy (55+ supported tools)
No breaking changes. Drop-in upgrade from v0.16.12.
TUI Grouped Layout
The problem
When users track multiple repos, the flat skill list becomes hard to navigate. Skills from different repos are visually indistinguishable, and long tracked-repo paths (_runkids-my-skills/security/skill-name) clutter the display. The same issue affects audit results.
Solution
Both skillshare list and skillshare audit TUIs now group skills by origin:
── runkids-my-skills (42) ──────────────
✓ security/skill-improver
! security/audit-demo-debug-exfil
── standalone (27) ─────────────────────
! react-best-practices
! skill-creator
- Tracked repos sort first (alphabetically), standalone skills follow
- Within each group, skills sort by severity (audit) or path (list)
- When only one group exists, separators are omitted automatically
- Compact paths strip the repo prefix:
_runkids-my-skills/security/skill-name→security/skill-name - Tracked skills always show a repo-name badge, keeping them identifiable even in filtered views without group headers
Design decisions
- Shared
groupItemtype — both list and audit TUIs use the samegroupItemstruct andskipGroupItemnavigation. TherenderPrefixRowhelper renders all list rows (skill and audit) through a single code path. - Dynamic panel height — audit footer has variable line count (1-2 summary lines depending on threat categories). Panel height is computed from
termHeight - auditFooterLines()rather than a hardcoded offset. - Single-group detection — a single-pass map tracks distinct group keys with early exit at 2. Avoids multiple iterations over the skill list.
- ANSI-aware truncation —
truncateANSIdelegates toxansi.Truncatewhich preserves color codes while measuring visual width. The previous approach stripped ANSI, counted runes, and returned plain text — losing all styling.
Structured Filter Tags
The problem
The / filter in list TUI only did free-text fuzzy matching across name, path, and source. Users with 100+ skills couldn't efficiently narrow by type (tracked vs local) or repo origin without scrolling.
Solution
The filter input now supports key:value tags alongside free text:
| Tag | Alias | Matches |
|---|---|---|
t:tracked
| type:tracked
| Tracked repo skills |
t:local
| type:local
| Local standalone skills |
t:remote
| type:remote
| Remote-sourced skills |
t:github
| type:github
| GitHub Hub skills |
g:security
| group:security
| Skills in groups containing "security" |
r:runkids
| repo:runkids
| Skills from repos containing "runkids" |
Usage patterns
# Show only tracked skills
/t:tracked
# Show tracked skills in the security group
/t:tracked g:security
# Find skills from a specific repo containing "audit"
/r:runkids audit
# Combine multiple filters (AND logic)
/t:local g:frontend reactMultiple tags combine with AND logic. Free text is matched against name, path, and source. Unknown tag keys are treated as free text.
New Targets
Three new AI agent targets:
| Target | Short name | Global path | Project path |
|---|---|---|---|
| Warp | warp
| ~/.agents/skills
| .agents/skills
|
| Purecode AI | purecode
| ~/.purecode/skills
| .agents/skills
|
| Witsy | witsy
| ~/.agents/skills
| .agents/skills
|
Supported tools: 55+.
Bug Fixes
- Row truncation — long skill names now truncate with
…instead of wrapping to multiple lines. Both list and audit TUIs usexansi.Truncatewith padding-aware width calculation. - Audit panel height — items at the bottom of the audit list were hidden behind the footer. Panel height is now dynamically computed from actual footer line count.
- Detail panel deduplication — removed duplicate information (installed date, repo name) that appeared across multiple sections.
- Audit color noise — non-zero severity counts use semantic colors (red/orange/yellow/blue), zero counts are dimmed. Previously all counts had equal visual weight.
- Devcontainer
-jflag — the wrapper'swants_machine_output()now recognizes-jin addition to--json, preventing stderr banner noise in machine-readable output.
Changelog
- 9b5429a feat(targets): add Warp, Purecode AI, Witsy targets
- 8ddf886 feat(tui): add grouped layout and dynamic panel height to audit TUI
- 0e7bfea feat(tui): add structured filter tags to list TUI
- 0a0ac2e feat(tui): redesign list panel with grouped layout and compact paths
- a217e40 fix(audit): reduce color noise in CLI and TUI output
- 5ae4c7a fix(tui): improve detail panel readability
- f115ab5 fix(tui): show skill name and group in list detail panel
- c085f10 fix(tui): skip group separators when single group and fix row truncation
- 657b833 fix: suppress devcontainer redirect for -j flag and show tracked badge in filter mode
- 7015aaf refactor(tui): unify duplicated group/render logic between list and audit TUIs