This skill should be used when the user says "reflect on patterns", "update self-model", "what have you learned about me", "self-reflection", or any request to review behavioral tendencies, update known patterns, or explicitly trigger a self-model review. Runs on-demand and complements the automatic every-5-consolidations trigger.
Review consolidation history, surface behavioral patterns, and propose updates to the self-model — with a preview step before anything is applied. You choose what gets written.
/memesis:reflect
/memesis:reflect --sessions 20
--sessions N controls how many recent sessions to analyze (default: 10).
Self-reflection runs in two phases. Nothing is written until you approve it.
SelfReflector.reflect() to analyze the consolidation log against the current self-model. This reads history and calls the LLM but does not write anything.observations and deprecated), report that and stop. No approval step needed.After rendering the preview, ask:
"Apply these changes? Reply
all,none, or a space-separated list of numbers (e.g.1 3) to apply only specific findings."
Parse the user's response:
all — build a reflection dict with all findings and call apply_reflection()none — discard, confirm nothing was applied1 3) — build a reflection dict containing only the selected items and call apply_reflection()After applying, confirm what changed: how many new observations were added, how many tendencies were marked deprecated, and the memory ID of the updated self-model.
Format each finding as a numbered item so users can reference them by number in their approval response.
New patterns use this format:
[N] NEW PATTERN — <tendency name>
Trigger: <trigger description>
Correction: <suggested correction>
Confidence: <0.0–1.0>
Evidence: <supporting evidence from consolidation history>
Deprecations use this format:
[N] DEPRECATE — <tendency name>
Reason: no longer observed in recent consolidation history
import os, sys
sys.path.insert(0, "${CLAUDE_PLUGIN_ROOT}")
from core.database import init_db
from core.self_reflection import SelfReflector
init_db(project_context=os.getcwd())
session_count = 10 # or parse from --sessions flag
reflector = SelfReflector()
findings = reflector.reflect(session_count=session_count)
observations = findings.get("observations", [])
deprecated = findings.get("deprecated", [])
if not observations and not deprecated:
print("No new patterns found in recent consolidation history. Self-model is up to date.")