skills/openclaw-auto-dream/SKILL.md
```markdown --- name: openclaw-auto-dream description: Automatic cognitive memory consolidation for OpenClaw/MyClaw agents — sleep cycles, importance scoring, forgetting curves, knowledge graphs, and health dashboards. triggers: - set up auto-dream memory for my openclaw agent - configure memory consolidation for myclaw - how do I install openclaw auto-dream - my ai agent keeps forgetting things between sessions - set up dream cycles for memory management - how does auto-dream import
npx skillsauth add aradotso/trending-skills skills/openclaw-auto-dreamInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: openclaw-auto-dream
description: Automatic cognitive memory consolidation for OpenClaw/MyClaw agents — sleep cycles, importance scoring, forgetting curves, knowledge graphs, and health dashboards.
triggers:
- set up auto-dream memory for my openclaw agent
- configure memory consolidation for myclaw
- how do I install openclaw auto-dream
- my ai agent keeps forgetting things between sessions
- set up dream cycles for memory management
- how does auto-dream importance scoring work
- export or import memory bundle between myclaw instances
- show me the memory health dashboard
---
# OpenClaw Auto-Dream
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
OpenClaw Auto-Dream is a cognitive memory architecture for [OpenClaw](https://github.com/openclaw/openclaw) agents (as used on [MyClaw.ai](https://myclaw.ai)). It gives your AI agent the ability to periodically "sleep and dream" — scanning raw daily logs, extracting structured knowledge, scoring importance, applying forgetting curves, building a knowledge graph, and surfacing non-obvious insights. The result is an agent that genuinely learns and connects the dots over time rather than accumulating stale, disconnected files.
---
## How It Works
Auto-Dream runs a **three-phase dream cycle** (default: 4 AM daily via cron):
1. **Collect** — Scans unconsolidated daily logs (last 7 days), detects priority markers, extracts decisions/people/facts/projects/lessons/procedures/open threads.
2. **Consolidate** — Routes each insight to one of five memory layers, deduplicates semantically, assigns unique IDs (`mem_NNN`), creates relation links.
3. **Evaluate** — Scores importance, applies forgetting curves, calculates a 5-metric health score, generates insights, writes dream report, sends notification.
### Five Memory Layers
| Layer | Storage | Purpose |
|-------|---------|---------|
| Working | LCM plugin (auto-detected) | Real-time context compression & semantic recall |
| Episodic | `memory/episodes/*.md` | Project narratives, event timelines |
| Long-term | `MEMORY.md` | Facts, decisions, people, milestones, strategy |
| Procedural | `memory/procedures.md` | Workflows, preferences, tool patterns |
| Index | `memory/index.json` | Metadata, scores, relations, health stats |
---
## Installation
### Via ClawHub (Recommended)
Tell your MyClaw agent:
Install the openclaw-auto-dream skill from ClawHub
Or manually inside your OpenClaw agent environment:
```bash
claw skill install openclaw-auto-dream
Clone into your OpenClaw skills directory:
git clone https://github.com/LeoYeAI/openclaw-auto-dream.git \
~/.openclaw/skills/openclaw-auto-dream
Then register the skill with your agent:
claw skill register ~/.openclaw/skills/openclaw-auto-dream
After installation, tell your agent:
Set up auto-dream
The setup wizard will:
memory/ directory structurememory/index.json with default health metricssilent / summary / full)0 4 * * *)Auto-Dream is configured via memory/config.json in your agent's workspace:
{
"dream_schedule": "0 4 * * *",
"notification_level": "summary",
"scan_window_days": 7,
"forgetting": {
"min_age_days": 90,
"importance_threshold": 0.3
},
"scoring": {
"recency_half_life_days": 180,
"permanent_marker": "⚠️ PERMANENT",
"high_marker": "🔥 HIGH",
"pin_marker": "📌 PIN"
},
"layers": {
"working_lcm": true,
"episodic": true,
"long_term": true,
"procedural": true
},
"export": {
"compress": true,
"include_archive": false
}
}
If you need to override config values via the environment (e.g. in CI or multi-instance deployments):
AUTODREAM_SCHEDULE="0 2 * * *" # Override cron schedule
AUTODREAM_NOTIFY_LEVEL="full" # silent | summary | full
AUTODREAM_SCAN_DAYS=14 # Days of logs to scan per cycle
AUTODREAM_FORGET_THRESHOLD=0.25 # Importance below which entries are archived
These phrases trigger built-in Auto-Dream intents inside your OpenClaw agent:
| Phrase | Action |
|--------|--------|
| "Dream now" | Trigger an immediate full dream cycle |
| "Show memory dashboard" | Generate and open the interactive HTML dashboard |
| "What do you remember about [topic]?" | Semantic search across all memory layers |
| "Memory health" | Print current 5-metric health score |
| "Export memory bundle" | Export all layers to memory/export-YYYY-MM-DD.json |
| "Import memory bundle" | Merge an exported bundle into current memory |
| "Export only procedures" | Selective single-layer export |
| "Forget [topic]" | Immediately archive entries matching topic |
| "Pin this" | Mark current context with 📌 PIN (immune to forgetting) |
| "What did you learn last week?" | Show insights from the last 7 dream logs |
Auto-Dream scans your agent's daily log files for special markers during the Collect phase. Use these in any log entry or conversation note:
<!-- important -->
Decided to use Postgres over SQLite for the user DB — scalability concern.
⚠️ PERMANENT
Client prefers all reports in US Letter format, not A4.
🔥 HIGH
The deploy pipeline breaks when NODE_ENV is not explicitly set.
📌 PIN
Weekly sync with Alex every Tuesday at 10 AM.
| Marker | Effect |
|--------|--------|
| <!-- important --> | Extracted and routed to appropriate memory layer |
| ⚠️ PERMANENT | Always scores 1.0 importance; never archived |
| 🔥 HIGH | Base weight doubled during importance scoring |
| 📌 PIN | Immune to forgetting curve; always retained |
Every memory entry is scored on each dream cycle:
importance = (base_weight × recency_factor × reference_boost) / 8.0
Where:
recency_factor = max(0.1, 1.0 - days_since_created / 180)reference_boost = log₂(reference_count + 1)base_weight doubles for 🔥 HIGH entries; ⚠️ PERMANENT always returns 1.0import math
def score_entry(entry: dict, today_date) -> float:
if "⚠️ PERMANENT" in entry.get("markers", []):
return 1.0
days_old = (today_date - entry["created_at"]).days
recency = max(0.1, 1.0 - days_old / 180)
refs = entry.get("reference_count", 0)
ref_boost = math.log2(refs + 1) if refs > 0 else 1.0
base = entry.get("base_weight", 1.0)
if "🔥 HIGH" in entry.get("markers", []):
base *= 2.0
return min(1.0, (base * recency * ref_boost) / 8.0)
Entries are never deleted — only gracefully archived:
def should_archive(entry: dict, today_date) -> bool:
# Immune markers
immune = {"⚠️ PERMANENT", "📌 PIN"}
if immune & set(entry.get("markers", [])):
return False
days_unreferenced = (today_date - entry["last_referenced"]).days
importance = entry["importance_score"]
return days_unreferenced > 90 and importance < 0.3
def archive_entry(entry: dict):
summary = f"[{entry['id']}] {entry['title']} — {entry['one_line_summary']}"
append_to_file("memory/archive.md", summary)
entry["status"] = "archived"
# Original ID preserved for relation tracking
health = (
freshness × 0.25 +
coverage × 0.25 +
coherence × 0.20 +
efficiency × 0.15 +
reachability× 0.15
) × 100
| Metric | Definition |
|--------|-----------|
| Freshness | % of entries referenced in the last 30 days |
| Coverage | % of knowledge categories updated in the last 14 days |
| Coherence | % of entries with at least one relation link |
| Efficiency | Inversely proportional to MEMORY.md line count (penalises bloat) |
| Reachability | Knowledge graph connectivity via union-find across entry relations |
Check health anytime:
"Memory health"
→ 🩺 Health: 79/100
Freshness: 0.81 Coverage: 0.74 Coherence: 0.68
Efficiency: 0.91 Reachability: 0.72
⚠️ Coherence declining — consider linking isolated entries
Export from one MyClaw instance:
"Export memory bundle"
→ Saved: memory/export-2026-03-28.json (142 entries, 3 layers)
The export format:
{
"version": "4.0",
"exported_at": "2026-03-28T06:00:00Z",
"source_instance": "myclaw-instance-abc123",
"layers": {
"long_term": [ /* entries */ ],
"procedural": [ /* entries */ ],
"episodic": [ /* entries */ ]
},
"index": { /* metadata + scores */ }
}
Import on another instance (newer entry wins on conflict):
"Import memory bundle"
→ Upload or paste path to export JSON
→ Merging 142 entries... 138 new, 4 conflicts resolved (newer wins)
→ Pre-import backup saved to memory/pre-import-backup-2026-03-28.json
Selective export:
"Export only procedures"
→ Saved: memory/export-procedures-2026-03-28.json (23 entries)
After setup, your agent workspace will contain:
workspace/
├── MEMORY.md # Long-term memory layer (human-readable)
├── memory/
│ ├── config.json # Auto-Dream configuration
│ ├── index.json # Entry metadata, scores, relations, health
│ ├── procedures.md # Procedural memory layer
│ ├── archive.md # Archived (forgotten) entries — one-liners
│ ├── dream-log.md # Appended report after each cycle
│ ├── dashboard.html # Generated interactive dashboard
│ ├── episodes/
│ │ ├── project-alpha.md
│ │ └── onboarding-2026-01.md
│ └── exports/
│ └── export-2026-03-28.json
└── logs/
├── daily-2026-03-28.md # Raw daily logs (scanned by Auto-Dream)
└── daily-2026-03-27.md
Generate the zero-dependency HTML dashboard:
"Show memory dashboard"
→ Generated: memory/dashboard.html
The dashboard includes:
Open it in any browser — no server required, all data embedded inline.
After each cycle, a report is appended to memory/dream-log.md:
## Dream Cycle — 2026-03-28T04:00:12Z
**Health:** 82/100 (↑3 from last cycle)
**Entries:** +5 new · ~3 updated · -1 archived
**Duration:** 14.2s
### New Memories
- mem_087: Decided to migrate auth to Clerk (episodic + long-term)
- mem_088: Alex prefers async updates over meetings (long-term)
### Archived
- mem_034: [compressed] Early Stripe test key config — 2025-09-01
### Insights
1. Project Beta's scope decisions mirror what caused delays in Project Alpha — pattern detected.
2. Strategic decisions cluster on Mondays — likely tied to weekly planning sessions.
3. No lessons recorded for last 3 completed projects — retrospective habit may be slipping.
### Suggestions
- Link mem_072 (auth strategy) ↔ mem_087 (Clerk migration) — high semantic overlap
- mem_091 unreferenced for 78 days — consider pinning or letting it expire
Configure in memory/config.json or tell your agent "Set notifications to [level]":
| Level | What You Receive |
|-------|-----------------|
| silent | Nothing pushed — logged to dream-log.md only |
| summary | 🌀 Health: 82/100 \| +5 new, ~3 updated, -1 archived \| 💡 Top insight |
| full | Complete dream report with all sections pushed to your chat channel |
Push is delivered to whichever channel your MyClaw agent is connected to (Telegram, Discord, Slack, WhatsApp, etc.).
# Check cron is registered
crontab -l | grep autodream
# Run a manual cycle and watch output
claw skill run openclaw-auto-dream --trigger dream --verbose
# Check for log errors
tail -50 ~/.openclaw/logs/skills.log | grep auto-dream
memory/index.json is corrupted or missing"Rebuild memory index"
→ Scans all memory layer files and regenerates index.json from scratch
→ Note: reference counts and relation links will be reset
Common causes and fixes:
| Symptom | Cause | Fix |
|---------|-------|-----|
| Coherence < 0.5 | Many unlinked entries | "Link related memories" — agent will suggest and apply links |
| Freshness < 0.5 | Old entries not being referenced | "What do you remember about X?" — queries boost reference counts |
| Efficiency < 0.5 | MEMORY.md has grown too large | "Compress long-term memory" — consolidates verbose entries |
| Reachability < 0.5 | Isolated knowledge clusters | Check dream insights — they will flag disconnected subgraphs |
"Check working memory status"
→ ⚠️ LCM plugin not found — Working layer disabled
→ Install with: claw plugin install lcm
→ Then: claw skill reconfigure openclaw-auto-dream
This is a bug — ⚠️ PERMANENT entries should never be archived. Force a fix:
# In your agent workspace
claw skill run openclaw-auto-dream --repair-permanent-markers
Add to your agent's daily log template in memory/procedures.md:
## Decision Template
When recording a decision, always include:
🔥 HIGH
Decision: [what was decided]
Rationale: [why]
Alternatives considered: [what else was evaluated]
"Dream now, then show me everything you remember about Project Alpha"
"Memory health"
"What's stale?"
"Link related memories"
"Dream now"
# On work instance
"Export only procedures"
# Copy memory/export-procedures-2026-03-28.json to personal instance
# On personal instance
"Import memory bundle"
# Select the procedures export — workflows sync across instances
development
```markdown --- name: compose-performance-skills description: Install and use the skydoves/compose-performance-skills agent skill library to diagnose and fix Jetpack Compose performance issues including stability, recomposition, lazy layouts, modifiers, side effects, and build configuration. triggers: - "my composable recomposes too often" - "LazyColumn drops frames during scroll" - "diagnose Compose stability issues" - "fix unnecessary recomposition in Jetpack Compose" - "optimize Com
development
Headless iOS Simulator manager with host-side HID input injection, 60fps streaming, and device farm web UI for iOS 26
development
```markdown --- name: claude-code-game-studios description: Turn Claude Code into a full 49-agent game dev studio with 72 workflow skills, automated hooks, and a real studio hierarchy for Godot, Unity, and Unreal projects. triggers: - "set up claude code game studios" - "use ai agents for game development" - "set up game dev studio with claude" - "add game studio agents to my project" - "how do I use claude code for game dev" - "set up godot unity unreal ai workflow" - "49 agents g
development
```markdown --- name: xq-py-quantum-vm description: Python implementation of the Quip Network's quantum virtual machine (xqvm) triggers: - quantum virtual machine python - xqvm quip network - quantum circuit simulation python - xq-py quantum vm - quip network quantum python - simulate quantum gates python - quantum vm xqvm - xqvm-py quantum circuit --- # xq-py Quantum Virtual Machine > Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection. `xqvm-py` is a Python impl