Specifiers

skills-package-manager uses specifiers to describe where skills come from.

General format

git/file/npm: <source>[#ref][&path:<skill-path>]
github: github:<owner>/<repo>#<commit>&path:<skill-path>
link: link:<path-to-skill-dir>
local: local:<path-to-existing-skill-dir>

Supported forms

TypeExample
GitHub shorthandowner/repo
GitHub pinned shorthandgithub:owner/repo#6cb0992&path:/skills/my-skill
GitHub URLhttps://github.com/owner/repo
Git + pathhttps://github.com/owner/repo.git#path:/skills/my-skill
Git + ref + pathhttps://github.com/owner/repo.git#main&path:/skills/my-skill
Git + commit SHA + pathhttps://github.com/owner/repo.git#6cb0992a176f2ca142e19f64dca8ac12025b035e&path:/skills/my-skill
Local linklink:./local-dir/skills/my-skill
Existing local skilllocal:./.agents/skills/my-skill
Existing skill under installDirlocal:*
Local tarballfile:./skills-package.tgz#path:/skills/my-skill
npm packagenpm:@scope/skills-package@1.0.0&path:skills/my-skill

Notes

  • source: A Git repository URL, a local link: path, a user-owned local: path, a local file: tarball, or an npm: package name
  • ref: An optional git ref, such as main, a tag, a full commit SHA, or a short commit SHA
  • path: The directory of the skill inside the source repository or package
  • local:*: Resolves to ${installDir}/${skillName} for skills already managed inside the configured install directory

Resolution types

  • git: Clone the repository, resolve the commit, and copy the skill files
  • link: Symlink a local skill directory into installDir
  • local: Use an existing user-owned skill directory in place, without copying or replacing it
  • file: Extract the local tgz package and copy the skill files
  • npm: Resolve the package from the configured registry and copy the skill files from the package or requested subdirectory

npm: reads registry and scoped @scope:registry from .npmrc, and reuses matching auth entries for private registries.