The last skill clarification (check the shared index store on every
run; fetch if it exists; a write-access user's run creates it there
the first time it's empty) hadn't been reflected in the user-facing
docs, which only described the steady-state case. Also documents the
optional index.ref field, mentioned in the skill schema but missing
from all four docs' examples.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
source.yaml gains an optional index: block declaring where an
already-built index lives (a git repo or a shared resource), so a
user can fetch it instead of scanning the live connector from
scratch. Whether a given user may actually rebuild/publish an index
is now a local, per-user, gitignored source.local.yaml (access:
write|read) that defaults to read-only, letting a team designate one
or two admins per external source instead of everyone redundantly
re-indexing it. ckb-lint's checks against a connector's generated
index now respect the same read/write gate.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
libs/<name>/ now supports a second population mode alongside git-copy
clones: a user-authored source.yaml declares a live external source
(SharePoint, Google Drive, a plain URL, or another connector), and the
new ckb-index-external skill builds a self-contained generated index
for it (index.md/entities/graph/log.md), scoped entirely to that
connector and never blended into the main wiki/.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>