From rag-rat
Use when asked to review, triage, or resolve rag-rat "dream" findings — the memory-maintenance worklist the `dream` tool produces. Walks the open findings and, per kind, either fixes the underlying memory / coverage gap (which resolves the finding at the root) or records an accept / dismiss verdict with `dream_review`. Triggers: "dream review", "resolve dream findings", "triage the dream worklist", "go through pending dream findings".
How this skill is triggered — by the user, by Claude, or both
Slash command
/rag-rat:dream-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The **`dream`** tool surfaces findings **about** the repo's memories and load-bearing code. It never
The dream tool surfaces findings about the repo's memories and load-bearing code. It never
mutates a memory — the deterministic passes and the optional model propose; a reviewer
decides. This skill is that reviewer loop: for each open finding, investigate with the rag-rat
MCP tools, then resolve it — preferring a root fix (repair the memory / close the coverage gap,
so the finding resolves on its own next run) over a bare verdict.
Drive the whole loop through the rag-rat MCP tools — dream and dream_review for the worklist,
and semantic_search / symbol_lookup / impact_surface / find_callers / git_history_for_symbol
/ memory_search / read_chunk to investigate — not grep, and not the rag-rat CLI (an agent has
the MCP but may not have the binary on PATH). It is a batch chore meant to run a few times a day, not
continuously.
index_status. If it reports drift, call heal_index to
repair already-indexed files. (Discovering brand-new files and re-embedding is a CLI/cron job —
rag-rat index --discover then rag-rat reconcile — outside this MCP loop; if findings look
empty, that's the thing to ask a human to run.)dream tool is deterministic-only. It recomputes coverage_gap + stale_reference on
every call and surfaces any memory_divergence / memory_unverifiable findings a prior model
run persisted — but it does not run the model itself. Generating fresh model findings is the
CLI/cron rag-rat dream --verify --compact pass (it provisions a GPU and takes minutes, so it
never runs from a tool call). If the divergence findings look stale, that CLI pass is what refreshes
them.Call dream — no args needed (limit caps the number of coverage_gap findings, default 20).
It returns findings[], each { id, kind, subject, evidence, rank, status }. Work highest rank
first (rank decays with age). The id (a short hex; a unique prefix also works) is what you pass
to dream_review.
Call dream with { "all": true } to additionally list already-accepted / dismissed findings
— use it to find one to reset.
For every finding: investigate first, then act. Prefer the root fix; fall back to a verdict. All
verdicts go through dream_review with { "finding": "<id>", "verdict": "accept" | "dismiss" | "reset" }.
coverage_gap — subject = "path::symbol"A load-bearing symbol (many callers) with no memory binding.
impact_surface / important_symbols (personalize on the symbol) /
git_history_for_symbol — is there a durable, non-obvious invariant, decision, or footgun here?memory_create an Invariant/Decision/Risk bound to that symbol
(bind.id = its sym_… handle, or bind.path). The gap closes automatically on the next dream
call (the binding now exists) — no verdict needed.dream_review with
verdict: "dismiss".stale_reference — subject = <memory id>, evidence lists the unresolved path(s)A memory body references a .rs path that no longer resolves against the index.
memory_show with its id. Locate where the path went: semantic_search /
symbol_lookup on the moved code.memory_update the body to the new path, and/or memory_rebind
to re-anchor. The finding resolves once the reference is valid again. If the memory is genuinely
stale, memory_mark_obsolete.dream_review with verdict: "dismiss".memory_unverifiable — subject = <memory id>Decided deterministically: the memory's bindings are all gone/absent and none of its identifiers resolve anywhere in the whole-tree index.
memory_show). Does the code it describes still exist under a new name?memory_rebind; or if it's obsolete, memory_mark_obsolete.dream_review with verdict: "dismiss".memory_divergence — subject = <memory id>, evidence = the model's cited pack linesThe model judged the memory to have drifted from current code. The model is ~71–76% accurate — verify before acting.
memory_show, impact_surface, read_chunk). Is
the note actually wrong about current code?memory_update to correct it (or memory_mark_obsolete). The
divergence finding drops once the stored verdict flips current on a re-check, or the body edit
self-invalidates the old verdict.dream_review with verdict: "accept".dream_review with verdict: "dismiss".Each is a dream_review call, { "finding": "<id>", "verdict": … }:
verdict | Meaning |
|---|---|
accept | Real, acknowledged (action pending) — leaves the open worklist. |
dismiss | False positive / won't-fix — hidden from the worklist. |
reset | Undo a prior verdict, back to open. |
open/accepted/dismissed findings are reviewable; a resolved/superseded one is not.Call dream again and repeat until findings[] is empty (or only accepted/dismissed remain under
{ "all": true }). If your fixes created new memories, a fresh call may open follow-on findings —
one more pass usually converges.
dismiss. Dismissing a real issue just hides it.memory_create it (that also closes coverage_gap findings).npx claudepluginhub cq27-dev/rag-rat --plugin rag-ratConsolidates memory files by pruning stale entries, merging duplicates, resolving contradictions, and rebuilding the MEMORY.md index. Use when memory files have accumulated over many sessions.
Consolidates, prunes, and reorganizes Claude Code auto memory files. Fixes format drift, deduplicates facts, enforces MEMORY.md index structure. Use when memory feels stale or cluttered.
Consolidates Claude Code's auto-memory across sessions using a four-phase cycle (Orient, Gather Signal, Consolidate, Prune Index) with seven operators. Activates via session hooks or manual `/dream` command.