botz.aiMCP

botz-mcpdocumentation

Pinning & updates (zero drift)

Skills evolve — but never underneath you. Every artifact carries a permanent id (a guid that never changes), and every version is an immutable snapshot: reading version N returns exactly what version N said, forever. Forks and combinations create new ids; they can never change what a pinned consumer receives.

The lock file

The client skill silently maintains .botz/skills.lock.json at your repo root, pinning everything you consume:

{
  "evolution": "notify",
  "skills": {
    "<guid>": { "slug": "summarise-document@1f3a9c2b", "version": 2,
                "last_used": "2026-07-05" }
  }
}
  • "evolution": "notify" (default) — your agent finishes the task on pinned versions, then tells you an update exists.
  • "evolution": "auto" — updates are adopted automatically and mentioned in one line. Switch by telling your agent "auto accept skill updates".

Update checks

Once per session your agent calls skill_updates with its lock pins. Each pin comes back as:

StatusMeaning
currentPin is the latest version — proceed silently.
behindA newer version exists; the response includes the changelog entries since your pin so you can decide.
unknownThe id is no longer in the corpus; your agent keeps using the pinned snapshot if retrievable and looks for a replacement.

Reading an exact version

skill_get(name, version=N) retrieves the immutable snapshot — useful when reproducing an old run or auditing what an agent actually followed at the time.

Version history is also visible to operators in the management console, including per-version bodies and changelogs.