Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/brockmartin/roblox-game-skill/llms.txt

Use this file to discover all available pages before exploring further.

Offline Mode is the fallback configuration the skill adopts when no MCP server is reachable. Rather than attempting live Studio operations, every response is reformulated as self-contained Luau code that you copy into Studio manually. Each script block is annotated with its target service, script type, and any prerequisite instance setup — so you know exactly where to put it and what to create first. Offline Mode supports the full breadth of the skill’s knowledge: genre templates, debug guidance, architecture patterns, security reviews, and more.

When Offline Mode Activates

The skill enters Offline Mode when the detection pass at session start finds neither community server tools nor official server tools in the active MCP tool list:
  • No execute_luau, get_file_tree, grep_scripts, create_build, search_objects, get_instance_properties, or get_script_source (Full Mode indicators)
  • No run_code, insert_model, get_console_output, start_stop_play, run_script_in_play_mode, or get_studio_mode (Standard Mode indicators)
This happens when you are running Claude without Roblox Studio open, when neither MCP server plugin is installed, or when a server is installed but not yet started.

What Offline Mode Produces

Complete Luau Scripts

Every script is production-ready and immediately runnable — no placeholder logic, no TODO stubs.

Placement Instructions

Each block is labelled with its target service (ServerScriptService, ReplicatedStorage, etc.) and script type (Script, LocalScript, ModuleScript).

Folder Hierarchy

Multi-file systems include a full directory tree so you know how to organise instances inside Studio or on disk for Rojo.

Setup Checklist

A manual steps list at the end of each response covers prerequisite instances (RemoteEvents, Folders, Values) that scripts depend on but cannot create themselves without a live connection.

Output Format

Every script block follows a consistent header format so placement is unambiguous:
-- ==============================================
-- SCRIPT: WeaponSystem
-- PLACE IN: ServerScriptService
-- TYPE: Script (server-side)
-- ==============================================

local WeaponSystem = {}

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players           = game:GetService("Players")

local DAMAGE_VALUES: { [string]: number } = {
    sword   = 25,
    bow     = 15,
    default = 10,
}

function WeaponSystem.getDamage(weaponType: string): number
    return DAMAGE_VALUES[weaponType] or DAMAGE_VALUES.default
end

-- Wire up the RemoteFunction so clients can query damage values safely
local getDamageRF = ReplicatedStorage:WaitForChild("GetDamageRF") :: RemoteFunction
getDamageRF.OnServerInvoke = function(_player: Player, weaponType: string): number
    assert(type(weaponType) == "string", "weaponType must be a string")
    return WeaponSystem.getDamage(weaponType)
end

return WeaponSystem

For Rojo / Filesystem Workflows

When you mention Rojo, Wally, or a filesystem-based workflow, the skill outputs a directory tree alongside the scripts:
src/
├── server/
│   ├── WeaponSystem.server.luau
│   └── DataManager.server.luau
├── client/
│   ├── InputHandler.client.luau
│   └── UIController.client.luau
├── shared/
│   ├── Constants.luau
│   └── Utils.luau
└── default.project.json
The default.project.json mapping is included when creating new projects or restructuring existing ones so Rojo can sync the tree straight to Studio.

How Workflows Adapt in Offline Mode

All skill workflows reformulate their output automatically — nothing is disabled.
WorkflowLive Mode BehaviourOffline Mode Adaptation
Build a gameCreates instances via execute_luau / run_codeGenerates all scripts with headers; provides folder setup checklist
Debug loopReads console via get_playtest_output / get_console_outputAnalyses the error text you paste in; explains root cause and provides patched code
Performance auditProfiles live DataModelReviews code you share; flags anti-patterns with corrected versions
Security auditScans script sources liveReviews code you paste; applies the same checklist and severity ratings
New game scaffoldInserts instances and scripts directlyOutputs every script as a labelled block with a manual placement order
Related scripts within the same system are grouped together under a section header and delivered in dependency order — shared modules first, then server scripts, then client scripts — so you can paste them from top to bottom without worrying about load order.

Example: Setup Checklist

After the script blocks, Offline Mode responses end with a checklist of manual Studio steps:
## Manual Setup Checklist

Before running the scripts above, create the following instances in Studio:

ReplicatedStorage
  └── GetDamageRF        (RemoteFunction)
  └── EquipWeapon        (RemoteEvent)
  └── Weapons            (Folder)

ServerStorage
  └── WeaponModels       (Folder)
      ├── Sword          (Model — insert from Creator Store, ID: 123456)
      └── Bow            (Model — insert from Creator Store, ID: 789012)

ServerScriptService
  └── WeaponSystem       (Script — paste WeaponSystem block here)
Offline Mode is a great starting point for planning before a Studio session. Generate all your scripts offline, review the architecture, then connect an MCP server to have Claude insert and wire everything automatically. See Installation to set up Full Mode or Standard Mode and unlock live Studio integration.

Build docs developers (and LLMs) love