/** * Curator — periodic skill consolidation pass (M2 item 4, convergent * across Hermes and MemPalace audits). * * The problem: as the agent learns instincts and graduates them into * skills (and as ECC ships new skills via bundle refresh), the skill * registry accumulates duplicates, stale single-use items, and near- * misses that should be merged. Without periodic curation, /skills * becomes noise and `findEccSkillsForQuery` returns more false-positive * matches. * * Hermes Agent runs an "Autonomous Curator" on a 7-day cron. We ship * the same idea but: * - Manual-only for v1.14 (`/curate`) — no automatic execution * - Report-only: surfaces merge/archive candidates, never mutates * - Pure heuristic: no LLM call (so it works offline and costs $0) * * Heuristics implemented: * - Duplicate name: two skills with identical names (modulo whitespace) * - Trigger overlap ≥70%: likely duplicate * - Single use over 30 days old: stale * - Zero use over 60 days old: probably noise * * Out of scope for v1.14: automatic merging, LLM-based "are these * actually the same thing" calls, skill quality scoring. Add later * if the heuristics turn out to false-positive a lot. */ export interface CuratorFinding { kind: 'duplicate-name' | 'high-overlap' | 'stale-single-use' | 'unused'; primary: string; secondary?: string; reason: string; recommendation: 'archive' | 'merge' | 'review'; } export interface CuratorReport { scannedAt: string; totalSkills: number; findings: CuratorFinding[]; } export declare function runCurator(): CuratorReport;