roblox-studio-workflow
Installation
SKILL.md
Roblox Studio dev workflow (Rojo + selene + Studio MCP)
The reliable loop for a Rojo-based Roblox project. Author code on disk, sync via Rojo, test via the Studio MCP.
Golden rules
- Author ALL Luau on disk (
src/), never in Studio via MCP. Rojo is the single source of truth. Editing scripts in Studio creates duplicate instances when Rojo re-syncs (two copies of a module; the orphan goes stale). Reserve MCP for map/instance edits + testing/inspection only. --!strict+ TABS for indentation (match the project's house style exactly). When Edit toolold_stringfails on whitespace, the file uses tabs — copy the exact leading tabs.- Lint after every change, keep it clean: the project usually has selene (
selene srcor~/.rokit/bin/selene src). Target 0 errors / 0 warnings / 0 parse errors. selene does NOT catch two big runtime traps — see gotchas below.
The sync cycle (CRITICAL — get this wrong and you test stale code)
Rojo only applies patches while Studio is in EDIT mode, NOT during Play. Edits made while playing queue and land when play stops. So to test disk changes:
start_stop_play→ stop (is_start: false)- Wait ~10–15 s for Rojo to flush the patch (don't skip this — a fast restart runs stale code)
start_stop_play→ start (is_start: true)get_console_output→ confirm a clean boot before testing
If the Rojo plugin's websocket silently drops ([Rojo-Warn] Disconnected in console), NOTHING syncs until the user reconnects the plugin. If duplicate instances appear: Rojo plugin → Disconnect → delete the synced roots (e.g. ReplicatedStorage.Shared, ServerScriptService.Server, StarterPlayerScripts.Client) → Connect once for a clean rebuild.