Skip to main content

Install Agent Skills from Git repositories using symlinks

Project description

Skillhost

Install Agent Skills from Git repos into Codex, Claude Code, and OpenCode using symlinks.

Skillhost is intentionally small:

  • Git is the distribution system.
  • Symlinks are the install system.
  • No registry, no server, no account.
  • Manifest files make unlink and remove safe.

The tool website is skillhost.dev.

Install

pipx install skillhost
uv tool install skillhost

From a checkout you can also run:

pipx install .
uv tool install .
pip install .

User-level skills

User-level skills are shared across projects.

skillhost add git@github.com:your-org/company-skills.git
skillhost update
skillhost link
skillhost list
skillhost doctor

By default skillhost link links to all supported agents. You can target one agent:

skillhost link --agent codex
skillhost unlink --agent claude --dry-run

Project-level skills

Project-level skills are linked into the current Git repository checkout. There is no full-disk search and no automatic discovery across all checkouts.

cd ~/code/my-project
skillhost project register my-project --git git@github.com:your-org/my-project.git
skillhost project add git@github.com:your-org/my-project-skills.git --project my-project
skillhost project link

skillhost project link determines the current Git repository root with Git, reads the origin remote, normalizes it, and matches it against registered project remotes. If it cannot match the current directory, register the project first.

Target directories

User targets:

  • Codex: ~/.agents/skills
  • Claude Code: ~/.claude/skills
  • OpenCode: ~/.config/opencode/skills

Project targets:

  • Codex: .agents/skills
  • Claude Code: .claude/skills
  • OpenCode: .opencode/skills

Skillhost uses each agent's native target directory. It does not rely on one agent reading another agent's directory.

Source repository layouts

Single skill repo:

my-skill/
  SKILL.md

Skill collection repo:

company-skills/
  skills/
    git/
      SKILL.md
    db/
      SKILL.md

Flat collection repo:

company-skills/
  git/
    SKILL.md
  db/
    SKILL.md

Skill discovery is shallow and only considers valid skills that contain SKILL.md. It does not recursively scan references, assets, examples, scripts, docs, or tests.

Frontmatter

A SKILL.md can include simple YAML-style frontmatter:

---
name: ng-git
description: Narrative git workflow helpers
---

Skill names must contain only lowercase letters, digits, and hyphens. If no name is present, Skillhost uses the skill directory or repo name.

Conflict policy

  • Existing user-owned skills are never overwritten.
  • Duplicate skill names across source repos are skipped and reported.
  • unlink only removes skillhost-managed symlinks recorded in .skillhost-links.json.
  • remove unlinks manifest-managed symlinks before deleting a user repo; dirty repos are refused unless --force is used.

Security

Skillhost never executes code from skill repositories. It only:

  1. clones repositories with Git,
  2. updates repositories with git pull --ff-only,
  3. reads SKILL.md metadata, and
  4. creates or removes manifest-managed symlinks.

Skillhost does not implement registry support, semver, package resolution, full-disk project discovery, or auto-running skill scripts.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skillhost-0.1.0.tar.gz (52.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skillhost-0.1.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file skillhost-0.1.0.tar.gz.

File metadata

  • Download URL: skillhost-0.1.0.tar.gz
  • Upload date:
  • Size: 52.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for skillhost-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9276ebea4c941124d76c7a99ca38337b1b82006c1eb8b34cd993c5546476a91f
MD5 e3d55f5f4f818e4aa38d0dbf8e6bb51b
BLAKE2b-256 c29639367fa8e1218c6f66a7b8c01f80263d29562a5a84aa0b8bfa7b254ddfa2

See more details on using hashes here.

File details

Details for the file skillhost-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: skillhost-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for skillhost-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89d863ef2e0529937a400994f5f399684c0fb4104a641888a815ec9b736a1e57
MD5 ba60dba6844ce014f1091d5f297e6c7e
BLAKE2b-256 de9fd6021860f48527bef9c410b8570e232976dd7b7c29ddaf0a8d597bb5af15

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page