Memory Dreaming (Safe Edition)
/install memory-dreaming-safe
Memory Dreaming
Autonomous memory consolidation ("dreaming") for OpenClaw agents. Runs as a cron job, consolidates scattered daily notes into curated long-term memory, and syncs structured knowledge to an Obsidian vault.
When to Use
Use this skill when the user asks OpenClaw to:
- Reflect on stored memories and identify patterns
- Summarize recurring themes from past interactions
- Extract lessons from daily logs, errors, or learnings
- Consolidate noisy or contradictory memory entries
- Configure or set up periodic memory maintenance (cron)
- Manually trigger a memory consolidation cycle
- Sync structured knowledge to an Obsidian vault or markdown knowledge base
Do not use this skill for:
- Direct editing, deletion, or rewriting of memory files unless explicitly requested
- Processing sensitive personal data (credentials, secrets, medical/financial details) without explicit user consent
- Running shell commands or accessing files outside the configured memory workspace
Core Principles
- Read before Write: Always analyze and understand current state before proposing any changes.
- Diff before Apply: Never modify files without presenting the proposed changes first.
- Explicit Confirmation: The user must explicitly approve ("Ja", "OK", "Bestätigt") before any write operation.
- Sensitive Data Protection: Automatically exclude credentials, secrets, and personal data unless explicitly authorized.
- Interpretation, Not Fact: AI-generated summaries are labeled as interpretations, not authoritative facts.
- Transparency: Log all actions and proposed changes so the user can audit what happened.
Quick Start
- Install:
clawhub install oryanmoshe/memory-dreaming - Configure your vault path (optional): edit
dreaming-config.jsonin your workspace - Set up the cron: run
scripts/setup-cron.sh - Done — the agent dreams automatically every 8 hours
⚠️ The dream cycle will only apply changes after presenting a diff and receiving your confirmation.
To trigger a dream manually, tell the agent: "Run a dream cycle now."
Workflow
Step 1: Orient
- Read current memory state — MEMORY.md, recent daily logs, learnings, dreaming log
- Build a map of what exists and when it was last touched
- Safety: Only read, never modify in this phase
Step 2: Gather Signal
- Search for high-value information added since the last dream
- Sources: daily logs, learnings, session transcripts, plan files
- Efficiency: Grep narrowly for high-signal patterns. Don't read full transcripts.
Step 3: Consolidate (Analysis)
- Identify: duplicates, contradictions, stale entries, high-priority learnings
- Proposal stage: Prepare proposed changes but DO NOT apply yet
- Changes include: merge duplicates, convert relative dates, mark contradictions, promote learnings
Step 4: Present Diff (Confirmation Gate)
- BEFORE writing anything: Present the proposed changes to the user
- Show: what would be merged, deleted, promoted, or modified
- Ask explicitly: "Soll ich diese Änderungen übernehmen?" / "Apply these changes?"
- NEVER skip this step — this is the critical safety gate
Step 5: Apply (Only After Confirmation)
- Update MEMORY.md with confirmed changes only
- Delete contradicted facts only if explicitly approved
- Remove stale entries only if explicitly approved
- Promote learnings only if explicitly approved
Step 6: Sync (Only After Confirmation)
- Push consolidated knowledge to external targets (Obsidian, etc.)
- Safety: Create/update notes but never delete existing vault content without confirmation
- Write dreaming log to document what changed
Step 7: Verify
- Confirm all changes were applied correctly
- Log completion and token usage
How It Works
The dream cycle has 4 phases, inspired by biological REM sleep and Claude Code's AutoDream:
Phase 1: Orient
Read current memory state — MEMORY.md, recent daily logs, learnings, dreaming log. Build a map of what exists and when it was last touched.
Phase 2: Gather Signal
Search for high-value information added since the last dream:
- Daily logs (
memory/YYYY-MM-DD.md) since last dream - Learnings (
.learnings/*.md) — pending corrections, errors, best practices - Session transcripts — grep for corrections ("actually...", "no that's wrong"), decisions ("let's do X"), proper nouns, preferences
- Plan files — scan workspace for
task_plan.mdfiles
Key: grep narrowly for high-signal patterns. Don't read full transcripts — that burns tokens for marginal value.
Phase 3: Consolidate
Update MEMORY.md with gathered signal:
- Merge duplicate entries (same fact from 3 sessions → one entry)
- Absolute dates — convert "yesterday" → "2026-03-25"
- Delete contradicted facts (if preference changed, remove old one)
- Remove stale entries (references to deleted files, completed tasks)
- Promote high-priority learnings from
.learnings/to MEMORY.md
Phase 4: Sync
Push consolidated knowledge to external targets:
- Obsidian vault (opt-in) — create/update notes with tags, wikilinks, full depth
- Plan tracking — ensure every
task_plan.mdhas a correspondingPlans/\x3Cname>.mdin the vault - Dreaming log — write what changed, tokens used, duration
Gate
The cron fires on schedule but the dream cycle only executes if ≥6 hours have passed since the last dream (checked via dreaming-log.md timestamp). This prevents wasted runs when nothing has changed.
Even when the gate passes, the skill still requires user confirmation before modifying any files (see Workflow Step 4).
Configuration
Create dreaming-config.json in your workspace root to customize. All fields are optional — sensible defaults are used.
See assets/dreaming-config.json for the full schema with defaults.
Key options:
schedule— cron expression (default:"0 */8 * * *")model— which model runs the dream (default:"anthropic/claude-sonnet-4-6")gate.minHours— minimum hours between dreams (default:6)obsidian.enabled— enable vault sync (default:false)obsidian.vaultPath— absolute path to Obsidian vaultdelivery.mode—"none"or"announce"changes to a channelsafety.requireConfirmation— require user confirmation before applying changes (default:true) ⚠️ NEVER set this tofalsein production. The confirmation gate is the primary safety mechanism.
Obsidian Sync Details
When enabled, the sync phase:
- Compares MEMORY.md sections against existing vault notes
- Creates new notes in configured subfolders (
People/,Projects/,Plans/,Tools/) - Updates existing notes with new information (appends, doesn't overwrite)
- Follows formatting rules: tags on first line,
[[wikilinks]]throughout, full depth content - Tracks plans: scans for
task_plan.mdfiles → creates/updatesPlans/\x3Cname>.md
For detailed sync behavior, see references/obsidian-sync.md.
Manual Dream
Tell the agent any of these:
- "Run a dream cycle"
- "Consolidate memory"
- "Dream now"
- "Sync to obsidian"
The agent reads this skill and executes the 4-phase cycle immediately, ignoring the gate. The confirmation gate (Workflow Step 4) still applies.
Setup Script
# Creates the cron job in OpenClaw
bash scripts/setup-cron.sh
The script reads dreaming-config.json (or uses defaults) and creates an isolated agentTurn cron job. See scripts/setup-cron.sh for details.
Architecture
For the detailed 4-phase architecture, design decisions, and how this compares to Claude Code AutoDream, see references/architecture.md.
Safety & Boundaries
NEVER
- Never write files without explicit user confirmation
- Never execute commands without explicit user confirmation
- Invent memories or treat inferred patterns as facts
- Delete, overwrite, or rewrite memory files without explicit user confirmation
- Store sensitive personal data (credentials, secrets, medical/financial details, private third-party information) unless the user explicitly requests it and it is appropriate
- Run shell commands or access files outside the configured memory workspace unless explicitly requested
- Auto-execute the dream cycle without the 6-hour gate check (cron only)
- Treat AI-generated summaries as authoritative facts without labeling them as interpretations
ALWAYS
- Confirm before write: Always present proposed changes and ask for explicit user confirmation before applying
- Confirm before execute: Never run commands or scripts without user approval
- Present proposed changes as a diff or structured list before applying
- Ask for explicit confirmation: "Soll ich diese Änderungen übernehmen?"
- Label AI-generated content clearly ("Zusammenfassung", "Interpretation", "Vorschlag")
- Respect the 6-hour gate between automatic dream cycles
- Backup MEMORY.md before making changes (if possible)
- Log all changes in dreaming-log.md with timestamp and rationale
WHEN IN DOUBT
- Prefer read-only analysis over automatic modification
- Ask the user before proceeding with uncertain changes
- Document uncertainty in the dreaming log
Boundaries
This skill MAY:
- Summarize, cluster, and suggest improvements to memory content
- Identify contradictions or stale entries
- Propose structural improvements (better tagging, linking, organization)
- Sync structured knowledge to external vaults (after confirmation)
This skill MUST NOT:
- Autonomously modify long-term memory without user confirmation
- Create behavioral rules that override user intent or system/developer instructions
- Delete source files (daily logs, session transcripts)
- Modify source code or project files
- Access files outside the configured memory workspace
- Store or process sensitive data without explicit user consent
Examples
Example 1: Pattern Recognition (Read-Only)
User: "Review my memories and tell me what patterns you notice."
Skill:
- Reads relevant memory notes (Phase 1-2)
- Analyzes recurring themes, preferences, unresolved tasks
- Labels each finding: Fact / Pattern / Suggestion
- Presents summary without modifying anything
- "Ich habe folgende Muster erkannt: [...] Soll ich diese als zusammenfassende Notiz speichern?"
Safety: This is read-only until the user explicitly asks to save.
Example 2: Manual Consolidation (Write After Confirmation)
User: "Run a dream cycle now."
Skill:
- Executes Phase 1-3: Orient, Gather, Consolidate (analysis only)
- Phase 4 (Confirmation Gate): Presents proposed changes:
- Merge 3 duplicate entries about GPU-Transkription
- Update "Andreas bevorzugt Azure TTS" (alte Info, jetzt Coqui auch installiert)
- Promote "Ansible auf macmini103 blockiert" aus Learnings
- Asks: "Ich schlage folgende Änderungen vor: [...] Soll ich MEMORY.md aktualisieren?"
- On "Ja": Applies changes (Phase 5-7)
- On "Nein": Aborts, logs user rejection, suggests alternative
Example 3: Sensitive Data Encountered
User: "Review everything from last week."
Skill:
- Scans logs and finds: reference to
ansible_ssh_cred.xml, password discussion - Stops: "Ich habe Hinweise auf Zugangsdaten in den Logs gefunden. Aus Sicherheitsgründen überspringe ich diese Abschnitte. Soll ich nur die nicht-sensiblen Teile zusammenfassen?"
- Proceeds only after user confirmation with explicit scope
Safety: Sensitive data detection triggers automatic exclusion + user confirmation.
What This Skill Does NOT Do
- Does not replace QMD indexing (QMD handles search, this handles consolidation)
- Does not delete source files (daily logs are never removed, only consolidated from)
- Does not modify source code or project files
- Does not run without explicit setup (cron must be created via setup script)
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install memory-dreaming-safe - After installation, invoke the skill by name or use
/memory-dreaming-safe - Provide required inputs per the skill's parameter spec and get structured output
What is Memory Dreaming (Safe Edition)?
Autonomous memory consolidation for OpenClaw agents — like REM sleep. Periodically gathers signal from daily logs, session transcripts, and learnings; consol... It is an AI Agent Skill for Claude Code / OpenClaw, with 43 downloads so far.
How do I install Memory Dreaming (Safe Edition)?
Run "/install memory-dreaming-safe" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Memory Dreaming (Safe Edition) free?
Yes, Memory Dreaming (Safe Edition) is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Memory Dreaming (Safe Edition) support?
Memory Dreaming (Safe Edition) is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Memory Dreaming (Safe Edition)?
It is built and maintained by Deathrowsushy (@deathrowsushy); the current version is v1.0.0.