brief/CLAUDE.mdCyberpunk street build — agent brief (Claude Code harness, model = Muse Spark 1.1)
You drive a running Unreal Engine 5.8 editor through the simworld-bridge MCP tool
execute_python_script (runs Python inside the editor, returns stdout). Build a fancy, non-repeating
cyberpunk L-corner NIGHT street into a fresh map, then verify — by metric AND by looking at a
rendered screenshot — and iterate until BOTH pass AND it genuinely looks like a dark cyberpunk night.
Use the skill (progressive disclosure)
Skill at ./skill/cyber-street-build/. Read SKILL.md first, then open a file under
references/ when you reach that phase. Read them with the Read tool.
Hard rules (a metric score is NOT enough — the PICTURE must look right)
- Write your OWN build code. No ready-made build script; do not look for one or
execone. - Drive the editor ONLY via the
execute_python_scriptMCP tool. Small increments (<= ~50 actors/call). - Scale ALWAYS 1, ground z0, don't reassign materials to defaults.
- RESTRAINT: keep dynamic lights UNDER ~100 total. Piling on lights blows the scene out to white (light pollution) AND makes it so heavy the renderer crashes. A few big hero neons beat hundreds.
- The distant backdrop must be BUILDING/TOWER meshes — NEVER a billboard/screen/panel that shows a photo (several show a daytime BEACH). A beach/sky backdrop = automatic fail.
- Lock night exposure (unbound PostProcessVolume, auto_exposure min0.05/max0.5) — see the skill.
- Map name: use the exact map path given in your task prompt (it is unique per run).
- NEVER trigger a modal dialog (they freeze the editor headlessly). Before
new_level, if the map already exists,unreal.EditorAssetLibrary.delete_asset(map)first. Save only withsave_current_level()/EditorLoadingAndSavingUtils.save_map(world, path)(these overwrite silently); do not use any API that pops an "overwrite existing?" prompt.
The loop — metric + VISUAL gate (this is the whole point)
- Build phases A-F from the skill (small calls), save after each with
unreal.get_editor_subsystem(unreal.LevelEditorSubsystem).save_current_level(). - Metric verify (via the bridge tool):
exec(open(r"./tools/verify_cyberpunk_scene.py",encoding="utf-8").read()) - VISUAL gate — render via the SAME bridge tool (do NOT shell out to a separate renderer):
a. Call
execute_python_scriptwith:exec(open(r"./render_vgate.py",encoding="utf-8").read())(renders your current map at eye level, light settings, to vgate/). It returns immediately; the render is async. b. Then in a Bash tool call:python ./analyze_frame.py(waits for the frame, prints pixel stats + VISUAL SCORE + issues, savesvgate_last.png). This is fast (no rendering). c. Then LOOK yourself: use the Read tool on./vgate_last.pngand judge it as a picture. Is it a believable DARK cyberpunk night street? Over-exposed? Washed to daytime? Is the backdrop a city or a beach? Too many lights? Write down the visual problems you SEE. - Fix the WORST problems — BOTH the low metric checks AND the visual problems you saw (e.g. delete excess lights, replace a beach-photo backdrop with tower meshes, strengthen the exposure lock). Re-verify + re-render + re-look. A high metric with a bad-looking render is a FAIL.
- Done only when metric >= ~92 AND VISUAL SCORE >= 80 AND the picture genuinely looks like a dark cyberpunk night street to you.
Finish
Summary: round-by-round metric + visual scores, the visual problems you found and fixed, final map name. Work fully autonomously — do not ask questions.
brief/AGENTS.mdCyberpunk street build — agent brief
You drive a running Unreal Engine 5.8 editor through the simworld-bridge MCP tool
execute_python_script (it runs Python inside the editor and returns stdout). Your job: assemble a fancy,
non-repeating cyberpunk L-corner street into a fresh map, then self-verify and iterate.
Use the skill (progressive disclosure — read only what you need)
A skill is available at ./skill/cyber-street-build/.
- Start by reading ./skill/cyber-street-build/SKILL.md.
- It has a reference index; open a file under references/ ONLY when you reach that phase
(assets, ue-api, layout, lighting, signage, verify-and-iterate). Read them with your normal file tools.
Hard rules
- Write your OWN build code. There is no ready-made build script and you must not look for one or
execone. The skill gives you APIs + a plan; you author the Python you send toexecute_python_script. - Drive the editor ONLY via the
execute_python_scriptMCP tool. NEVER take a screenshot. - Build in small increments — at most ~40-50 actors per
execute_python_scriptcall, many short calls. Keep each script focused; do not send one giant script. - Scale ALWAYS 1, ground at z≈0, don't reassign materials to defaults. (See the skill's golden rules.)
- The verifier script MAY be exec'd (only the BUILDER must be your own) — see the skill's
references/verify-and-iterate.md. - Keep total actors under ~1100.
Definition of done
A saved map /Game/Maps/CyberOC_1 scoring ≥ ~92/100 on the verifier, built in your own incremental code,
with a final summary: round-by-round score progression, final scorecard, and what you built/changed.
Work fully autonomously — do not ask questions.