Built-in Skills¶
Seven skills are installed into every enabled repo, marked provenance: agent-memory-builtin
and tool-managed (overwritten on upgrade — fork or upstream
to customize). They sort along the judgment-vs-arithmetic boundary: the deterministic
moves are mechanized; the judgment stays with the agent.
| Skill | Side of the boundary |
|---|---|
memory-lint |
arithmetic — read-only |
refresh-metadata |
arithmetic |
archive-fact |
arithmetic |
sync-adapters |
arithmetic |
harvest-knowledge |
judgment-assisted |
second-opinion |
judgment-assisted |
apply-critique |
judgment-assisted |
A hello-world demo skill also ships in the tool's own repo but is not installed into
targets.
memory-lint¶
The deterministic integrity verifier the review ritual relies on. Ships in both Python and Node at output parity, so it runs on a node-only box too. Nine checks:
- duplicate facts (
[both]) - over-archived (
[over-archived]) - overdue archival (
[overdue]) - dangling supersession links (
[dangling]) - date-only session filenames (
[date-only-session]) - empty/malformed version manifest (
[version-manifest]) - leftover VCS merge-conflict markers (
[conflict-marker]) - review cadence + size (
[review-overdue]/[continuity-bloat]) - stale metadata — stored tier ≠ recomputed tier (
[stale-metadata])
python agent-skills/memory-lint/scripts/memory-lint.py # or
node agent-skills/memory-lint/scripts/memory-lint.mjs
Read-only — it verifies, it never mutates. Errors fail CI; advisories warn.
refresh-metadata¶
Executes the review's deterministic re-tier (REVIEW.md steps 2–3): recomputes every fact's
last_used / uses / tier from the ## Memory References across memory/sessions/ and
writes the footers back (read into memory, write once). Pure arithmetic — core / superseded
and never-referenced facts are untouched; it clamps at archive-candidate (it never
archives — that's archive-fact plus the agent's judgment); pinned threads keep their tier.
Python or Node, --dry-run, idempotent.
archive-fact¶
Performs the archive move safely, given fact id(s) the agent has decided to retire. It
extracts each block (bullet through its footer), appends it to the quarter archive +
INDEX.md, and rewrites continuity.md without it — reading the whole file into memory and
writing once, so truncation is structurally impossible. Guards (refuse, exit 1): id with
no footer, id already archived, or a move that would empty continuity. All-or-nothing;
--dry-run to preview. It never decides what to archive (never-pick-a-winner).
sync-adapters¶
Regenerates the six vendor adapters from each neutral SKILL.md, pruning orphaned generated
adapters (signature-guarded — never deletes a hand-authored file). Ships in bash, Node, and
Python at byte-identical output parity; the bash runtime needs no install and is preferred.
harvest-knowledge¶
Re-scans the repo's human-authored documentation (recursive docs/ trees + a root sweep for
ADRs, decision logs, design specs, roadmaps) and distils durable facts into the neutral
memory/ layer additively: map-don't-mirror, check-existing-first (a re-run never
duplicates), conflicts → a Contradiction thread, genuine replacements → supersession. Scoped
incrementally by a last_harvest marker. Not a vendor /init — the output goes to memory/,
never a vendor steering file.
second-opinion¶
Distils a compact snapshot from continuity.md + recent session logs (never a parallel
state file) and, behind a security advisory you must acknowledge, hands it to a reviewer
with clean memory — a fresh session or a different vendor that didn't live the work. The
reviewer is a hypothesis generator, not an authority.
apply-critique¶
Feeds a returned critique through a bounded, validated, human-gated loop: a few scoped
fixes → build/tests + memory-lint → an applied-vs-rejected summary. Deterministic checks and
a human gate the result — the lesson baked in after a clean-context reviewer once over-archived
still-referenced facts.
Zero overhead by default
Installed ≠ run. The built-ins sit in agent-skills/ until an agent's task matches one's
description (or you invoke it explicitly).