All notable changes to skill-flow will be documented in this file.
- Added a staged CLI publish flow so the npm release now comes from a dedicated publish directory with a sanitized manifest.
- Added a publish guard that blocks direct npm publishing from the source workspace package when internal
@skill-flow/*dependencies are still present.
- Updated the CLI and all internal workspace packages from
1.3.4to1.3.5. - Expanded npm release verification so it covers the staged publish manifest in addition to the packed tarball.
- Fixed the npm release path so registry metadata no longer advertises unpublished internal workspace packages for the public
skill-flowpackage. - Fixed the regression where
skill-flow@1.3.4still failed onnpm install -g skill-floweven though the tarball contents had already been corrected.
- Added a publish-safe CLI packaging flow so the released npm package now carries the internal runtime code it needs instead of depending on unpublished workspace packages.
- Added release verification coverage for package output and workspace version alignment to make broken npm releases less likely.
- Updated the CLI and all internal workspace packages from
1.3.3to1.3.4. - Tightened the npm publish path so the packed
skill-flowmanifest only exposes public runtime dependencies. - Updated release notes to explain the install repair from the perspective of users upgrading from
v1.3.3.
- Fixed
npm install -g skill-flowfailing withE404when npm attempted to resolve internal@skill-flow/*packages from the public registry. - Fixed the published CLI tarball so a fresh global install now completes and the installed
skill-flowbinary starts normally.
- Added built-in
Traetarget support across CLI, shared runtime, desktop labels, and icon assets.
- Updated the CLI and all internal workspace packages from
1.3.2to1.3.3. - Unified built-in target metadata and custom target handling across bridge, runtime, TUI, storage, and desktop settings flows so agent lists, labels, ordering, and documented paths stay aligned.
- Expanded CLI, shared-types, storage, query, and desktop coverage around target definitions, custom target persistence, bridge payloads, and settings interactions.
- Fixed desktop editable tag cards so the add affordance remains available even when a group currently has no tags.
- Added GitLab archive fallback support for Git-based source imports so GUI and shared runtime flows can still continue when direct clone handling is not available.
- Updated the CLI and all internal workspace packages from
1.3.1to1.3.2. - Included
README.md,README.zh.md, andLICENSEin the published CLI package and added release sync helpers to keep those files aligned during pack flows. - Expanded query, integration, core-engine, and CLI coverage around source lifecycle, naming, preview, and package output behavior.
- Fixed GUI import flows so GitLab sources can complete through the same shared runtime path used by other source types.
- Fixed add preview handling to tolerate legacy lock files instead of failing before projection state is prepared.
- Fixed query source lifecycle tests so they stay isolated from network state during verification.
- Added a clearer project-scope entry point on the macOS home screen, including tighter menu bar icon coverage around scope state changes.
- Unified desktop group card presentation rules across Home, menu, and import contexts, so compact sizing, loading states, and supporting UI elements stay consistent.
- Polished desktop tag interactions and update-related coverage with cleaner tag presentation, hover-based add affordances, and synchronized release metadata checks.
- The macOS desktop app now supports project-scoped skill views, so you can switch between a global setup and a specific project without mixing drafts and selections together.
- The desktop home screen now shows recent projects, including detected OpenCode workspaces, making it faster to jump back into work you opened recently.
- Local skill groups now show clearer source metadata and preview context, so it is easier to tell whether a group comes from a local install and where it lives.
- Home controls on macOS are easier to use, with clearer project scope entry points, larger click targets, and smoother card selection.
- Detail pages on macOS feel more stable during navigation, with faster markdown loading and less jarring refresh behavior when switching between groups.
- The desktop interface now uses more motion and visual feedback across cards, tags, toolbars, settings, and detail navigation, making the app feel more responsive without changing the workflow.
- Fixed cases where global actions could accidentally clear project-specific state.
- Fixed recent-project tracking so the same project is recognized more reliably from normalized paths.
- Fixed markdown detail rendering so content updates refresh correctly and previous scroll position is preserved more consistently.
- Fixed import flows so groups that are already installed locally are shown more clearly and no longer invite redundant import actions.
- Bumped the CLI and all internal workspace packages from
1.1.0to1.2.0. - Expanded the macOS release helpers so one release flow can produce Apple Silicon, Intel, and universal installers.
- Reduced redundant packaging work by reusing a single workspace JS build across batch desktop packaging.
- Built and validated macOS desktop release artifacts for
arm64,x86_64, anduniversal. - Generated release
.dmg,.zip, andsha256.txtfiles for all three desktop targets underdist/desktop-mac/.
npm run buildscripts/release/release-github.sh all
- Added the monorepo package split around
apps/cli,packages/core-engine,packages/query,packages/shared-types,packages/tui, andapps/desktop-mac. - Added the versioned machine bridge protocol and the
skill-flow bridge --jsonentrypoint used by the macOS desktop shell. - Added the rebuilt macOS desktop surface with home, import, detail, settings, and menu bar quick config flows.
- Moved root build and test execution to workspace-aware monorepo scripts.
- GitHub sources now fall back to downloaded ZIP archives when
gitis unavailable, while non-GitHub Git sources still requiregit. - Desktop bridge failures now surface actionable dependency guidance for missing
node,git, andnpxand point to the README prerequisites section. - Updated project documentation to match the current CLI, bridge, desktop, and packaging structure.
npm run buildnpm testswift buildinapps/desktop-macswift testinapps/desktop-mac
skill-flow addnow hides low-signal duplicate warnings when generated agent skill mirrors are skipped in favor of canonicalsource/skills/*entries.
- Fixed source import so failed
addattempts no longer remove an existing checkout path. - Fixed managed cleanup guards so uninstall, config bootstrap pruning, and deployment updates refuse to delete managed roots themselves or unmanaged paths outside the recorded target/source roots.
- Fixed cleanup flows so existing deployments can still be removed after a target root changes by preserving the original managed root in lock state.
- Fixed the file-URL compatibility test to use the sandbox state root, so the full test suite no longer depends on write access to
~/.skillflow.
npm run buildnpm test
- Added an interactive
skill-flow addflow with searchable multi-select steps for skills and agent targets, visible loading phases, an installation summary, and rollback on cancel. - Added
skill-flow add --skill <id>,--agent <target>,--yes, and--allso scripted installs can preselect or skip prompts.
findnow hands candidate installs to the same add flow used byskill-flow add, so install behavior, prompts, and completion output stay consistent.confignow uses the same header and selection language as the add flow, refreshes layout on terminal resize, and shows local checkout paths in metadata.
- Fixed config draft restoration so selected skills are preserved even when a source currently has no enabled agent targets.
- Fixed add preparation to reject ambiguous skill selectors and unavailable agent targets before projection, while keeping prepared sources rollback-safe.
- Fixed rendered add installs to avoid duplicate completion output and reduced low-signal status noise in the config header.
npm run buildnpm test
- Normalized
add --pathhandling so stored requested paths and preselection state stay predictable. - Added an explicit preselection warning when
addonly scopes the default selection to a subpath. - Cleaned up generated
findfollow-up commands so root-scoped skills do not emit--path .. - Simplified the
configtop bar so stable-state action hints and low-signal status text are hidden by default. - Kept the
Skill Flowtitle visually stable by rendering it separately from transient status colors.
npm run buildnpm test -- src/tests/add-selection-and-find-command.test.ts src/tests/find-and-naming-utils.test.ts src/tests/source-lifecycle.test.ts src/tests/skill-flow.test.ts
- Added
skill-flow add <slug> --from clawhubsupport. - Aligned CLI
--versionoutput withpackage.json. - Clarified import-path behavior in the workflow documentation.
- Fixed SSH GitHub locators like
git@github.com:owner/repo.gitbeing normalized into invalid HTTPS clone URLs. - Fixed GitHub tree URL imports so
--pathis resolved relative to the tree location. - Fixed
repair-statereporting negative removed deployment counts when rebuilding state.
npm run buildnpm test- Real CLI smoke tests for:
npm run dev -- --versionnpm run dev -- add find-skills-skill --from clawhubnpm run dev -- add https://github.com/JimLiu/baoyu-skills/tree/main/skills --path baoyu-translate
- Added first-class
localsource support under~/.skillflow/source/local/<source-id>/. - Added
WorkspaceBootstrapServiceto unify config startup checks, unmanaged skill discovery, import, reconciliation, and audit. - Added render-first
configbootstrap with visible boot log output. - Added render-first
findflow so search no longer blocks before the UI appears. - Added persisted source selection mode (
allvspartial) so update behavior for newly discovered skills is deterministic. - Added bootstrap detection for symlinked skill directories inside known agent roots.
add <source>now supports local path, Git, and ClawHub through one ingestion model.confignow performs startup bootstrap before entering the main UI:- detect available targets
- scan agent
skills/roots - import unmanaged external skills into local source storage
- reconcile inventory
- normalize bindings
- audit current projections
- Group display labels now show explicit source context:
- local:
<name>@local - git:
<repo>@<owner> - clawhub:
<slug>@clawhub
- local:
- Workflow health now incorporates audit results in addition to inventory and metadata state.
- README and README.zh now document local sources, config bootstrap, and unmanaged-skill adoption behavior.
- Fixed
configandfindshowing no visible progress during slow startup/search work. - Fixed bootstrap missing agent-root skills that are exposed as symlinks to directories.
- Fixed unmanaged-skill detection to respect target path environment overrides.
- Fixed update replay behavior for newly added skills by preserving source selection intent.
- Fixed real-state bootstrap behavior so already-managed projections are skipped instead of being re-imported.
npm run buildnpm test- Test suite passing:
57/57