🚀 skillshare v0.17.11 Release Notes
Release date: 2026-03-25
TL;DR
- Extras flatten — new
flatten: trueoption for extras targets syncs all files from subdirectories directly into the target root, solving the problem where AI tools like Claude Code only discover top-level files - Full CLI support —
--flattenforextras init,--flatten/--no-flattenforextras mode, flatten indicator inextras list - TUI + Web UI — flatten toggle in the init wizard and Extras page, with config editor validation
Extras Flatten
AI CLI tools like Claude Code's /agents only discover files at the top level of their config directory — they don't recurse into subdirectories. If you organize your extras source with subdirectories (e.g., agents/curriculum/, agents/software/), synced files end up in those subdirectories and are invisible to the tool.
The new flatten option fixes this:
extras:
- name: agents
targets:
- path: ~/.claude/agents
flatten: trueWith flatten: true, source/curriculum/tactician.md syncs to target/tactician.md instead of target/curriculum/tactician.md.
Collision handling: When files in different subdirectories share the same basename (e.g., team-a/agent.md and team-b/agent.md), the first file wins (sorted alphabetically by path) and subsequent collisions are skipped with a warning.
Constraints: Flatten only works with merge and copy modes — it cannot be used with symlink mode (which links the entire directory).
CLI Flags
Create a new extra with flatten:
skillshare extras init agents --target ~/.claude/agents --flattenToggle flatten on an existing target:
skillshare extras agents --flatten
skillshare extras agents --no-flattenThe extras list output now shows a , flatten indicator next to the mode for flatten-enabled targets.
TUI
The extras init interactive wizard now includes a "Flatten files into target root? (y/N)" prompt after mode selection. It is automatically skipped when symlink mode is selected.
The extras list TUI adds a new F keybinding to toggle flatten on/off for a target. For single-target extras it toggles directly; for multi-target extras it shows a target picker first.
Web UI
The Extras page now shows a flatten checkbox per target — both in the "Add Extra" modal and on existing targets. The checkbox is disabled when mode is symlink. The YAML config editor warns when flatten: true is combined with mode: symlink.
Config Editor — Target Name Docs
Clicking a target name in the config editor now shows the correct "target name" field documentation. Previously, clicking name: claude under targets incorrectly showed the sync mode documentation. Short-form entries like - agents are also recognized and show the same target name docs.
Changelog
- bda34d2 docs(cli): mention flatten in extras help text
- 35bb22e docs(mdproof): add flatten E2E lessons learned
- 6d0ba75 feat(extras): --flatten/--no-flatten applies to all targets when --target is omitted
- 41ffe1d feat(extras): add --flatten to CLI commands and TUI wizard
- 1d50d95 feat(extras): add F flatten toggle to extras list TUI
- 5d9dd0c feat(extras): add flatten option to extras sync engine
- 4c83ef7 feat(ui): add flatten support to Web UI
- 0938797 feat(ui): add tooltip to Flatten checkbox on Extras page
- 580ad58 fix(extras): remove leading whitespace from extras list output
- 59675b3 fix(extras): shorthand dispatch recognizes --flatten/--no-flatten
- 3bcbd7b fix(test): update upgrade tests for metadata.version format
- 7c91308 fix(ui): show correct field docs for target names in config editor
- dee3fcb refactor: move version under metadata in built-in SKILL.md
- 7a3b284 test(e2e): add extras flatten E2E runbook
- 31ad27e test(extras): add FlattenRel and CheckSyncStatus unit tests
- 31db9fa test(extras): integration tests for flatten sync