Curator
SkillDocs & knowledgeMaintain the nmem knowledge base, a lint pass that hunts contradictions, duplicates, dead references, and expired entries, plus a synthesis pass that reports what changed and what is drifting. Use when the user says "lint my memory", "curate", "整理知识库", "nmem 维护", suspects memories have gone stale, or on a scheduled maintenance run.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Curator skill
What this skill tells your AI
The instructions your AI receives, as published by vaayne/agent-kit in skills/curator/SKILL.md and read by ahel’s review.
Harvest writes; curator keeps it trustworthy. An unmaintained knowledge base rots — contradictions accumulate, duplicates fragment retrieval, and references outlive the things they point to. Two passes, run together or alone.
Lint pass
Routine-tier work: mechanical checks, conservative fixes.
- Scope the window. Find the last curator-run memory (
nmem memories search "curator run"); lint what changed since. First run: sweep everything (nmem memories list,nmem stats). - Duplicates — search topic clusters the window touched; near-identical entries merge into the strongest one (
update), losers getsupersedelinks. - Contradictions — where a newer memory disagrees with an older one, verify which is true now;
deprecatethe loser with the reason recorded, never silently. - Dead references — memories naming files, flags, skills, or commands: verify each still exists (check the repo or filesystem). Update what moved; deprecate what vanished.
- Expired — entries whose stated expiry has passed: re-verify or deprecate. Time-sensitive claims with no expiry get one added now.
- Harvest gaps — list the window's threads (
nmem threads list) and compare against memories added in the same span; a non-trivial session that saved nothing is a harvest miss. Read the thread, save what a future session would need, or confirm there was genuinely nothing to keep. Threads import is manual — a sparse window may mean unsynced, not idle; say so in the report instead of guessing.
Fix verbs, in order of preference: update (correct in place) → supersede (old links to replacement) → deprecate (obsolete, kept for audit) → delete (only for entries wrong from birth). History stays legible.
Synthesis pass
Premium-tier work: judgment across the whole window.
Read the window's memories plus the feed (nmem feed), then write a short report to the user: what entered, what themes are forming, what drifts from earlier decisions, what deserves attention next. This is the pass that surfaces cross-source connections no single entry shows.
Closing a run
End every run by saving one memory: curator run <date> — <n> linted, <fixes>, <one-line synthesis>. That entry is the next run's starting line.
Run manually until the output proves itself; then schedule it (weekly is the right default) via the runtime's scheduler.
Signals
- GitHub stars
- 53
- Forks
- 4
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
curator- Source
- github.com/vaayne/agent-kit