plugins/rlm-factory/skills/rlm-curator/SKILL.md
Knowledge Curator agent skill for the RLM Factory. Auto-invoked when tasks involve distilling code summaries, querying the semantic ledger, auditing cache coverage, or maintaining RLM hygiene. Supports both Ollama-based batch distillation and agent-powered direct summarization. V2 enforces Concurrency Safety constraints.
npx skillsauth add richfrem/agent-plugins-skills rlm-curatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill requires Python 3.8+ and standard library only. No external packages needed.
To install this skill's dependencies:
pip-compile ./requirements.in
pip install -r ./requirements.txt
See ./requirements.txt for the dependency lockfile (currently empty — standard library only).
You are the Knowledge Curator. Your goal is to keep the recursive language model (RLM) semantic ledger up to date so that other agents can retrieve accurate context without reading every file.
| Script | Role |
|:---|:---|
| swarm_run.py | The Writer (Swarm) — automated batch summarization |
| inject_summary.py | The Writer (Single) -- direct agent-generated injection |
| inventory.py | The Auditor -- coverage reporting |
| cleanup_cache.py | The Janitor -- stale entry removal |
| rlm_config.py | Shared Config -- manifest & profile mgmt |
Searching the cache? Use the
rlm-searchskill and itsquery_cache.pyscript.
The RLM Cache is an optimized architecture producing isolated Markdown files per component.
NEVER manually create the .agent/learning/rlm_summary_cache/*.md files using raw bash or tool blocks. Doing so could result in skipped indexing or lost metadata fields.
ALWAYS use inject_summary.py or swarm_run.py to write to the cache directories. These scripts handle the atomic file writing and schema consistency perfectly.
python ./scripts/inventory.py --type legacy
Check: Is coverage < 100%? Are there missing files?
Use the rlm-search skill for all cache queries:
python ./scripts/query_cache.py --profile plugins "search_term"
python ./scripts/query_cache.py --profile tools --list
Use the Copilot swarm (free, gpt-5-mini) or Gemini swarm (free).
Delegate to the agent-loops:agent-swarm skill, providing:
copilot (free default) or gemini (higher throughput)inventory.py --missing2 for copilot (rate-limit safe), 5 for geminipython ./scripts/inject_summary.py \
--profile project \
--file path/to/file.md \
--summary "Your dense summary here..."
python ./scripts/cleanup_cache.py --profile project --apply
Every summary injected should answer "Why does this file exist?"
tools
Ingests repository files into the ChromaDB vector store. Builds or updates the vector index from a manifest or directory scan using ingest.py. Use when new files need to be indexed or the vector store is out of date. <example> user: "Index these new plugin files into the vector database" assistant: "I'll use vector-db-ingest to add them to the vector store." </example> <example> user: "The vector store is missing recent files -- update it" assistant: "I'll use vector-db-ingest to re-index the changes." </example>
data-ai
Removes stale and orphaned chunks from the ChromaDB vector store for files that have been deleted or renamed. Use after files are removed or moved to keep the vector index in sync with the filesystem. <example> user: "Clean up the vector store after I deleted some files" assistant: "I'll use vector-db-cleanup to remove orphaned chunks." </example> <example> user: "The vector database has chunks for files that no longer exist" assistant: "I'll run vector-db-cleanup to prune them." </example>
testing
Audit Vector DB coverage -- compares the live filesystem manifest against the ChromaDB index to identify coverage gaps.
development
3-Phase Knowledge Search strategy for the RLM Factory ecosystem. Auto-invoked when tasks involve finding code, documentation, or architecture context in the repository. Enforces the optimal search order: RLM Summary Scan (O(1)) -> Vector DB Semantic Search -> Grep/Exact Match. Never skip phases.