Versions & integrity

Pin, sync, detect drift

STH treats your skills like dependencies: an exact version per resource, safe writes and a clear view of what has drifted locally.

$ sth status --json
[
  { "resourceName": "react/form-wizard", "status": "up-to-date", "pinned": "v2.1.0" },
  { "resourceName": "skills/analyse-risque", "status": "outdated" },
  { "resourceName": "agents/reviewer", "status": "modified-locally" }
]

What you can do

Per-resource pinning

Lock react/form-wizard to a specific version while other skills follow main. No version monorepo to manage.

Atomic writes

Advisory locks and atomic writes: no corruption, even if two processes run in parallel.

Drift detection

sth status flags each resource — up-to-date, outdated or modified-locally — with a file-by-file diff.

Versioned project state

Every managed file is tracked in the project state, enabling clean, reproducible updates and removals.

Frequently asked questions

What happens if I edit a managed file?
sth status marks it 'modified-locally' and lists the affected files, so nothing is overwritten by surprise.
Can I freeze one version while updating the rest?
Yes. Pinning is per resource: one skill can stay pinned while the others follow the branch.
Can two simultaneous runs corrupt files?
No. Advisory locks and atomic writes guarantee integrity even in parallel.
Report a bug