Lockfile Format
skills.lock records the exact source and commit for installed skills.
Shape
{
"docs": {
"commit": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
"repo": "https://github.com/example/agent-docs.git",
"skill": "docs"
}
}Purpose
- Reproduce installs across machines.
- Show exactly which commit is installed.
- Preserve repo URLs for list/show/upgrade.
- Preserve the exact source published/fallback skill when a multi-skill repo is installed interactively.
Behavior
kt installcreates or updatesskills.lockonly after a repo fetch and content copy succeeds.kt upgradeupdates commits after successful fetch/checkout.kt uninstallandkt removeremove lock entries.kt listflags entries not present inskills.jsonasorphaned.
For locally discovered skills, Ktesio records a zero commit (0000000000000000000000000000000000000000) because there is no remote commit to lock.
The optional skill field is omitted for installs where the dependency name and source published skill name are the same.