SkillMux Zack Zhu
winget install --id=ZackZhu.SkillMux -e SkillMux is a high-performance CLI for managing skills across multiple remote sources and multiple local runtime targets.
winget install --id=ZackZhu.SkillMux -e SkillMux is a high-performance CLI for managing skills across multiple remote sources and multiple local runtime targets.

skillmux is a high-performance CLI for managing Skills across multiple remote sources and multiple local runtime targets.
Modern agent runtimes often need skills from different ecosystems (official registries, internal hubs, GitHub repos), and they may store those skills in different local folders.
skillmux solves this by providing:
kingdeeclawhubInstall from:
gh:owner/repogithub:owner/repoOptional install controls:
--version to pin a version when source supports versioning.--ref to install from a specific git ref.--subdir to install from a repository subdirectory.--as to rename the local installed folder.--force to overwrite/refresh existing content.--json for machine-readable output.For registry sources, the local folder name defaults to the skill slug. Display names from SKILL.md are saved as metadata, which avoids duplicate installs when a skill has a localized display name.
skillmux list shows installed skills with metadata such as:
--all or with no update argument.installed / updated / unchanged status instead of repeated install logs.Supports target-specific install layouts, including:
codexqoderqoderworkkiroworkbuddypip install skillmux
skillmux --version
skillmux search [--limit ] [--page ] [--json]
skillmux install
[--version ]
[--ref ]
[--subdir ]
[--as ]
[-y|--yes]
[--force]
[--json]
skillmux list [--json]
skillmux update [skill]
skillmux update --all [--ref ]
skillmux remove [--purge]
skillmux config list
skillmux config get
skillmux config set
skillmux config targets
skillmux config targets set
skillmux config targets add
skillmux config targets remove
skillmux reads settings from config and command-line overrides.
Common configuration dimensions:
CLI-level override flags:
--config : use a specific config file.--api : override API endpoint.--token : provide token for the current run.--source : override default source.When installing:
This design allows predictable updates even when multiple sources may contain similarly named skills.
Each target maps to a specific local directory layout.
Why this matters:
skillmux normalizes install/update/remove operations across these paths.Recommended workflow:
list and update --all for routine maintenance.skillmux search pdf
skillmux install pdf-processing
skillmux list
skillmux update --all
skillmux remove pdf-processing
skillmux install gh:owner/repo
skillmux install https://github.com/owner/repo
skillmux install gh:owner/repo --ref v1.2.3 --subdir skills/my-skill --as my-skill
skillmux search retrieval --json
skillmux list --json
--source or config default).skillmux config get install.targets
cargo build
cargo fmt
cargo check
The release helper keeps Cargo.toml and pyproject.toml in sync, commits the version bump, creates an annotated tag, pushes the branch and tag, then creates a GitHub release with generated notes.
Interactive:
python scripts/release.py
Non-interactive:
python scripts/release.py patch --yes
python scripts/release.py major --yes
PowerShell:
.\scripts\release.cmd patch --yes
Use --dry-run to preview the release. The script requires a clean git worktree, git, and an authenticated GitHub CLI (gh auth status).
The publish GitHub Actions workflow runs when a GitHub Release is published. It builds PyPI wheels and standalone CLI binaries for:
x86_64-unknown-linux-gnuaarch64-unknown-linux-gnux86_64-pc-windows-msvcaarch64-pc-windows-msvcx86_64-apple-darwinaarch64-apple-darwinThe workflow uploads the standalone CLI binaries plus SHA256SUMS.txt to the same GitHub Release and publishes wheels to PyPI. After that, it updates packaging/winget metadata on the default branch; that metadata commit triggers the publish-winget workflow, which submits the WinGet update with WingetCreate.
WinGet automation requires PACKAGING_METADATA_TOKEN to be a PAT or GitHub App token that can push to this repository and trigger workflows. It also requires WINGET_CREATE_GITHUB_TOKEN for WingetCreate submission. Set WINGET_RELEASE_REPOSITORY only if the GitHub Release assets live in a different repository than the one already recorded in packaging/winget.
Released under the terms of the repository license.