원클릭으로
rem
REM sleep for Claude sessions — summarize what changed, update memory, crystallize if needed
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
REM sleep for Claude sessions — summarize what changed, update memory, crystallize if needed
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Iterative TDD review→fix loop — each round critiques the codebase, fans out agents to fix findings, reviews the un-fixed and judges why, escalates hard calls to the human, runs the test suite before each commit (escalating on failure), and commits. Use when the user wants to drive a codebase to a clean state over multiple automated review/fix rounds.
Internal skill for presenting Codex image generation output
Internal guidance for presenting fabric MCP tool output back to the user
Post-feature sharp review (锐评) —parallel reviewers, merge findings, sync task list
Personal observability for Claude Code — daily token/cost reports, tool usage, project stats, encrypted multi-device sync
Refresh stale knowledge-base docs, and create/bind new ones. Detects living docs whose doc_source subtrees have drifted (by commits, churn, or age) past their device-local anchor, then incrementally rewrites each — minimal changes, preserving human annotations — and re-anchors to HEAD. Use to bring docs up to date with code, to turn a doc into a bound doc, or after a todo report shows DOC- tasks.
| name | rem |
| description | REM sleep for Claude sessions — summarize what changed, update memory, crystallize if needed |
rem summarizes this session, so it needs live context — offload via fork
(subagent_type: "fork"), not a fresh subagent: the fork inherits the conversation (first-hand
summary) yet keeps prune/prep/stamp/memory-write noise out of the main session.
crystallize.js --check and scope-split.js --check — if either fires, do its interactive
procedure (reference/crystallize.md / scope-split.md) inline before forking.fork for the standard pass (prune → rem-prep → summarize → write
memory → stamp → re-run rem-prep), returning a one-line recap. The fork must not re-fork or
touch crystallize/scope-split.Lightweight (doc-only) sessions are cheap — running inline is fine.
Full conventions — tier promotion rules, frontmatter schema, scoped memory (monorepo),
eviction policy, rules-vs-memory boundary — → reference/memory-conventions.md.
Core scripts the happy-path invokes — full table with all scripts and flags → reference/scripts.md.
prune-memory.js --evict-stale — always run firstrem-prep.js --transcript <path> --promote — batch touch, auto-promote, crystallize checkstamp-memory.js — auto-index new memory filescrystallize.js --check / scope-split.js --check — gated procedures (see below)check-docs.js, task-engine.js, all flags) → reference/scripts.md.claude/.rem-state.json shape (for debugging hook gating) → reference/state-schema.mdreference/crystallize.mdreference/scope-split.mdreference/standard-procedure.mdAlways run this first:
node ${CLAUDE_PLUGIN_ROOT}/scripts/prune-memory.js --evict-stale
This removes >90d stale entries and keeps the index at ≤20 before you add new entries.
Decide depth by checking context:
Check whether crystallize is needed:
node ${CLAUDE_PLUGIN_ROOT}/scripts/crystallize.js --check
Exit 0 = needed, exit 1 = skip. If needed, follow the full user-gated distill procedure in
reference/crystallize.md (propose → classify → user-confirm → distill into .claude/rules/rem/
→ cleanup → check-docs), then continue with the standard REM session below.
Check whether a memory cluster should move into its own child scope:
node ${CLAUDE_PLUGIN_ROOT}/scripts/scope-split.js --check
Exit 0 = a split candidate exists, exit 1 = skip. If a candidate exists, follow the
user-gated procedure in reference/scope-split.md (propose → confirm each split →
execute). Self-disables in flat repos with no internal module boundary. Distinct from crystallize:
a split relocates entries into a nested scope rather than distilling them into rules.
Brief one-sentence summary; usually no memory/rules updates. Run the doc-staleness checks
(check-docs.js, doc-freshness.js) — full checklist → reference/standard-procedure.md § Lightweight.
Short flow (run in the fork): 0. rem-prep.js --transcript "<transcript_path>" --promote
→ 1. summarize (what changed, validation, blockers) → 2. write .claude/memory/YYYY/MM/DD/
entries + stamp-memory.js → 3. update project docs if needed → 4. re-run rem-prep to
catch this session's own memory work.
Full step-by-step walkthrough (what rem-prep does, doc-update judgment, why step 4 exists) →
reference/standard-procedure.md.
If you modified files in OTHER git repos during this session, you MUST also update their .claude/memory/ and .claude/rules/MEMORY.md. Check your transcript — you know which repos you touched.