Skip to content

Git integrations

capa fetches remote capabilities from Git hosts: skills, plugins, rules, hooks, and agent instruction snippets. Public repos need no auth. Private repos use capa auth or the Web UI Integrations flow; tokens live in ~/.capa/capa.db.

The same @ / :: grammar applies on both GitHub and GitLab (and in capabilities.yaml def.repo fields):

FormMeaning
owner/repo@nameRecursive search for a basename (skill dir with SKILL.md, or a file basename for rules/snippets). No slashes on the right-hand side.
owner/repo::path/inside/repoExact path from the repo root. No search.

Pinning (both forms):

  • :tag-or-branch — e.g. @skill:v1.2.0, ::rules/git.md:main
  • #sha — commit SHA, e.g. @skill#abc1234

Resolved commits are recorded in capabilities.lock.

GitHub is the default host. No prefix required.

Terminal window
# Search by skill folder name
capa add vercel-labs/agent-skills@web-researcher
# Exact path
capa add my-org/skills::skills/team-a/web-researcher
# Pin tag or SHA
capa add vercel-labs/agent-skills@web-researcher:v1.2.0
capa add vercel-labs/agent-skills@web-researcher#abc1234
# Tree URL (capa parses branch/tag/SHA)
capa add https://github.com/vercel-labs/agent-skills/tree/v1.2.0/skills/web-researcher
# Plugin
capa add --plugin slackapi/slack-mcp-plugin
capa add --plugin anthropics/claude-plugins-official::plugins/frontend-design
  1. capa auth github.com or Web UI → IntegrationsConnect GitHub
  2. capa add my-org/private-skills@team-helper
  3. capa install

Public repos need no token.

Prefix CLI sources with gitlab:. Nested groups are supported (any number of path segments before the project).

Terminal window
# Search
capa add gitlab:mygroup/myrepo@web-researcher
# Nested groups
capa add gitlab:mygroup/subgroup/skills@data-analyst
# Exact path
capa add gitlab:mygroup/skills::skills/team/web-researcher
# Pin
capa add gitlab:mygroup/myrepo@web-researcher:v1.2.0
# Tree URL
capa add https://gitlab.com/mygroup/myrepo/-/tree/main/skills/web-researcher
# Plugin
capa add --plugin gitlab:acme/platform/team/services/devops-skills:v1.0.1

In YAML, type: gitlab uses def.repo without the gitlab: CLI prefix (group/project@name).

Prefer a full HTTPS URL when the host is not gitlab.com:

Terminal window
capa add https://gitlab.mycompany.com/mygroup/myrepo.git

Or a raw/remote skill URL with type: remote in the capabilities file when you only need a single SKILL.md.

  1. capa auth gitlab.com or Web UI → IntegrationsConnect GitLab
  2. capa add gitlab:my-org/private-skills@team-helper
  3. capa install

Optional PAT alternative:

Terminal window
export GITLAB_TOKEN=glpat-yourtoken
capa add gitlab:mygroup/private-skills@my-skill
ResourceTypical def.repo / CLI
Skillscapa add owner/repo@skill
Pluginscapa add --plugin owner/repo
RulesUsually owner/repo::path/to/rule.md
Agent instructionsSnippets via github / gitlab / local
RegistriesAdapter sources from git or HTTPS
Terminal window
capa auth # default Git provider
capa auth github.com
capa auth gitlab.com

See Credentials and CLI: auth.