A single binary
No Node, no Python, no Docker. Download the Go executable for Windows, macOS or Linux and you're ready.
STH connects a Git repository to your project and synchronises AI skills, agents and prompts. A single binary, no stored secrets, multi-provider.
Why STH
Without STH, every developer copy-pastes prompts between projects, forgets updates, and stores tokens anywhere. With STH, your skills live in a versioned Git repository, and each project pulls the exact version that suits it — like a package manager, but for your AI skills.
The platform
STH covers the whole lifecycle of your AI skills — from distribution to governance.
Features
No Node, no Python, no Docker. Download the Go executable for Windows, macOS or Linux and you're ready.
GitHub, GitLab, Azure DevOps, Bitbucket. Same tool, same flow, no matter where your skills repo lives.
STH persists no keys. Tokens are read from your environment variables, just like git or gh would.
An ASCII mascot that changes its expression based on your project's state. `sth buddy --watch` keeps an eye on your files live.
Advisory locks and atomic writes: no corruption, even if two processes run in parallel.
Lock a skill to a specific version while the others auto-update.
How it works
`sth init` opens a guided wizard: provider choice, repo ID, branch, catalogue path. No config file to edit by hand.
`sth list` shows the remote catalogue. `sth install react/form-wizard` downloads the bundle into `.claude/skills/` with `--dry-run` available.
`sth update` aligns everything with the repository. `sth status --json` reports the state of each resource. `sth buddy --watch` shows it visually.
Dive into the CLI
Every command was designed for a specific use case: preview without installing, detect local changes, track state in CI, or stay synced live.
With --dry-run, sth install lists files that would be created, modified or overwritten — without touching the disk.
$ sth install react/form-wizard --dry-run
[create] .claude/skills/react/form-wizard/SKILL.md
[create] .claude/skills/react/form-wizard/templates/page.tsx
[create] .claude/skills/react/form-wizard/templates/form.tsx
3 files would be written. Aucune modification disque.sth status --json returns a machine-readable state: up-to-date, outdated, modified-locally or unknown-baseline. Perfect for your pipelines.
$ sth status --json
[
{ "resourceName": "react/form-wizard", "status": "up-to-date" },
{ "resourceName": "skills/analyse-risque", "status": "outdated",
"installedVersion": "a1b2c3d4", "latestVersion": "e5f6g7h8" },
{ "resourceName": "agents/reviewer", "status": "modified-locally",
"modifiedFiles": ["agents/reviewer/SKILL.md"] }
]sth buddy --watch monitors .sth/ and the target directory with fsnotify. Buddy changes expression as soon as a file moves.
$ sth buddy --watch
💧
╭─────╮
│ >/< │
╰─────╯
Tout est à jour.
[fsnotify] .claude/skills/agents/reviewer/SKILL.md modifié…
⚠️
│ o.O │
Mise à jour disponible.Pin react/form-wizard on a specific commit while other skills follow main. No version monorepo to manage.
$ cat .claude/skills/sth-state.json
{
"entries": [
{ "resourceName": "react/form-wizard",
"providerID": "production-skills",
"pinned": true,
"pinnedVersion": "v2.1.0" },
{ "resourceName": "skills/analyse-risque",
"providerID": "production-skills",
"pinned": false }
]
}For whom
You have 8 developers pasting the same prompts into .claude/skills/. STH turns your « ai-resources » repo into a single source of truth — every dev runs sth update and works with the same version.
Each client project has its own skills repo. STH manages multiple providers in parallel: a GitHub PAT for client A, a GitLab PAT for client B. Configs live in each project, not globally.
Your skills hold internal rules. With STH, the repo is private, tokens live in the environment, and sth status detects whether a developer locally modified a managed file.
Supported providers
STH talks directly to the APIs of major Git hosts. No proxy, no third-party service between you and your code.
STH vs alternatives
Honest comparison with the serious options on the market — no straw man to make STH look good.
| Feature | STH | Plugin Marketplace (native Claude) | skillshare (open source) | Git submodules |
|---|---|---|---|---|
| Full multi-provider Git (GitHub, GitLab, Azure DevOps, Bitbucket) | partial | |||
| Selective install per resource | ||||
| Pinned versions per skill | partial | partial | ||
| Local-modification detection | partial | |||
| Machine-readable status for CI (--json) | partial | |||
| Real-time watch mode | partial | |||
| Multi-tenant (one PAT per project, several clients in parallel) | partial | |||
| Single binary, no runtime to install | built-in | |||
| No secrets stored on disk | ||||
STH Code
Open source · coming soonSTH Code will bring Claude, Codex, Copilot, Git review and local history into one app. The code will be released under the MIT license when the first version is ready.
Discover STH CodeSTH Cloud
Invite-only AlphaConnect an organization only when you want to publish a private package, synchronize your team or share a library resource. Access and quotas remain enforced by the service.
See pricingHosted private catalogs, the organization library and remote MCP extend STH Code without replacing your Git repository or local data.
For the post-Alpha
These features land with the paid plans after the Alpha. A peek at what's coming.
Manage several organisations from a single account. Handy for agencies, multi-client freelancers and holdings.
Fleet policies, audit export, delegation, SSO/SCIM and retention for organizations that need to govern usage at scale.
FAQ
The Starter plan is free, no credit card required. Configure a repo in under two minutes.