feat: add dreaming skill and Agent Canvas automation catalog entry#397
Open
carenthomas wants to merge 4 commits into
Open
feat: add dreaming skill and Agent Canvas automation catalog entry#397carenthomas wants to merge 4 commits into
carenthomas wants to merge 4 commits into
Conversation
Reshape the skill from cursor-swept conversations to pinned-conversation mode for the MVP: the user names a conversation, the setup flow resolves it to an id from local conversation metadata, and each run reflects over whatever is new in that one conversation (already-reflected messages are deduplicated, so quiet runs are no-ops). Automations register as 'Dreaming: "<conversation>" -> <owner>/<repo>'. Every snippet is a single chained invocation (the automation shell runs one command per call), and the CLI pin moves to 0.1.3 (repo-scoped lock + release fix).
neubig
reviewed
Jul 13, 2026
neubig
left a comment
Member
There was a problem hiding this comment.
Thanks for sharing this!
On high-level suggestion -- instead of having the dreaming agent focus on a single conversation, it'd be great if it could focus on all of the conversations that were done since the last time the automation ran, which would make it possible for the agent to update memory, e.g. every week with all of the new information that was obtained over the past week. Would something like that be possible?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Coding sessions are full of durable knowledge - corrections the user gives, conventions discovered the hard way, environment quirks - that evaporates when the conversation ends. Dreaming captures it automatically: Letta reflects over a chosen local Agent Canvas conversation on a schedule and proposes what it learns as
AGENTS.mdpull requests, so every future session starts smarter.Summary
skills/dreaming/skill (/dreaming:setup): the user names a conversation, the setup flow resolves it to a conversation id from local conversation metadata, and a cron automation is registered asDreaming: "<conversation>" -> <owner>/<repo>. Each run reflects over whatever is new in that conversation; already-reflected messages are deduplicated, so quiet runs are cheap no-ops. To dream over several conversations, set up one automation per conversation (same-repo automations share a lock and never overlap).@letta-ai/openhands-dreamingnpm CLI (pinned), keeping the extension thin and independently updatable.automations/catalog/dreaming.json), registered inautomations/index.jsand the marketplace, plus a one-linepopularityRanknudge toresearch-brief-writer(84 -> 83) to free rank 84 - intentional, not accidental churn (ranks are integers and the card grid sorts descending).Issue Number
n/a - Letta / OpenHands proof of concept (discussed with the OpenHands team beforehand).
How to Test
npm run build,uv run python scripts/sync_extensions.py --check,uv run pytest -q tests/(443 pass locally).GITHUB_TOKEN(repo write) and a model provider key (e.g.OPENAI_API_KEY) as named secrets, then run/dreaming:setupand name any local conversation. It registers the automation and dispatches a first run that opens or updates anAGENTS.mdPR against the chosen repo (or a clean no-op when the conversation has nothing new).Video/Screenshots