SKILL.md
Roblox Studio MCP
When to Load
Load for Studio MCP work: scripts, scenes, assets, debugging, or playtesting. Skip for standalone code generation.
Quick Reference
Route by capability first. Two Studio MCP bridges exist: the official (built into Studio, closed-source) and chrrxs's (MIT). Route on tools/list (getconnectedinstances/eval/multiplayer → chrrxs; listrobloxstudios + per-call studio_id → official) BEFORE bridge-specific bootstrap.
Bootstrap before mutation
- Identify the target via
listrobloxstudios(official) orgetconnectedinstances(chrrxs). - Pass the target's
studioid(official) orinstanceid(chrrxs) on every tool call. getstudiostateand confirm Edit/Client/Server availability.- Inspect the target tree and scripts before changing them.
Execution contract
discover → select Studio/context → inspect → mutate in bounded batches
→ read back → start play → evaluate live → evidence → clean up
Edit-time injection (multiedit, Edit-context executeluau) writes scripts; it never targets a running playtest. Live evaluation targets a running VM: start play, wait for the intended Client/Server VM, then evaluate there. A stopped VM is never a live-evaluation target. Pass datamodel_type only where the tool requires it; do not guess from a previous session.
Capabilities
Inspect (searchgametree, inspectinstance, scriptread, scriptgrep), edit/execute (multiedit, executeluau), assets (searchasset/insertasset, generate* with waitjobfinished, storeimage/uploadimage), play/evidence (startstopplay, getconsoleoutput, screen_capture, input simulation, subagent).
Reliability rules
execute_luauis stateless: re-acquire references every call.- Read before write; read back after every script, asset, or geometry mutation.
- Choose reuse vs generation vs native fallback before asset work.
- Call
waitjobfinishedbefore edits that depend on a generation job. - Command-size limits are bridge-specific. Split large scripts into separate bounded
multiedit/executeluauwrites (or supported multi-edit operations), then read back the full payload to verify. - If MCP is absent, provide offline Luau and state what was not verified.
Full tool mappings, live schemas, asset workflows, and recovery rules: [references/full.md](references/full.md)