← Back to Skills Marketplace
dkistenev

Inner Life Dream

by Danila · GitHub ↗ · v1.0.6
cross-platform ⚠ suspicious
601
Downloads
1
Stars
0
Active Installs
7
Versions
Install in OpenClaw
/install 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,...
README (SKILL.md)

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:

  1. Check that memory/inner-state.json exists
  2. 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:

  1. Checks if current time is within quiet hours (default: 11 PM - 7 AM)
  2. Checks if nightly dream limit is reached
  3. Rolls dice based on configured probability
  4. If all pass: returns a random topic and updates state
  5. 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:

  1. Parse the topic (format: category:prompt)
  2. Read emotional state and drive.json for context
  3. Write a thoughtful exploration to memory/dreams/YYYY-MM-DD.md
  4. 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:

  1. Read inner-state.json — what emotions are active? Let them color the dream
  2. Read drive.json seeking — what topics are burning?
  3. Read today's daily notes — what happened?
  4. Check for \x3C!-- 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 \x3C!-- 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

Usage Guidance
This skill appears to do exactly what it claims: the script decides whether a 'dream' should happen and returns a topic; the agent (or other inner-life bundle skills) is expected to read context and write the full dream entry. Before installing, verify you have the required dependency 'inner-life-core' initialized (memory/inner-state.json and memory/dreams/), and confirm where your OPENCLAW_WORKSPACE is pointed (it will create/update data/dream-state.json in that workspace). Review the rest of the openclaw-inner-life bundle (inner-life-core, inner-life-chronicle, inner-life-reflect) to understand who will perform the read/write steps the SKILL.md describes. There are small documentation/metadata mismatches (e.g., the gate script only updates dream-state.json, while SKILL.md also describes later writes to memory files) but those are explainable by the split between the gate script and the agent's follow-up behavior.
Capability Analysis
Type: OpenClaw Skill Name: inner-life-dream Version: 1.0.6 The skill is classified as suspicious due to a prompt injection vulnerability against the AI agent. The `SKILL.md` instructs the agent to generate content based on a `DREAM_TOPIC` which can be sourced from `data/dream-config.json` or `memory/daily-notes/`. If an attacker gains write access to these files, they could inject malicious prompts, potentially coercing the agent into unintended actions or revealing sensitive information during its 'dreaming' process. While the `scripts/should-dream.sh` script itself shows reasonable sanitization for shell execution, the output `TOPIC` is directly used as input for the AI agent's creative generation, posing a significant prompt injection risk.
Capability Assessment
Purpose & Capability
Name/description match what the code and SKILL.md do: the script acts as a gate that occasionally returns a dream topic for the agent to expand into a saved 'dream' entry. Required binaries (jq, python3) are used by the script and are proportional to the task.
Instruction Scope
SKILL.md instructs the agent to read emotional state (inner-state.json), drive.json, daily notes and to write dream entries and update state. The included script only performs the gate logic (checks quiet hours, limits, picks a topic, updates dream-state.json) and does not itself write dream text or modify drive.json/inner-state.json. This separation is reasonable, but users should know the agent (or other skills in the bundle) is expected to perform the read/write steps described in SKILL.md.
Install Mechanism
No install spec; instruction-only with a small bash script — nothing is downloaded or executed from external URLs and no archive extraction is declared.
Credentials
No credentials or secret environment variables are requested. The script optionally uses OPENCLAW_WORKSPACE to locate files, which is a reasonable convenience. Declared read/write paths are local workspace files consistent with the skill's purpose.
Persistence & Privilege
The skill does not request always:true or other elevated persistent privileges. It writes a local state file (data/dream-state.json) in the workspace to track usage, which is expected for this functionality and scoped to the skill's workspace.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install inner-life-dream
  3. After installation, invoke the skill by name or use /inner-life-dream
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.6
- Added a core prerequisites check: ensures `inner-life-core` is initialized before running. - Updated documentation with clear setup instructions and error messages if prerequisites are missing. - No changes to core dreaming logic or output; changes improve reliability and user onboarding.
v1.0.5
- Added explicit file read/write metadata to clarify which files are accessed and modified by the skill. - Bumped version from 1.0.3 to 1.0.4 in SKILL.md. - No functional or behavioral changes to skill usage or integration.
v1.0.4
- Added homepage and source fields to metadata for better project linking. - Updated version from 1.0.2 to 1.0.3. - No functional or behavioral changes; documentation only.
v1.0.3
- Updated required binaries to include Python 3 instead of bc. - No changes to features, usage, or integration—documentation update only.
v1.0.2
inner-life-dream 1.0.2 - Improved the logic in scripts/should-dream.sh for determining when to trigger a dream. - No user-facing documentation changes. - Minor version bump to reflect behavioral updates.
v1.0.1
fix: use metadata.clawdbot
v1.0.0
inner-life-dream 1.0.0 - Introduces creative, freeform exploration for agents during quiet hours, supplementing task-focused routines. - Adds a dreaming mechanism triggered by time, chance, and daily limits. - Dreams cover a range of topics — future, tangents, strategy, creativity, reflection, hypotheticals, and connections. - Thoughtful explorations are captured for later review, including emotional context and key insights. - Highly configurable with settings for dream frequency, content, and integration with agent state. - Requires inner-life-core and works alongside other “inner life” skills.
Metadata
Slug inner-life-dream
Version 1.0.6
License
All-time Installs 0
Active Installs 0
Total Versions 7
Frequently Asked Questions

What is Inner Life Dream?

Your agent only works on tasks and never thinks creatively. inner-life-dream adds freeform exploration during quiet hours — hypotheticals, future scenarios,... It is an AI Agent Skill for Claude Code / OpenClaw, with 601 downloads so far.

How do I install Inner Life Dream?

Run "/install inner-life-dream" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Inner Life Dream free?

Yes, Inner Life Dream is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Inner Life Dream support?

Inner Life Dream is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Inner Life Dream?

It is built and maintained by Danila (@dkistenev); the current version is v1.0.6.

💬 Comments