Skip to content
Docs中文GitHub
SKIVA HANDBOOK/ Getting started

Versions, snapshots, and delivery

Understand the six objects that determine who receives an update.

On this pageSix core objectsWhy snapshots existProfiles control visibilityDynamic and pinned modesChannel generation

Six core objects

ObjectResponsibilityExample
RepositoryGit source and synchronization configurationTeam Skills repository
Skill VersionImmutable content of one SkillUpdated sql-query instructions
Release SnapshotComplete set of Skill versionsNew A + existing B + existing C
ChannelMutable pointer to a snapshotcanary, stable
Agent ProfileChannel, allowed Skills, mode, offline policyEngineering test assistant
Mount ClientIndependent endpoint identity and credentialsAn Agent on a build machine

Why snapshots exist

An Agent can use multiple Skills. A snapshot fixes their version combination for reproducibility and whole-set rollback. Identical sets can be deduplicated; snapshot content cannot be edited after creation.

To update, create a snapshot and change the channel pointer. Old snapshots remain readable without the Git remote being online.

Profiles control visibility

A channel supplies a version set. A Profile authorizes selected Skills from it. Clients can read only authorized files; selecting a Skill absent from the channel snapshot does not make it appear.

A useful starting point is a test Profile following canary and a production Profile following stable. They may authorize different Skills.

Dynamic and pinned modes

ModeUpdate behaviorSuitable use
dynamicRefreshes the index after channel updates; new opens use the new versionLong-running interactive assistants
pinnedRetains its bound snapshot until explicit repinTasks requiring stable versions

Existing open handles retain old content. Dynamic mode does not guarantee the same snapshot across multiple opens within one long task; use pinned for that requirement.

Channel generation

Every successful promotion or rollback increments generation. This prevents two administrators from overwriting each other's release. On a conflict, refresh and review current differences before retrying.