Image to Three.js Model
img2threejs/img2threejs
Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.
Build stunning 3D scenes via a concept-art fidelity loop. An agent skill from NousResearch/hermes-agent.
$ npx skills add NousResearch/hermes-agent --skill dream-loop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NousResearch/hermes-agent dream-loop --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/optional-skills/creative/dream-loop .claude/skills/dream-loop && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dream-loop" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/creative/dream-loop into .claude/skills/dream-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dream-loop", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/creative/dream-loopType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add NousResearch/hermes-agent --skill dream-loop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NousResearch/hermes-agent dream-loop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/optional-skills/creative/dream-loop .agents/skills/dream-loop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dream-loop" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/creative/dream-loop into .agents/skills/dream-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dream-loop", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NousResearch/hermes-agent --skill dream-loop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NousResearch/hermes-agent dream-loop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/optional-skills/creative/dream-loop .cursor/skills/dream-loop && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dream-loop" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/creative/dream-loop into .cursor/skills/dream-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dream-loop", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/NousResearch/hermes-agent.git --path optional-skills/creative/dream-loop--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add NousResearch/hermes-agent --skill dream-loop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NousResearch/hermes-agent dream-loop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/optional-skills/creative/dream-loop .gemini/skills/dream-loop && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dream-loop" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/creative/dream-loop into .gemini/skills/dream-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dream-loop", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install NousResearch/hermes-agent dream-loopInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add NousResearch/hermes-agent --skill dream-loop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/optional-skills/creative/dream-loop .github/skills/dream-loop && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dream-loop" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/creative/dream-loop into .github/skills/dream-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dream-loop", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NousResearch/hermes-agent --skill dream-loop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NousResearch/hermes-agent dream-loop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NousResearch/hermes-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/optional-skills/creative/dream-loop .opencode/skills/dream-loop && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dream-loop" agent skill from https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/creative/dream-loop into .opencode/skills/dream-loop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dream-loop", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dream-loopBuild stunning 3D scenes via a concept-art fidelity loop. An agent skill from NousResearch/hermes-agent.
Dream Loop is an agent skill from NousResearch/hermes-agent. Build stunning 3D scenes via a concept-art fidelity loop.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.
It sits in Game Development, covering 3D graphics and WebGL. The repository describes itself as: The agent that grows with you. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2966cb6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dream Loop loads about 3.5k tokens when it runs. Until then it costs about 17 tokens; SKILL.md has 1,940 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from NousResearch/hermes-agent at commit 2966cb6, republished under its MIT licence (© NousResearch). 1,940 words, ~3,472 tokens.
.claude/skills/dream-loop/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.An autonomous process for building extremely impressive visuals, especially 3D scenes (games, apps, usually browser three.js/WebGL): generate photorealistic concept art of the ideal result, build it, screenshot the live build, have a judge score screenshot vs concept against a gated ladder, and iterate until convergence. Goal: the most visually stunning result at an acceptable frame rate for the target platform (e.g. 60 fps browser, 120 fps modern mobile).
This skill does NOT cover general web-app functionality, 2D UI design, or non-visual quality — only the visual-fidelity loop.
image_generate tool. If unavailable, stop and ask the
user for a concept image (or an image-generation API to connect to).browser_exec — serve the build locally
(python3 -m http.server for static builds), then new_tab(url),
wait_for_load(), capture_screenshot().vision_analyze (see Judge section for the one-image-per-call
workaround).blender-3d-automation
skill. delegate_task for parallel asset work and fresh-context judging.If you don't have the tools needed for the full loop, flag that to the user early and stop.
| Stage | What happens | Artifacts (.dream-loop/) |
|---|---|---|
| 1. Target | Get/confirm the user's description | notes |
| 2. Concept | Generate "in-engine screenshot" concept art | concept.png |
| 3. Budget | Record time budget & start time (if given) | notes |
| 4. Build | Implement the concept as well as possible in one go | source, plans |
| 5. Screenshot | Capture live build at concept resolution | round-N.png |
| 6. Self-check | Rigorous side-by-side audit before judging | assessment log |
| 7. Judge | Ladder-scored comparison, actionable directives | verdict log |
| 8. Iterate/Exit | Address directives or exit per criteria | — |
If the user provided a description of a game, scene, or app, proceed — don't ask for clarification unless it's too vague to generate concept art from. If they didn't, ask for it.
Put working context/files in .dream-loop/ and gitignore it (unless told
otherwise).
The concept is a realistic, high-quality, impressive target: the look of a current AAA game running in real time. Physically plausible materials (wet stone, brushed metal, cloth, glass) with real roughness and normal detail, correct proportions, atmosphere (fog, haze, rain, dust, volumetric light), cinematic lighting with a clear key and rich shadows. It should NOT be stylized or an artistic rendition — it should look like a true screenshot of the ideal result.
Avoid these failure modes when generating with image_generate:
Aim for the middle ground: beautiful surfaces and materials that shaders render well, strong atmosphere and lighting, an interesting palette, and focused hero elements with fine detail that draws the eye (not every element fighting for attention).
Prompt for "in-engine screenshot" more than "concept art" and discourage the
noisy/grainy look. Review the image with vision_analyze; if it hits a
failure mode, pass it back to image_generate in edit mode and ask it to fix
the issue. Save it as .dream-loop/concept.png.
If you generated the art (the user didn't supply it), pause and confirm it matches the user's vision before starting the build loop.
If the user gives a time budget, record the start time and check the clock
between rounds. Don't degrade visual fidelity to hit the budget — strive for
the absolute best result, and don't rush work to the judge. Parallelize or
distribute work (e.g. delegate_task for independent assets) to hit the
time goal, but no shortcuts: it's better to hit the time limit with
meaningful, beautiful progress than with something broadly complete but ugly.
If no time budget is given, run until an exit criterion — but warn upfront that this may consume a lot of tokens.
Look at the concept art and implement it in one go, making that first pass
count across every tier of the score ladder: composition, textures, lighting,
details. Sculpt and model assets carefully (or use external ones if allowed);
don't settle for basic procedural elements and flat surfaces unless the art
style calls for it. Write intermediate files/plans to .dream-loop/.
blender-3d-automation skill). For complex assets,
delegate to subagents via delegate_task.image_generate for textures, normal maps, skyboxes, etc. — better
looking and faster than procedural ones.Serve the build (e.g. python3 -m http.server in the build dir), then via
browser_exec: new_tab('http://localhost:8000'), wait_for_load(), allow
the scene to settle, capture_screenshot(). Target the same resolution and
aspect ratio as the concept art so the comparison is fair. Save as
.dream-loop/round-N.png.
Each time, review the candidate screenshot yourself before submitting. Do not submit half-baked work. Compare screenshot and concept side by side and log an honest assessment of judge-readiness; only submit if confident you've significantly improved the score. Be rigorous and audit every pixel: big stuff (missing/incorrect objects, wrong scale, perspective, positioning) and small stuff (rendering glitches, flat untextured surfaces, ugly lighting, poor contrast, washed-out or oversaturated color, speckles, ugly shadows). Scan surface by surface, object by object, and list findings.
Judging should ideally be done by a fresh subagent with a clean context each
round (delegate_task), to keep it objective and cheap. Give the judge the
latest screenshot, the concept, and (from round 2 on) the previous round's
screenshot and verdict.
Mechanics: vision_analyze takes one image per call. Either have the judge
make sequential calls (concept, then screenshot, then compare from memory of
its own descriptions), or — better — stitch a labeled side-by-side composite
with ImageMagick (convert concept.png shot.png +append compare.png) or PIL
and analyze that single image.
Judge prompt:
You are an art director reviewing a real-time render against its concept art. Compare the screenshot to the concept and score it 0-10 using this ladder. The ladder is gated: a frame cannot score above a tier's cap until every requirement of the tiers below it is fully met. Be strict about the gates.
- Tier 1, shape (0-3): camera, framing, composition, and the position and rough scale of every major object match the concept. Layout, not finish: every major element present, in the right region of the frame (within ~10% of frame width/height), at roughly the right size (within ~25%). Right place and vaguely correct outline passes even if edges and surface are wrong; save precision nitpicks for Tier 4. Cap 3 until true.
- Tier 2, light and color (3-5): key light direction and color, overall exposure (no clipping to black or white), shadow depth, palette, contrast, atmosphere. Attend to reflections, glows, etc. Ensure the scene is not too bright or dark relative to the concept. Judge the whole frame, not tiny details (Tier 4). Cap 5 until lighting/reflections/color/ contrast are generally right.
- Tier 3, materials and surfaces (5-7): every surface reads as the right material at a glance: textures, roughness, translucency, wetness, reflections. Assets must not look procedural, blocky, smooth/plastic; frame-dominating elements should be properly sculpted and detailed. Cap 7 until true.
- Tier 4, fine detail (7-9): the small things. Nitpick relentlessly; inspect every little object up close. Layout aligns near-perfectly; materials extremely convincing. Cap 9 until right.
- Tier 5, indistinguishable (9-10): holds up side by side and zoomed in. Nitpick every pixel.
If a previous verdict and screenshot are provided: you are one reviewer in a sequence, not the first. Maintain consistency. First mark each previous directive LANDED, PARTIAL, or NOT DONE against the new screenshot; carry forward anything PARTIAL or NOT DONE. Don't reverse a prior directive unless the result is clearly worse — and if you do, say so and why.
Output format:
- Score on the first line; "Tier N" (highest fully-passed gate) on the second. 1b. If given a previous verdict: the LANDED / PARTIAL / NOT DONE list.
- "Blocking:" the specific failures of the next tier's gate. The builder must clear these before anything else counts. Name the element and the change, with magnitudes: "Rocks: replace the stacked ovoid boulders with one continuous fractured slab; cracks 2-5cm wide, dark interiors, add surface texture so they don't look flat/plastic" — not "the rocks look artificial".
- Then at most 4 further directives from higher tiers, same style, ordered by points recoverable.
No non-actionable feedback ("this looks synthetic") — name the specific causes. Every directive must be actionable this round. Don't round up: if a gate isn't fully passed, the cap holds.
When building on an existing product (or the user re-invokes the skill for
refinements), don't create new concept art in a vacuum — it may diverge from
what exists. Instead capture a live screenshot of the current product and
prompt image_generate to render the best possible version of it (current
screenshot → AAA-graphics version of the same shot), then use that as the
target. Multiple screens can run parallel judge loops if asked, at higher
token cost.
vision_analyze call — it takes one image;
composite them first.wait_for_load() for asset streaming and animation warm-up..dream-loop/concept.png exists and passed the failure-mode review (and
user confirmation, if generated).Adapted from dream-loop by Anshu
Chimala (MIT). Upstream license vendored as LICENSE.txt.
© NousResearch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in optional-skills/creative/dream-loop of NousResearch/hermes-agent.
Open the folder on GitHubat commit 2966cb6
Dream Loop next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dream Loop this skillNousResearch/hermes-agent | 252k | — | ~3.5k | Automated safety check: Pass | MIT | |
| Image to Three.js Modelimg2threejs/img2threejs | 18k | 1 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 | |
| Web CloneJane-xiaoer/claude-skill-web-clone | 1k | 2 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Threejs Game Directormajidmanzarpour/threejs-game-skills | 2.4k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Game Asset Generatorhtdt/godogen | 7.1k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Threejs Gameplay Systemsvalkor-ai/loom | 1.2k | 1 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 |
img2threejs/img2threejs
Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.
Jane-xiaoer/claude-skill-web-clone
网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…
majidmanzarpour/threejs-game-skills
Entrypoint for building, upgrading, and finishing Three.js browser games.
htdt/godogen
Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.
valkor-ai/loom
Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…
calesthio/OpenMontage
Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs.
NousResearch/hermes-agent
Gmail, Calendar, Drive, Docs, Sheets via gws CLI or Python. An agent skill from NousResearch/hermes-agent.
NousResearch/hermes-agent
Produces a presenter-led video from a topic or script plus one authorized presenter image, with captions, lip-sync checks and acceptance reports.
NousResearch/hermes-agent
Creates, reads, edits and templates Word .docx files with python-docx scripts, including tracked changes, comments, tables of contents and health checks.
NousResearch/hermes-agent
Attaches a numbered, URL-backed citation to every outside fact in an answer or document, rejecting quotes that aren't real.
NousResearch/hermes-agent
PDF files: create, read, merge, fill, OCR, edit text. An agent skill from NousResearch/hermes-agent.
NousResearch/hermes-agent
Premium scroll-driven landing pages; scroll = timeline. An agent skill from NousResearch/hermes-agent.
Categories
Build stunning 3D scenes via a concept-art fidelity loop. An agent skill from NousResearch/hermes-agent. Dream Loop is an agent skill from NousResearch/hermes-agent. Build stunning 3D scenes via a concept-art fidelity loop.
Dream Loop fits situations like: tasks that involve 3D graphics and WebGL.
Run `npx skills add NousResearch/hermes-agent --skill dream-loop -a claude-code`. Or copy the skill folder (optional-skills/creative/dream-loop in NousResearch/hermes-agent) into .claude/skills/dream-loop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NousResearch/hermes-agent --skill dream-loop -a codex`. Or copy the skill folder (optional-skills/creative/dream-loop in NousResearch/hermes-agent) into .agents/skills/dream-loop in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NousResearch/hermes-agent --skill dream-loop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dream-loop, .gemini/skills/dream-loop, .github/skills/dream-loop and .opencode/skills/dream-loop in your project.
Going by SKILL.md and its folder, Dream Loop needs the command-line tools its instructions call (python3). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Dream Loop is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dream Loop: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Game Director (majidmanzarpour/threejs-game-skills, 2.4k stars) and Game Asset Generator (htdt/godogen, 7.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NousResearch (a GitHub organization) maintains it in NousResearch/hermes-agent, which has 251,991 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 8, 2026.
Source: NousResearch/hermes-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.