| name | inner-life-dream |
| version | 1.0.6 |
| homepage | https://github.com/DKistenev/openclaw-inner-life |
| source | https://github.com/DKistenev/openclaw-inner-life/tree/main/skills/inner-life-dream |
| description | Your agent only works on tasks and never thinks creatively. inner-life-dream adds freeform exploration during quiet hours — hypotheticals, future scenarios, unexpected connections. Like dreaming, but captured for review. |
| metadata | {"clawdbot":{"requires":{"bins":["jq","python3"]},"reads":["memory/inner-state.json","memory/drive.json","data/dream-state.json","data/dream-config.json","memory/daily-notes/"],"writes":["memory/dreams/","data/dream-state.json","memory/inner-state.json","memory/drive.json"]},"agent-discovery":{"triggers":["agent is uncreative","want agent to think freely","agent dreaming","creative exploration for agent","agent only does tasks"],"bundle":"openclaw-inner-life","works-with":["inner-life-core","inner-life-chronicle","inner-life-reflect"]}} |
inner-life-dream
Creative, exploratory thinking during quiet hours.
Requires: inner-life-core
Prerequisites Check
Before using this skill, verify that inner-life-core has been initialized:
- Check that
memory/inner-state.json exists
- Check that
memory/dreams/ directory exists
If either is missing, tell the user: "inner-life-core is not initialized. Install it with clawhub install inner-life-core and run bash skills/inner-life-core/scripts/init.sh." Do not proceed without these files.
What This Solves
Agents work on tasks 24/7 but never think freely. inner-life-dream turns idle time into freeform exploration — hypotheticals, future scenarios, reflections, unexpected connections. Output is captured for later review, like remembering dreams in the morning.
How It Works
The should-dream.sh script acts as a gate:
- Checks if current time is within quiet hours (default: 11 PM - 7 AM)
- Checks if nightly dream limit is reached
- Rolls dice based on configured probability
- If all pass: returns a random topic and updates state
- If any fail: exits non-zero (no dream)
Integration
Add to your cron or heartbeat routine (during quiet hours):
DREAM_TOPIC=$(bash skills/inner-life-dream/scripts/should-dream.sh 2>/dev/null) && echo "DREAM:$DREAM_TOPIC" || echo "NO_DREAM"
If DREAM_TOPIC is set:
- Parse the topic (format:
category:prompt)
- Read emotional state and drive.json for context
- Write a thoughtful exploration to
memory/dreams/YYYY-MM-DD.md
- Keep it genuine — if the well is dry, skip it
Dream Categories
- future — What could this become?
- tangent — Interesting concepts worth exploring
- strategy — Long-term thinking
- creative — Wild ideas, maybe crazy, maybe brilliant
- reflection — Looking back at recent work
- hypothetical — What-if scenarios
- connection — Unexpected links between domains
Writing Dreams
Output to memory/dreams/YYYY-MM-DD.md:
# Dreams — 2026-03-01
## 01:23 — The Future of X (creative)
[Exploration here. Be genuine. Think freely. Make connections.
This isn't a report — it's thinking out loud, captured.]
Key insight: [one sentence]
Guidelines:
- 300-500 words, one key insight
- Timestamp each entry
- Skip if you have nothing worth saying — forced dreams are worthless
- Let emotions color the dream (read inner-state.json first)
State Integration
Before dreaming:
- Read
inner-state.json — what emotions are active? Let them color the dream
- Read
drive.json seeking — what topics are burning?
- Read today's daily notes — what happened?
- Check for
<!-- dream-topic: topic --> signal — if found, dream about it
After dreaming:
5. If found a seeking insight → update drive.json
6. If found something interesting → add to inner-state.json curiosity.recentSparks
7. If the dream connects to something → write <!-- seeking-spark: topic --> in daily notes
Early exit: if no dream-topic AND drive.seeking is empty → abbreviated dream (100-200 words).
Configuration
Edit data/dream-state.json:
- maxDreamsPerNight — cap per night (default: 1)
- dreamChance — probability per check (default: 1.0 = guaranteed)
Custom topics in data/dream-config.json:
{
"topics": [
"future:What could this project become?",
"creative:A wild idea worth exploring"
]
}
When Should You Install This?
Install this skill if:
- Your agent only does tasks and never thinks creatively
- You want your agent to explore ideas during downtime
- You believe in the value of unstructured thinking
- You want captured insights for morning review
Part of the openclaw-inner-life bundle.
Requires: inner-life-core