بنقرة واحدة
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.