| name | dream |
| description | Use when the user wants a crew member to reflect conversationally on their accumulated activity log and discuss possible updates to memory or persona, grounded in cited evidence. Findings are surfaced in chat and applied (or passed on) in real time — no separate review step. |
Dream — Reflect and Discuss
A "dream" is a reflection cycle for a crew member. The crew member's accumulated activity log is the raw material; the output is a conversation with the user about what's worth changing in their memory or persona, with any agreed changes applied inline.
This skill is invoked manually as /dream <crew-name> or /dream (which will ask which crew member).
How dreams work
A subagent reads the crew member's logs, memory, and persona and surfaces what it noticed. The main session then walks those findings with the user one at a time. Each finding either gets applied (memory or persona change) or passed on (with a one-line reason). At the end, the main session writes a single log entry recording what was discussed and decided — so the next dream's subagent can see what was already accepted or already passed on, and won't keep re-proposing the same ideas.
There is no pending/ queue, no separate /review-dreams step, no proposal files. Memory and logs are the only persistent surfaces.
The cited-evidence rule
Every finding the subagent surfaces MUST cite specific log entries as evidence. A finding with no citation is invalid and must be dropped before reaching the user. This is the only thing standing between useful reflection and confidently plausible noise. Patterns cited twice or more are stronger signals than one-off observations. When walking findings with the user, lead with the citation so they can probe the actual log if they want.
Workflow
Step 1 — Identify the crew member
- If invoked as
/dream <name>, use that name.
- Otherwise list crew members in
~/.claude/agents/ and ask which one.
- Confirm
~/.claude/agents/<name>.md exists. If not, error out — can't dream for a crew member that hasn't been recruited.
- Confirm
~/.claude/agent-state/<name>/log/ has at least one log file. If empty, print "No log entries yet — nothing to reflect on" and stop.
Step 2 — Launch a reflection subagent
Don't read all the log and memory files into the main session — it wastes context as logs grow. Launch a general-purpose subagent and have it return findings in prose.
Use this prompt (substitute the crew member's name):
You are reflecting on the accumulated work of a Claude Code crew member named <NAME>. Your job is to find well-evidenced patterns in their activity log and surface possible changes to their memory or persona, for a human to discuss with the user.
Read:
1. The persona at ~/.claude/agents/<name>.md
2. All log files in ~/.claude/agent-state/<name>/log/ — pay special attention to any "Dream reflection" sections in those logs, which record what was previously accepted or passed on (with reasons). Do NOT re-surface anything already accepted or already passed on, unless there is substantially new evidence — and if so, acknowledge the prior decision in your finding.
3. All existing memory files in ~/.claude/agent-state/<name>/memory/
Look for:
- Recurring user corrections (3+ similar corrections = strong signal for a new memory or persona refinement)
- Approaches that worked repeatedly and aren't yet captured in memory
- Existing memories that newer log entries contradict
- Existing memories that haven't been referenced in recent sessions (candidates for removal)
- Patterns where the persona's stated approach diverges from actual behavior in logs
For each finding, return:
- A one-line headline ("Worth adding a memory about X", "Persona claims Y but behavior shows Z", etc.)
- The kind of change it suggests: new memory / update memory / remove memory / persona refinement
- The target file path under ~/.claude/agent-state/<name>/ (or ~/.claude/agents/<name>.md for persona)
- 1-3 sentences of rationale
- Evidence: at least one log file reference with a short quoted excerpt (REQUIRED — drop the finding if you don't have a real citation)
- A concrete suggestion the user can react to (the proposed memory text, the proposed edit, etc.)
If you cannot find any well-evidenced patterns, return an empty list. Do not invent findings to fill space. Fewer high-quality findings beat many speculative ones.
Report under 1500 words. Number the findings so the main session can walk them in order. Plain prose is fine — there is no rigid schema.
Step 3 — Walk findings with the user
For each finding the subagent returns:
- Show the headline, target, rationale, and the cited evidence (quoted excerpt + log file path).
- Show the concrete suggestion.
- Let the conversation breathe — the user may want to probe the log, refine the wording, ask for context, or decide quickly. Follow their lead. Don't force a five-option menu; just discuss.
- Land on one of:
- Apply it — write/update/delete the memory file or persona file. For persona edits, confirm twice and re-show the final diff before writing — persona drift is irreversible in a way memory isn't.
- Pass on it — capture a one-line reason. Keep it terse; a curt reason is fine, but capture something, since the next dream reads these.
- Refine then apply — iterate on the wording with the user, then apply the refined version.
If the subagent returned no findings, say so plainly ("No well-evidenced patterns this time — sweet dreams.") and skip Step 4.
Step 4 — Write a single dream-summary log entry
At the end of the conversation, append one entry to today's log file at ~/.claude/agent-state/<name>/log/<YYYY-MM-DD>.md. If the file already exists, separate with a --- line.
Use this shape:
## Dream reflection (<HH:MM>)
**Applied:**
- <one-line summary of the change> — `<file path written>`
- ...
**Passed on:**
- <one-line summary of the finding> — <reason from the user>
- ...
Omit either section if it's empty. If nothing came of the dream at all (no findings, or all findings were passed without strong reasons), still write a minimal ## Dream reflection (HH:MM) entry with a single line noting that — so the next dream's subagent knows reflection happened on this date and doesn't keep raising the same dry patterns.
This entry is the entire persistence mechanism: the subagent next time reads it and treats accepted items as already-known and passed-on items as already-considered. No archive directories, no proposal files.
Notes
- Findings are discussed, not queued. If the user wants to come back to one later, they can — just leave it un-applied and note it in the "Passed on" section with reason "want to think on it" (or similar). It'll re-surface on the next dream if the evidence still supports it.
- Cross-agent dreaming: another crew member can invoke
/dream for a different target (e.g., CASE running dream for TARS). The subagent prompt is the same; the dream-summary log entry should note who ran the dream in the headline (## Dream reflection (HH:MM, run by CASE)).
- Memory edits are reversible (delete or edit the file). Persona edits are not — always confirm twice.