Skip to content

Detect skill drift between machines and agents

Run corotum status on a machine to see whether its managed skills match the locked desired state, and corotum diff to see the exact reconciliation plan; with Corotum Cloud, the dashboard shows the same per device and per agent.

Corotum compares three things: the desired state (manifest + lock), what is installed in ~/.agents/skills, and what each enabled agent is exposed to. Differences show up as typed states:

StatusMeaningWhat sync does
SYNCEDMatches the locked revisionNothing
DRIFTEDA managed copy was changed locallyDoes not clobber it
LOCAL_CONFLICTUnmanaged or unproven content is in the wayDoes not overwrite it
PARTIALLY_SYNCEDSome skills or targets failedReports partial, not success
AUTH_REQUIREDThis device can’t read a private sourceKeeps local files
PENDING_PUSHA Git desired-state push is still pendingRefuses new mutations
Terminal window
corotum status
corotum diff

status never contacts upstream. It reports local reconciliation only. diff prints what sync would change. Both are read-only.

For scripts and CI, use JSON:

Terminal window
corotum --json status

The envelope includes schemaVersion, outcome, status, revision, appliedRevision and per-skill classifications. Exit codes are typed: for example 2 for partial success and 3 for conflict.

After each device runs corotum sync, it reports the revision it applied. The dashboard’s Devices page shows per-device and per-target status: pending, behind, partial, drift, error and AUTH_REQUIRED. A device is never shown as SYNCED until it has reported. Over WebMCP, get_sync_status returns the same device-reported status.

There is no remote force-sync. The dashboard shows drift; it does not reach into a machine to change it.

Corotum preserves drift rather than overwriting it. Decide which copy is right:

  • To keep a hand-edited skill outside Corotum: corotum unmanage <skill> (local copies stay).
  • If automatic Cloud sync is on and a conflict persists, run corotum auto disable, then corotum status, corotum diff and corotum sync, then corotum auto enable.

Don’t delete skills just to silence a status error.