Agent skill

Scenario Walkable Room

by scenario-labs in scenario-labs/skills

A skill your agent uses when one interior photo, uploaded or generated on Scenario, should become a room a visitor walks into in a web browser and plays with: props lifted out of the photo and…

MITAuto-check passedGame Development

Install Scenario Walkable Room

skills CLI
$ npx skills add scenario-labs/skills --skill scenario-walkable-room -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install scenario-labs/skills scenario-walkable-room --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scenario-walkable-room .claude/skills/scenario-walkable-room && rm -rf skills-src

Use ~/.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/

Facts

Skill name
scenario-walkable-room
GitHub stars
946
Token cost
~2.6k tokens
SKILL.md length
1,339 words
Files
4 (incl. references)
Skills in repo
146
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when one interior photo, uploaded or generated on Scenario, should become a room a visitor walks into in a web browser and plays with: props lifted out of the photo and…

  • Works in 7 steps: Uncover: describe the photo literally… → Plate: one removal-only image edit that… → Cut-outs: one image edit per object on… → …
  • One interior photo
  • SKILL.md covers Overview, Quick reference, Worked example: the user's… and Common mistakes
  • Calls npx

What it does

Scenario Walkable Room is an agent skill from scenario-labs/skills. Use when one interior photo, uploaded or generated on Scenario, should become a room a visitor walks into in a web browser and plays with: props lifted out of the photo and rebuilt as 3D objects to grab, throw, and hear land, inside a Gaussian splat world, or restyled variants of one room. Keywords: image-blaster, walkable room, photo to 3D room, clean plate, object cut-out, splat world, physics props, grab and throw, impact sounds, heightfield collision.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/calibration.md`, `references/objects.md` and `references/viewer.md`).

It sits in Game Development. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.

When your agent uses it

  • One interior photo
  • Generated on Scenario
  • Should become a room a visitor walks into in a web browser and plays with: props lifted out of the photo and rebuilt as 3D objects to grab
  • Inside a Gaussian splat world

Example prompts

  • “/scenario-walkable-room”

Requirements

  • Node.js

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Uncover: describe the photo literally and list its single movable objects with a box, the surface each stands on, a size estimate, and…
  2. Plate: one removal-only image edit that erases those objects and nothing else.
  3. Cut-outs: one image edit per object on the original photo, drawing it alone on white.
  4. World: a single-image world model on the plate.
  5. Objects: image-to-3D on each cut-out, with PBR textures.
  6. Sounds: a few short impact one-shots per object.
  7. Assembly: level and scale the world from its own splats, fit the lens it assumed, derive a collision heightfield, put each object back…

What it can do on your machine

Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scenario Walkable Room loads about 2.6k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 121 tokens; SKILL.md has 1,339 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~121
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 1,339 words, ~2,595 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-walkable-room/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
scenario-walkable-room
description
Use when one interior photo, uploaded or generated on Scenario, should become a room a visitor walks into in a web browser and plays with: props lifted out of the photo and rebuilt as 3D objects to grab, throw, and hear land, inside a Gaussian splat world, or restyled variants of one room. Keywords: image-blaster, walkable room, photo to 3D room, clean plate, object cut-out, splat world, physics props, grab and throw, impact sounds, heightfield collision.
license
MIT

Scenario Walkable Room

Overview

One photo of a room becomes a place to walk into and touch: a complete 3D Gaussian splat world (walls behind the camera included) with the room's small objects rebuilt as real 3D models a visitor can pick up, throw, and hear land. Restyle the photo first and the same room comes in several looks. The route follows the open-source image-blaster pipeline, with every generation on Scenario through MCP:

  1. Uncover: describe the photo literally and list its single movable objects with a box, the surface each stands on, a size estimate, and materials. Pick two or three per room.
  2. Plate: one removal-only image edit that erases those objects and nothing else.
  3. Cut-outs: one image edit per object on the original photo, drawing it alone on white.
  4. World: a single-image world model on the plate.
  5. Objects: image-to-3D on each cut-out, with PBR textures.
  6. Sounds: a few short impact one-shots per object.
  7. Assembly: level and scale the world from its own splats, fit the lens it assumed, derive a collision heightfield, put each object back where the photo had it, and show it all with a streaming splat renderer and a physics engine.

Steps 1 and 7 are the agent's own work on downloaded files; every generation in between is an MCP call. Connection, uploads, and the core loop: see the scenario skill. Edits: scenario-image or scenario-gemini-image. Worlds: scenario-3d-worlds. 3D models: scenario-3d. Sound: scenario-audio or scenario-sonilo. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

Quick reference

Discover each paid stage's member with recommend, passing the capability and the user's own words, and read next_step before taking a pick, per the scenario skill. recommend has no capability for worlds, so find the single-image world member with search as scenario-3d-worlds teaches. Never assert a generative model's id as a constant. Read every pick's model_schema_get and price the exact payload with model_run dry_run=true before running it.

StepDiscoveryWhat to send and check
Uncovernone, read the photo yourselfSingle movable items only, with a normalized box, support, size in meters, materials (references/objects.md)
Plateimg2img, takes a referenceremove the following from the image: ... and nothing else; compare with the photo for over-removal and recoloring
Cut-outimg2img, same memberOne edit per object on the original photo, square, about 1K, white background (references/objects.md)
Worldsearch, single-image worldThe plate, full-resolution splats, a fixed seed, a prompt describing the room without the objects
Objectimg23d with PBROne cut-out per job, PBR on, a moderate face count (about 50,000); pick the GLB by its type (asset_get mimeType model/gltf-binary), never by output order
Soundtxt2audio, sound effectsOne clip of about 6 s per object holding several impacts separated by silence
Calibratenone, localFloor, level, scale, lens, heightfield, placement (references/calibration.md)
Viewernone, localPaged splat streaming, heightfield walker, convex-hull props, grab and throw, panned sounds (references/viewer.md)

Launch every batch with wait=false, then jobs_wait on the ids, re-called with pending_job_ids on timeout. A world takes several minutes; a timeout is not a failure and never justifies a second model_run.

Worked example: the user's living room, walkable, with things to throw

  1. Photo. upload_asset the user's photo (per the scenario skill: file_size, PUT the parts, upload_asset_complete) and reuse the asset id. With no photo, recommend with capability="txt2img" for a photoreal interior: a doorway view at about chest height, level and centered, wide lens, a few small objects on tables and the sofa. For several looks, edit that photo once per style, opening the prompt with the fixed architecture (windows, door, floor plan, camera, lens) before the new finishes, furniture, and light.

  2. Filing. Create the run's collection before the first generation (collection_create through the catalog write lane, arguments under parameters), then collection_add_assets each keeper as it lands.

  3. Uncover. asset_display each photo, describe it literally, and write the object list. Choose two or three objects per room: separate, unoccluded, one or two materials, standing on the floor, a table, or a seat.

  4. Plate. recommend with capability="img2img" and "remove objects from a room photo, keep everything else", model_schema_get for the reference-image field, dry_run, then run with the photo as the reference:

    remove the following from the image: the {object} on the {support}, {where}; the {object} {where}

    asset_display the plate next to the photo. Removal edits sometimes recolor an object instead of erasing it, or take its neighbors too (every cushion on a bench, a carved screen beside a lamp): re-run with a narrower list, or drop that object.

  5. Cut-outs. One edit per object on the original photo, never the plate, with the isolation prompt in references/objects.md. Name anything resting on the object so it stays out.

  6. World. Find the single-image world member per scenario-3d-worlds, model_schema_get, dry_run, then run each plate with wait=false, full-resolution splats, one fixed seed for every room, and a prompt describing the room as it is without the removed objects. Collect the ids with jobs_wait (re-called with pending_job_ids; a world takes several minutes), then asset_download each .spz.

  7. Objects. recommend with capability="img23d" and "textured PBR prop from a product cut-out", read the face-count, texture, and PBR fields off model_schema_get, dry_run, then one job per cut-out with wait=false and jobs_wait on the ids. Each job returns several assets (the mesh with its textures and previews): take the one whose asset_get mimeType is model/gltf-binary, inspect it in the viewer (scenario-3d), then asset_download it.

  8. Sounds. recommend with capability="txt2audio" and "short impact sound effects", then one clip per object:

    Four separate one-shot impacts, each followed by a full second of silence: {the object, its material} {knocked over / dropped} onto {the room's floor}, {the character of the sound}. Close-miked, dry room, no music, no voices.

  9. Assemble. Calibrate each world and place its objects per references/calibration.md, then build the page per references/viewer.md. Simplify the GLBs for the web (about 15,000 to 20,000 triangles, 1K WebP textures, Meshopt) and load physics after the room is on screen.

Show full SKILL.md (324 more words)Show less

Common mistakes

  • Treating the world as metric: it is not. Measure the camera's height above the fitted floor and compare the objects' projected heights with their estimated sizes; at authoring time that put the photo camera about 1 m above the floor in every room.
  • Assuming every world shares the photo's lens: restyles of one photo came back with fields of view from about 50 to 76 degrees from the same world model. Fit the lens per world before projecting boxes.
  • Cutting out from the plate: the object is no longer there. Cut-outs come from the original photo.
  • Uncovering plants, glass, or objects holding other objects: image-to-3D closes foliage into a solid shell with leaves painted on. Skip them, or name and remove what they hold.
  • Placing objects from the base of the box on the floor plane alone: objects on tables or seats float or sink. The surface right behind the bottom of the box is where each one stood.
  • Dropping props into physics on page load: noisy supports send them tumbling. Start rigid props asleep where the photo had them; let only soft ones (cushions) settle.
  • Playing a sound on every contact force: a resting object reports its own weight every step. Sound only when the object was moving into the contact.
  • Trusting PBR metalness from image-to-3D: lacquer and glaze come back as metal and render as chrome. Keep metalness only on real metal.
  • Changing the payload after a 3D job reports failure with a result-download error: that is a platform error, not a bad input. Confirm with job_get that the job's status is failure and it has no assets (and that no later job for the same input succeeded, via jobs_list) before retrying once with the same payload; a jobs_wait timeout is not a failure and never justifies a second run.
  • Running heavy local jobs in parallel (calibration, mesh conversion, splat level-of-detail builds): run them one or two at a time.

© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in skills/scenario-walkable-room of scenario-labs/skills.

  • SKILL.md
  • references/calibration.md
  • references/objects.md
  • references/viewer.md

Open the folder on GitHubat commit f6f8ab7

Compare with similar skills

Scenario Walkable Room 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.

Scenario Walkable Room compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Walkable Room this skillscenario-labs/skills946—~2.6kAutomated safety check: PassMIT
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Web CloneJane-xiaoer/claude-skill-web-clone1k1 repos~2.7kAutomated safety check: PassMIT
Threejs Game Directormajidmanzarpour/threejs-game-skills2.5k—~2.2kAutomated safety check: PassMIT
Game Asset Generatorhtdt/godogen7.1k—~2.8kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • 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.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 1 repo~2.7k tokens
    Game DevelopmentAuto-check passed
  • Threejs Game Director

    majidmanzarpour/threejs-game-skills

    Entrypoint for building, upgrading, and finishing Three.js browser games.

    2.5k GitHub stars~2.2k tokensUpdated 13 days ago
    Game DevelopmentAuto-check passed
  • Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.

    7.1k GitHub stars~2.8k tokensUpdated 9 days ago
    Game DevelopmentAuto-check passed
  • 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…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Uloop Execute Dynamic Code

    CyberAgentGameEntertainment/NovaShader

    Execute C with Unity APIs when existing uloop tools cannot inspect or edit enough.

    1.6k GitHub starsUsed in 1 repo~1.9k tokens
    Game DevelopmentAuto-check passed

More from scenario-labs/skills

All 146 skills in this repo
  • Scenario Blender Grease Pencil

    scenario-labs/skills

    A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…

    946 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Blender Hair

    scenario-labs/skills

    A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…

    946 GitHub stars~5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Chatgpt Pet Create

    scenario-labs/skills

    A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…

    946 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Animation

    scenario-labs/skills

    A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Audio

    scenario-labs/skills

    A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed

Questions about Scenario Walkable Room

What does Scenario Walkable Room do?

A skill your agent uses when one interior photo, uploaded or generated on Scenario, should become a room a visitor walks into in a web browser and plays with: props lifted out of the photo and…. Scenario Walkable Room is an agent skill from scenario-labs/skills. Use when one interior photo, uploaded or generated on Scenario, should become a room a visitor walks into in a web browser and plays with: props lifted out of the photo and rebuilt as 3D objects to grab, throw, and hear land, inside a Gaussian splat world, or restyled variants of one room.

When should I use Scenario Walkable Room?

Scenario Walkable Room fits situations like: one interior photo; generated on Scenario; should become a room a visitor walks into in a web browser and plays with: props lifted out of the photo and rebuilt as 3D objects to grab; inside a Gaussian splat world.

How do I install Scenario Walkable Room in Claude Code?

Run `npx skills add scenario-labs/skills --skill scenario-walkable-room -a claude-code`. Or copy the skill folder (skills/scenario-walkable-room in scenario-labs/skills) into .claude/skills/scenario-walkable-room in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Walkable Room in Codex?

Run `npx skills add scenario-labs/skills --skill scenario-walkable-room -a codex`. Or copy the skill folder (skills/scenario-walkable-room in scenario-labs/skills) into .agents/skills/scenario-walkable-room in your project. Codex loads it when a task matches its description.

Can I use Scenario Walkable Room in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-walkable-room -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-walkable-room, .gemini/skills/scenario-walkable-room, .github/skills/scenario-walkable-room and .opencode/skills/scenario-walkable-room in your project.

What does Scenario Walkable Room need to run?

Going by SKILL.md and its folder, Scenario Walkable Room needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Scenario Walkable Room access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Scenario Walkable Room safe to install?

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.

What licence does Scenario Walkable Room use?

Scenario Walkable Room is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Walkable Room use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.5k tokens, read only when the agent opens those files.

What are the alternatives to Scenario Walkable Room?

Skills that share tags, products or a category with Scenario Walkable Room: 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.5k 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.

Who maintains Scenario Walkable Room?

scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.

Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.