From meta-knowledge-graph
Review the MKG learning queue. Surface learnings awaiting a human decision — ambiguous contradictions and user-scoped candidate facts the automatic gate cannot resolve — walk them one at a time, and apply each decision through the resolver tool.
How this command is triggered — by the user, by Claude, or both
Slash command
/meta-knowledge-graph:mkg-review optional project id; defaults to the current projectThe summary Claude sees in its command listing — used to decide when to auto-load this command
# MKG Review Process the **human-review queue** for the Meta Knowledge Graph. The automatic consistency gate resolves most freshly-extracted learnings on its own, but it deliberately leaves two kinds of item for a person: - **Ambiguous contradictions** — a new project-scoped candidate that genuinely conflicts with existing memory, where the judge could not tell which side is right. - **User-scoped candidate facts** — durable facts about the person that would be folded into the cross-project persona. These are never auto-approved, because an unreviewed fact must not be able to rewr...
Process the human-review queue for the Meta Knowledge Graph. The automatic consistency gate resolves most freshly-extracted learnings on its own, but it deliberately leaves two kinds of item for a person:
Nothing reaches the trusted tier (or the persona) until you approve it here.
Optional argument — a project id to review instead of the current one: $ARGUMENTS
Call project_review_queue (in plugin mode the prefix may be
mcp__plugin_meta-knowledge-graph_meta-knowledge-graph__project_review_queue),
passing project_id only if the user named one in the argument.
count is 0, report that the queue is empty and stop.Present every queued item up front as a compact numbered list, oldest first — one or two lines per item:
user_scoped_candidate and "a conflicting project fact" for
ambiguous_contradiction. Never show the raw reason codes.updated_at ("2 days ago"), not the raw
timestamp.conflicts entry — "clashes with: " — plus the judge's judge_reason when present, so the user sees why
the machine could not decide (e.g. judge: both describe current retrieval;
cannot tell which is live).Then ask for decisions. Offer the choices in plain language and map them to wire actions yourself — the snake_case action names are API vocabulary and must not appear in the conversation:
| Item kind | Offer (plain label → wire action) |
|---|---|
| Fact about the user (no conflict) | "keep it" → approve · "fix the wording" → edit_approve · "discard it" → reject |
| Conflicting project fact | "the new one is right" → keep_new · "the existing one is right" → keep_existing · "both are true" → keep_both · "discard the new one" → reject |
What each choice does (explain when recommending, or on request):
approve) — promote to trusted memory. A user fact becomes
eligible for persona consolidation.edit_approve) — the user supplies or confirms a
rewrite (passed as edited_text), then it is promoted.reject) — drop it from live memory.keep_new) — the candidate wins; the existing
item it clashes with is superseded and retired.keep_existing) — existing memory wins; the
candidate is retired.keep_both) — the two are compatible; keep the candidate
and clear the conflict.Collecting decisions may be batched; deciding for the user may not. The user can answer several items in one message ("keep 1 and 2, discard 3, show me 4 in full") — treat that as N explicit decisions. Never resolve an item the user did not explicitly decide: anything unaddressed stays queued for next time. With three or fewer items, walking them one at a time is fine too. Expand any item to full detail (complete text, both sides of a conflict, confidence, judge reason) whenever the user asks or seems unsure.
Recommend a default when the right call is obvious (e.g. "the new one is right" when the existing item is clearly stale), but let the user decide. These are durable writes.
For each decided item, call project_resolve_learning with its learning_id
and the mapped wire action. Pass edited_text for a rewording. For "the
new/existing one is right" against one specific conflicting item, pass its id
as conflict_id (omit to resolve against all of them). Report one plain-words
line per item — e.g. "#2 kept — now trusted memory" — then continue.
When the queue is drained (or the user stops), give a short summary: how many items were approved, rejected, edited, or merged, and how many remain. If any user-scoped facts were approved, mention that they will be folded into the persona on a later background consolidation once enough have accumulated — no action needed now.
Never approve, reject, or edit memory the user did not decide on, and never use
raw write-cypher to change learning status — always go through
project_resolve_learning so provenance and the contradiction edges stay correct.
npx claudepluginhub p/neo4j-labs-meta-knowledge-graph-plugin2plugins reuse this command
First indexed Jul 18, 2026
/mkg-reviewReview the MKG learning queue. Surface learnings awaiting a human decision — ambiguous contradictions and user-scoped candidate facts the automatic gate cannot resolve — walk them one at a time, and apply each decision through the resolver tool.
/view-queueDisplays the learnings queue with confidence scores, patterns, and relative timestamps for each item.
/memoryManages long-term memories – search, store, forget, link, and review proposals. Supports recall, learn, forget, relate, and propose subcommands.
/memorySearches, loads, and visualizes the knowledge graph of past decisions and session context. Also supports history and status subcommands.
/reviewWalks through accumulated project lessons in .autocontext/lessons.json, allowing approve, edit, delete, supersede, or skip actions per lesson.
/cl-retroInvokes consensus-loop retrospect skill to extract learnings and manage memories for optional track name or all.