From remember
Processes unprocessed Claude Code sessions into a Second Brain knowledge base by building a knowledge index, classifying content, resolving entities with wikilinks, and applying user routing rules.
How this skill is triggered — by the user, by Claude, or both
Slash command
/remember:processThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reads unprocessed Claude Code transcripts and routes valuable content into your Second Brain using a knowledge-aware pipeline.
Reads unprocessed Claude Code transcripts and routes valuable content into your Second Brain using a knowledge-aware pipeline.
Only use Bash for running Node.js scripts. Use Read/Write/Edit/Glob/Grep for all file operations.
session_date < file_last_modified → OLD SESSION (append only, no replace, no frontmatter update). Otherwise → normal update.[[wikilinks]], prevent duplicates.$REMEMBER_BRAIN_PATH env var (fallback ~/remember). Call this {brain}./remember:init and stop.node ${CLAUDE_PLUGIN_ROOT}/scripts/build-index.jsRead REMEMBER.md (cascading): {brain}/REMEMBER.md (global) + {project_root}/REMEMBER.md (project, if exists). These override default routing, capture rules, templates, and custom types.
Run once to get last-modified dates for all brain files:
cd {brain} && git log --format="%ai" --name-only --diff-filter=ACMR HEAD | paste - - | sort -k2 -u
Parse into a lookup map: file_path → last_modified_date. Use this in Step 4c instead of per-file git log calls.
node ${CLAUDE_PLUGIN_ROOT}/scripts/extract.js --unprocessed
Optional filters: --project <name>, --source openclaw|claude-code.
Show the list. Ask user which to process: All, specific sessions by number, or Skip.
node ${CLAUDE_PLUGIN_ROOT}/scripts/extract.js <file_path>
Use the **Session date (use for journal/tasks):** line as SESSION_DATE for everything. Never use today's date.
Read @reference.md for routing tables, templates, and classification rules.
Resolve every name, project, topic against the knowledge index. Fuzzy match: "John", "john smith", "John S." → People/john-smith.md.
Apply REMEMBER.md rules first (Always/Never/Routing overrides/Custom Types), then fall through to default classification in reference.md. Skip: routine code generation, debugging noise, tool call chatter.
Before creating L2 files, append a section for this session into {brain}/Journal/{SESSION_DATE}.md (create if missing — type: experience frontmatter). Include the verbatim quote(s) you intend to cite as evidence on any belief/world-fact files you'll create. The journal entry's path becomes the canonical evidence.source for everything you create from this session.
Never invent a chat/..., session/..., or transcript/... path that doesn't exist on disk. The journal IS the source.
Once classified to a folder/file by 4b, also tag with one of: world-fact, belief, observation, experience.
Apply the same heuristics as the remember skill (or call scripts/schema.js detectType for the same logic):
This skill MUST emit type: in the frontmatter of every newly created L2 file. For beliefs, confidence is REQUIRED. For all L2 files, include at least one evidence entry (source + quote + SESSION_DATE).
This skill does NOT trigger consolidation, reflection, or promotion. Those are the responsibility of /remember:evolve (Phase 2).
After every Write/Edit on a brain file in this skill (steps 4c/4d), run:
node ${CLAUDE_PLUGIN_ROOT}/scripts/schema.js validate <filepath>
Output {changed, addedFields, addedSections, warnings}. Surface any warnings in the final report. Skip on Inbox/Tasks/Archive (validator returns passthrough). Aim to emit complete frontmatter on first write so the validator is a no-op.
Before creating a new Notes/<slug>.md, check for an existing similar belief/world-fact:
node ${CLAUDE_PLUGIN_ROOT}/scripts/append-evidence.js find-similar {brain} <slug> <belief|world-fact>
No match → create new (Step 4a).
Match returned → run the polarity check below before deciding which command to use.
Read the existing file (body + evidence:). Decide which of three branches applies:
Same direction (re-affirms existing claim) → append positive evidence:
node ${CLAUDE_PLUGIN_ROOT}/scripts/append-evidence.js append <filepath> '{"source":"Journal/<SESSION_DATE>.md","quote":"<verbatim>","date":"<SESSION_DATE>"}'
Increments sources_count, appends to evidence:, refuses duplicate sources.
Opposite direction (contradicts existing claim) → append counter-evidence + log:
node ${CLAUDE_PLUGIN_ROOT}/scripts/append-evidence.js append-counter <filepath> '{"source":"Journal/<SESSION_DATE>.md","quote":"<verbatim>","date":"<SESSION_DATE>"}'
node ${CLAUDE_PLUGIN_ROOT}/scripts/evolution-log.js CONTRADICT "<filepath> counter from Journal/<SESSION_DATE>.md"
Appends to counter_evidence:, leaves sources_count alone, auto-flips freshness: contradicted when counter entries exceed positive ones.
Unrelated (fuzzy match was wrong) → ignore the find-similar match and create a new note via Step 4a.
In bulk processing, mention the polarity decision in the per-session report so the user can spot mistakes (e.g. "3 positive, 1 contradicted (Notes/pref-postgres.md)").
Use Edit for surgical updates. Do NOT rewrite whole files.
Chronology check: Look up the file in the batch chronology map (Step 1c).
session_date < file_last_modified → OLD SESSION: append only, insert chronologically in logs, don't replace sections, don't update frontmatterupdated: fieldSee reference.md for per-type update patterns and chronology examples.
When in doubt: Append. Duplicate context is better than lost information.
Check REMEMBER.md ## Templates first, then fall back to reference.md templates. Use [[wikilinks]] everywhere.
Analyze session for: user corrections, stated preferences, repeated workflows, communication style, decision criteria, code style. Read current Persona.md first. Add evidence with [{SESSION_DATE}] prefix. Skip if no clear patterns.
node ${CLAUDE_PLUGIN_ROOT}/scripts/extract.js --source <source> --mark-processed <session_id>
After all sessions in this batch have been processed, run promote.js a single time so Persona.md ## Top Beliefs reflects everything that just landed:
node ${CLAUDE_PLUGIN_ROOT}/scripts/promote.js
Bulk extraction often pushes many beliefs over the threshold at once — surface the deltas (promoted/demoted) in the report below.
Report: list created files, updated files (note if append-only), skipped files, session dates, remaining unprocessed count, and the auto-promote delta (promoted/demoted Top Beliefs). See reference.md for report template.
npx claudepluginhub remember-md/rememberCaptures conversational knowledge to Second Brain on 'remember this', 'save this', or 'brain dump' triggers. Journals verbatim quotes, classifies epistemic types, and updates structured markdown files.
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.
Scans session transcripts for save-worthy signals (corrections, preferences, decisions) and writes auto-memory files with valid frontmatter. Proposes then confirms before writing.