Commands

npx skills-package-manager add

Add one or more skills, write pinned specifiers to skills.json, then install and link them immediately.

OptionDescription
-s, --skill <name>Select one or more specific skills when the source contains multiple skills. Repeat the flag for multiple skills.
-l, --listList available skills without writing skills.json or installing.
-y, --yesSkip prompts. When --skill is omitted and multiple skills are discovered, add all of them.
-a, --agent <name>Append compatible agent linkTargets for this add. Repeat the flag to target multiple agents.
--allAdd all discovered skills to all known project agent targets.
--copyAccepted for npx skills add compatibility. SPM still uses one canonical install directory and agent links.
-g, --globalAdd to the global skills workspace instead of the current project.
npx skills-package-manager add vercel-labs/agent-skills
npx skills-package-manager add https://github.com/vercel-labs/agent-skills/tree/main/skills/web-design-guidelines
npx skills-package-manager add https://github.com/rstackjs/agent-skills --skill rspress-custom-theme
npx skills-package-manager add vercel-labs/agent-skills -s frontend-design -s skill-creator
npx skills-package-manager add vercel-labs/agent-skills --list
npx skills-package-manager add vercel-labs/agent-skills --all
npx skills-package-manager add ../local-skills --agent claude-code --agent continue -y
npx skills-package-manager add npm:@scope/skills-package@1.0.0&path:/skills/my-skill

GitHub sources added through shorthand, full GitHub URLs, or GitHub tree URLs are persisted in skills.json as github:owner/repo#<commit>&path:<path>.

npx skills-package-manager init

Initialize a new skills.json manifest.

  • npx skills-package-manager init: interactive initialization for installDir and additional linkTargets
  • npx skills-package-manager init --yes: non-interactive initialization with defaults
  • Fails if skills.json already exists

npx skills-package-manager install

Install all skills defined in skills.json, materialize managed skills into installDir, link them into every linkTarget, and inject the bundled skills-package-manager-cli self skill when selfSkill is enabled.

install does not create a separate lock file. Remote reproducibility comes from pinned specifiers in skills.json.

If patchedSkills contains an entry for a managed skill, the referenced patch file is applied after the base skill content is materialized. local: skills cannot be patched because their source directories are user-owned.

npx skills-package-manager install

npx skills-package-manager update

Refresh selected remote skills and write the new pins back to skills.json after the updated install succeeds.

npx skills-package-manager update
npx skills-package-manager update find-skills rspress-custom-theme

Behavior:

  • Git and github: skills are updated to the latest main commit.
  • npm: skills are updated to the registry latest version.
  • link:, local:, and file: skills are skipped.
  • Unknown skill names fail before any install or manifest write.

npx skills-package-manager patch

Prepare a skill for patching.

OptionDescription
--edit-dir <dir>Extract the editable copy into a specific directory instead of a generated temporary directory.
--ignore-existingStart from the unpatched base content even if the skill already has a committed patch.

Workflow:

  1. Resolve the current manifest content for the target skill.
  2. Extract an editable copy.
  3. Reapply the committed patch by default so you continue from the current patched state.
  4. Write patch edit metadata for patch-commit.

npx skills-package-manager patch-commit

Generate a patch file from an edited patch directory and commit it into the project.

OptionDescription
--patches-dir <dir>Directory where the generated patch file should be written. Defaults to patches/, or reuses the existing patch path for that skill if one already exists.

Workflow:

  1. Read the patch edit metadata from the directory created by patch.
  2. Diff the edited copy against the original resolved skill content.
  3. Write a patch file such as patches/hello-skill.patch.
  4. Record the patch under patchedSkills in skills.json.
  5. Reinstall and relink the patched skill immediately.