Skills: one copy, served by the board
A skill is instructions every agent follows, so a second installed copy
that drifts is a review run with last week's rules (board #2477, #115). The
board holds the one copy. What a machine installs is a stub with no
logic: it runs virta skill run <name>, which prints the current text and
writes the skill's files where the text says they are.
- A skill is a Library entry,
type:skillwithskill:<name>. Its body is the skill's text followed by its files, so the text and the script it runs are always one version, with the board's history and diffs. - Writes are restricted, and the host proves it. A version counts only
when the host stamped it as written by a person signed in on the board,
or by a token the owner named on the entry (
custodian:<token id>, a tag that itself counts only when added by a signed-in person). Anything else is kept, shown as ignored, and never served. - Each run says what it ran: the version, and what changed since this
repo last ran it (
ran:<project>@<n>on the entry is that record). - A project can pin a version (
pin:<project>@<n>): a release in progress finishes on the version it started with, and each run says it is pinned and how far behind. - Offline, the CLI answers from its replica and says so.
virta skill publish pre-release-review ./SKILL.md ./review.workflow.js --note "the docs lens joins pre-minor"
virta skill install pre-release-review # writes the stub into ~/.claude/skills
virta skill run pre-release-review # what the stub runs: the current text, its files, what changed
virta skill pin pre-release-review # this repo stays on the current version
virta skill unpin pre-release-review
virta skill list
In the text, {{skill-dir}} is where this machine holds the skill's files.