Canonical file: Documents/Projects/admin/scheduled-tasks/SKILL-VERSIONING.md. This page mirrors it.
The version number is not the fix. A machine-readable marker (frontmatter) + one writer + a hash check is the fix.
---
name: daily-briefing
version: 10.1.0
updated: 2026-06-13
canonical: Documents/Claude/Scheduled/daily-briefing/SKILL.md
source_of_truth: notion://<page-id>
sha256: <hash of body below frontmatter>
---
Changelog stays at the bottom as the human story, not the version source.
In sync only if body sha256 matches. Stale if version/updated is behind canonical. Never trust the number alone.
One row per skill: canonical_path, source_of_truth, current_version, sha256, updated, mirrors[]. Current = highest version, ties by updated, canonical_path is authority. Mirrors are read-only generated copies.
Edit only the canonical copy. All other copies are generated, never hand-edited.
.bak-YYYY-MM-DD-pre-<change>). 3. Bump version, set updated, recompute sha256. 4. Add changelog line. 5. Update registry.json row. 6. Resync mirrors (overwrite, not merge).Guard on a schedule (fold into the daily run): hash each mirror vs canonical. Purely behind: auto-overwrite + log. Body diverged (second writer): do NOT auto-heal, flag with a diff for Sam, port unique facts, then overwrite. Log result to run report or QA queue.