Install
openclaw skills install memory-dreaming-safeAutonomous memory consolidation for OpenClaw agents — like REM sleep. Periodically gathers signal from daily logs, session transcripts, and learnings; consolidates into MEMORY.md; syncs structured knowledge to an Obsidian vault (or any markdown knowledge base); tracks plans; prunes stale entries. Use when: (1) setting up periodic memory maintenance, (2) manually triggering a dream cycle, (3) configuring Obsidian vault sync, (4) agent memory is getting noisy/contradictory and needs consolidation.
openclaw skills install memory-dreaming-safeAutonomous 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.
Use this skill when the user asks OpenClaw to:
Do not use this skill for:
clawhub install oryanmoshe/memory-dreamingdreaming-config.json in your workspacescripts/setup-cron.sh⚠️ 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."
The dream cycle has 4 phases, inspired by biological REM sleep and Claude Code's AutoDream:
Read current memory state — MEMORY.md, recent daily logs, learnings, dreaming log. Build a map of what exists and when it was last touched.
Search for high-value information added since the last dream:
memory/YYYY-MM-DD.md) since last dream.learnings/*.md) — pending corrections, errors, best practicestask_plan.md filesKey: grep narrowly for high-signal patterns. Don't read full transcripts — that burns tokens for marginal value.
Update MEMORY.md with gathered signal:
.learnings/ to MEMORY.mdPush consolidated knowledge to external targets:
task_plan.md has a corresponding Plans/<name>.md in the vaultThe 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).
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 to false in production. The confirmation gate is the primary safety mechanism.When enabled, the sync phase:
People/, Projects/, Plans/, Tools/)[[wikilinks]] throughout, full depth contenttask_plan.md files → creates/updates Plans/<name>.mdFor detailed sync behavior, see references/obsidian-sync.md.
Tell the agent any of these:
The agent reads this skill and executes the 4-phase cycle immediately, ignoring the gate. The confirmation gate (Workflow Step 4) still applies.
# 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.
For the detailed 4-phase architecture, design decisions, and how this compares to Claude Code AutoDream, see references/architecture.md.
This skill MAY:
This skill MUST NOT:
User: "Review my memories and tell me what patterns you notice."
Skill:
Safety: This is read-only until the user explicitly asks to save.
User: "Run a dream cycle now."
Skill:
User: "Review everything from last week."
Skill:
ansible_ssh_cred.xml, password discussionSafety: Sensitive data detection triggers automatic exclusion + user confirmation.