Skip to content

Source formats

AgentSkills CLI accepts a wide range of input shapes. Detection is order-sensitive - the first rule that matches wins.

Input shapeSource typeNotes
./foo, /abs/path, ., .., C:\…Local folderResolved absolute path
owner/repo[/subpath][#ref][@skill]GitHub shorthandMost common
https://github.com/owner/repo[/tree/<ref>/<path>]GitHub URLURL form, same destination
github:owner/repoGitHub prefixExplicit
https://gitlab.com/group/[subgroup/]repo[/-/tree/<ref>/<path>]GitLabSubgroups supported
gitlab:group/repoGitLab prefixExplicit
git@host:org/repo.git or https://host/org/repo.gitArbitrary git URLAny git host
PackageId[@version] (with a . in the id, no slash)NuGet shorthandAuto-detected
nuget:PackageId[@version]NuGet prefixExplicit; required for IDs without a .
@scope/name[@version]npm scoped shorthandAuto-detected from leading @
npm:<id>[@version]npm prefixRequired for unscoped npm names
https://example.com/… (non-git host)Well-known endpointProbes /.well-known/agent-skills/index.json

The conventional layouts

Most of the time, sources just work because they follow one of the conventional layouts AgentSkills CLI probes first:

  • NuGet: contentFiles/any/any/skills/<name>/SKILL.md
  • npm: package/skills/<name>/SKILL.md (tarball roots at package/)
  • git / local: any of the priority directories: skills/, .agents/skills/, .claude/skills/, .cursor/skills/, .codex/skills/, … (full list in source-discovery code)

When a source doesn't follow the convention, AgentSkills CLI falls back to a recursive scan up to 5 levels deep, skipping node_modules, .git, dist, build, __pycache__.

When that's still not enough (skills live deeper than 5 levels, or you want to restrict discovery to a specific subdirectory), use the --path flag.

Auth

All auth is read from the ecosystem's own config files - AgentSkills CLI doesn't introduce any new auth surface.

Source typeAuth source
GitHub / GitLab / gitWhatever your local git is configured with (SSH key, git-credential-manager, etc.)
NuGetNuGet.Config (machine + user + project) and any installed credential providers
npm~/.npmrc and project .npmrc (default registry, scoped registries, _authToken, _auth, ${ENV_VAR} expansion)
Well-knownNone typically (HTTPS); if you need auth, run an HTTPS endpoint that handles it

If dotnet restore works against your NuGet feed, agentskills-cli add <pkg> works against the same feed. Same for npm install and npm packages.

Released under the MIT License.