By @anshuc. Maintained fork: kvnloo/dream-loop.
An agent skill that builds a game, app, or scene with impressive visuals, by creating a closed loop:
- AI "dreams" up a high-quality target screenshot using image generation
- AI builds with this target in mind
- A separate AI critic compares the live screenshot to the target and provides feedback
- AI loops back to step 2 until the critic is satisfied
- Optionally, AI loops back to step 1 and dreams up an even better target based on the current state.
Upstream: npx skills add achimala/dream-loop
This maintained fork: npx skills add kvnloo/dream-loop, or clone into your agent's skills directory, or paste the link into your agent and tell it to figure it out.
- Clone this repo into a Hermes skills dir, e.g.
~/.hermes/skills/software-development/dream-loopor a profileskills/software-development/dream-loop. - Confirm
SKILL.mdis at the skill root (Hermes loads that file). - Product work stays in that product’s gitignored
.dream-loop/(copytemplates/meta.mdthere). Never merge other products’ worktrees or stills. - Lock one frame (a close-up or facility hero), one camera, one capture. Each round: overlay +
scripts/crop_gate.py(exit ≠ 0 skips lighting/materials judging; continue with a camera or massing action). Then a fresh judge child with the verbatim prompt inreferences/hard-gates.md. - One change class per round. Stall if best score is not +1 in 2 rounds — ask the user; do not nibble.
- Progress is MEDIA (target + capture + overlay), not a status paragraph.
- Do not git-track sqlite under
.dream-loop/. Do not TDD the render.
This fork’s gates live in references/hard-gates.md.
You need an AI agent with:
- access to image generation, either built-in (e.g. Codex, Grok) or via API (e.g. give it a Gemini API key)
- vision input
- subagents (optional but strongly preferred)
Install Blender if you want custom 3D modeling. The Blender MCP or scripting interface is preferred to computer use; it produces better results.
At the moment this is only tested with GPT-6 Astra in Codex. Other strong models like Claude Fable 5.1 can likely work too.
Prompt:
Build me a graphics demo: isometric camera, voxel-ish art style with realistic shading and reflective wet floors, a character in an interesting scene. Fantasy setting (think Elden Ring, Diablo). Three.js in browser, >60fps. Don't download assets. Time limit of 1 hour. Controls: click to move the character, camera lazy-follows; drag to rotate camera; scroll to zoom in/out. No gameplay for now. World should feel alive: motion, animations, subtle environmental behaviors. Area around player should look expansive, but only allow movement in a limited space. No need to confirm the art with me or ask questions, just go!
GPT-6 Astra on high effort in Codex:
The pre-simplify gated judge + asset-first loop lives under references/classic/ (restored from upstream git history). Use it when you want stricter iteration than the default Plus/Pro split. Say Dream Loop Classic in your prompt.
This fork welcomes PRs at kvnloo/dream-loop. Please still credit Anshu as the original author.
See CONTRIBUTING.md. If you open a PR, please provide example results produced by the skill when the change could affect visual quality, to ensure the changes don't regress performance.
