# Rbx Studio

> >

- **Type:** Skill
- **Install:** `agentstack add skill-ellmos-ai-skills-rbx-studio`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ellmos-ai](https://agentstack.voostack.com/s/ellmos-ai)
- **Installs:** 0
- **Category:** [Databases](https://agentstack.voostack.com/c/databases)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ellmos-ai](https://github.com/ellmos-ai)
- **Source:** https://github.com/ellmos-ai/skills/tree/master/skills/game-dev/rbx-studio
- **Website:** https://github.com/ellmos-ai/skills#readme

## Install

```sh
agentstack add skill-ellmos-ai-skills-rbx-studio
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

> **Hinweis:** Nicht mit der Roblox Corporation affiliiert; „Roblox" ist eine Marke ihrer Inhaber. „rbx" ist das gängige Community-Kürzel.

# Roblox Studio — Editor, Test, Assets, MCP

## Zweck

Roblox Studio ist der offizielle Editor: 3D-Szene bauen, das Spiel im Play-Modus testen,
Assets aus dem Creator Store einfügen und den Place veröffentlichen. In einem Rojo-Workflow
übernimmt Studio die **Szene** (Workspace, Terrain, platzierte Modelle) und das **Testen** —
der **Code** kommt per Rojo aus dem Dateisystem (siehe Skill `/rojo`).

Dieser Skill deckt ab: Studio-Grundbedienung, die saubere Trennung von Szene- und Code-Arbeit,
die KI-Steuerung über das Roblox-Studio-MCP und den Asset-Workflow inklusive des
**Pflicht-Malware-Scans** für jedes Marketplace-Asset.

## Grundbedienung

- **Explorer** — Baum aller Instanzen (Workspace, ServerScriptService, ReplicatedStorage, …).
  Bei aktivem Rojo werden die gemappten Bereiche live aus dem Dateisystem befüllt.
- **Play-Test** — grüner Play-Button (oder F5) startet eine lokale Server+Client-Session.
  Nach jedem Start **die Output-Console auf Fehler prüfen** — der wichtigste Debug-Reflex.
- **Place speichern** — File → Save As → `.rbxl` (binär) oder `.rbxlx` (XML, diffbar).
  Der gespeicherte Place enthält die **Szene**. Code lebt im Dateisystem, nicht im Place.

## Der kritische Workflow: Szene-Modus vs. Code-Modus

Rojo überschreibt beim Connect alle gemappten Skript-Bereiche mit dem Dateisystem-Inhalt.
Der `Workspace` (3D-Szene) wird **nicht** gemappt und bleibt erhalten. Daraus folgt die
wichtigste Regel der täglichen Arbeit — niemals beide Modi vermischen:

**Modus A — Szene bearbeiten (Rojo AUS):**
1. Rojo-Server stoppen (`taskkill //F //IM rojo.exe` bzw. Ctrl+C).
2. Place in Studio öffnen, Assets platzieren, Welt bauen, anordnen.
3. File → Save → die `.rbxl` hat jetzt die neue Szene.

**Modus B — Code testen (Rojo AN):**
1. Denselben Place in Studio öffnen.
2. `rojo serve` starten → in Studio Rojo-Plugin → Connect.
3. Play drücken und testen. Rojo synct die Scripts; der Workspace kommt aus der `.rbxl`.
4. Während Rojo läuft **nicht** speichern (sonst friert der Rojo-Zustand in die `.rbxl` ein).

So können Szenen-Arbeit (Studio) und Code-Arbeit (Editor + Rojo) parallel und konfliktfrei
laufen — Künstler bauen Szenen, Entwickler schreiben Code.

## Roblox-Studio-MCP — KI steuert Studio

Das Roblox-Studio-MCP erlaubt Claude/Gemini/Codex, eine **laufende** Studio-Instanz direkt zu
steuern: Code ausführen, inspizieren, Play/Stop, Console lesen, Assets einfügen. Es ersetzt
Rojo **nicht** — es ergänzt es: Rojo für persistente Code-Änderungen, MCP für Inspektion,
Tests, Asset-Insertion und Materialerzeugung.

```
Editor + Rojo  ──(persistenter Code-Sync)──►  Studio (laufend)  ◄──(Inspektion/Test/Insert)──  MCP ◄── KI
```

> **WICHTIG — zwei Wege, das MCP zu erreichen (häufige Fehlerquelle):**
> 1. **Native Session-MCP-Tools** (`mcp__Roblox_Studio__*`): nur da, wenn der `Roblox_Studio`-
>    MCP-Server im Profil DIESER Session geladen ist. Fehlt oft.
> 2. **Eigenständiger MCP-Client-Script** (`/_llmauto/scripts/roblox_mcp_call.py`):
>    spawnt `StudioMCP.exe` (via `%LOCALAPPDATA%\Roblox\mcp.bat`) SELBST und spricht JSON-RPC —
>    **umgeht die Session-Registrierung komplett**, braucht weder geladenes Session-MCP noch
>    ein bestimmtes Profil.
>
> **Wenn die nativen Tools (1) in der Session FEHLEN (nicht in der Tool-Liste auffindbar), NICHT
> zu computer-use / Screen-Capture ausweichen** — sofort Weg (2) nehmen. Aufruf: JSON-Plan
> schreiben, dann `python roblox_mcp_call.py --plan plan.json [--output out.json]`.
> Tool-Schemas vorab via `tools/list` holen (z. B. `execute_luau` braucht `code` +
> `datamodel_type`; gültige `datamodel_type`-Werte via `get_studio_state`).
>
> **Remote-Desktop-unabhängig:** `screen_capture` rendert IN Studio und schickt das Bild über die
> Bridge (kein Desktop-Grab). Über RDP scheitern GDI/`mss`/WGC/`dxcam` an Zugriffsfehlern /
> leerer DXGI-Enumeration — das MCP `screen_capture` funktioniert trotzdem.

### Verfügbare MCP-Tools (typisch)

| Tool | Zweck |
| --- | --- |
| `list_roblox_studios` / `set_active_studio` | offene Instanzen auflisten / aktive wählen |
| `search_game_tree` / `inspect_instance` | Hierarchie durchsuchen / Properties auslesen |
| `execute_luau` | Luau-Code direkt in Studio ausführen |
| `script_read` / `script_grep` / `script_search` | Scripts analysieren |
| `multi_edit` | mehrere Instanzen/Scripts gebündelt ändern |
| `start_stop_play` | Play/Stop steuern |
| `get_console_output` | Output-Log lesen |
| `screen_capture` | Screenshot der Szene |
| `insert_from_creator_store` | Asset aus dem Creator Store einfügen |
| `generate_material` | KI-Material/Textur erzeugen (MaterialVariant) |
| `character_navigation` / `user_keyboard_input` / `user_mouse_input` | Eingabe simulieren |

### Server-Optionen (drei mögliche Brücken)

Es gibt mehr als eine Studio-MCP-Brücke; sie ergänzen sich:

| Server | Lizenz/Herkunft | Fähigkeiten | Wann nehmen |
| --- | --- | --- | --- |
| **Built-in Studio-MCP** (`StudioMCP.exe`) | proprietär (Teil von Studio) | volle Write/Execute-Brücke: `execute_luau`, Insert, Material, Multi-Edit, Play/Stop, Console, Screenshot, Input-Sim | Standard für Assistant-native Aktionen/Execute |
| **`robloxstudio-mcp`** (boshyxd) | MIT (Handle `boshyxd`) | Inspektion: `get_file_tree`, `search_files`, `grep_scripts`, `capture_screenshot`; Full-Edition zusätzlich Bulk-Edits | Code lesen, Struktur erkunden, Inspektion |
| **`robloxstudio-mcp`** (Chrrxs) | MIT (Handle `Chrrxs`, aktiver Nachfolger von boshyxd) | **Live-Runtime-Debugging** (Game-VM-Eval Server **oder** per-Client), Multiplayer-Playtest-Steuerung, Log-/Memory-Capture pro Peer, Viewport-Screenshots, Virtual-Input, `.rbxm` Import/Export; 75 Tools / 35 read-only (Inspector) | **Runtime-/Multiplayer-Debugging** — laufende VMs auswerten, Logs/Memory pro Peer, Playtests automatisieren |

> **Chrrxs-Setup (optional):** Node-basiert via `npx`; Plugin-Auto-Install mit `--auto-install-plugin`,
> dann in Studio „Allow HTTP Requests" (Experience Settings → Security) aktivieren und Studio neu
> starten. Nicht alle drei Server gleichzeitig denselben Schreibzugriff nutzen. Herkunft MIT,
> GitHub-Handle `Chrrxs`; wir kopieren keinen Code, sondern nutzen den Server.

### Setup (nutzerneutral)

Das Built-in-MCP läuft als von Studio mitgelieferter Server, oft über einen schmalen JSON-Filter-Wrapper
angebunden (filtert Nicht-JSON-Banner heraus, den manche Clients sonst nicht parsen):

- MCP-Batch (Windows): `%LOCALAPPDATA%\Roblox\mcp.bat`
- optionaler Wrapper: ``
  (falls auf diesem System vorhanden; teilen sich Claude/Codex/Gemini)
- Client-Configs: `~/.claude/mcp.json` · `~/.codex/config.toml` · `~/.gemini/antigravity/mcp_config.json`

Beispiel-Eintrag (`~/.claude/mcp.json`):
```json
{
  "mcpServers": {
    "Roblox_Studio": {
      "command": "node",
      "args": ["",
               "cmd.exe", "/c", "%LOCALAPPDATA%\\Roblox\\mcp.bat"]
    }
  }
}
```

### Häufige MCP-Probleme

| Symptom | Bedeutung / Lösung |
| --- | --- |
| `studios: []` oder `Not connected to WS host` | nicht sofort "kaputt": `initialize` senden → 2–3 s warten → `list_roblox_studios`; sonst Studio neu starten |
| `Error: connection closed: initialized request` | Studio ist gar nicht offen — Studio starten, Place laden, erneut versuchen |
| per MCP geschriebene Scripts weg nach Play/Stop | MCP-Edits am Code sind nicht persistent — für bleibende Code-Änderungen **Rojo** nutzen |
| Wert per `require()` im Plugin-VM stimmt nicht | Plugin-VM hat eigenen require-Cache — zur Verifikation `.Source` direkt lesen oder Server-Log nach Play prüfen |

## Asset-Pipeline (Creator Store → Spiel)

Greybox zuerst (Gameplay), Assets später (vor Release). Der bewährte Ablauf:

```
STORE DURCHSUCHEN   → z. B. "medieval" → mehrere Kandidaten laden
AUSSORTIEREN        → stilfremde/hässliche raus, 5–8 passende behalten
BEREINIGEN          → ALLE Scripts entfernen (Malware!), nur Geometrie/Meshes behalten
KIT / SET BAUEN     → aus Basis-Assets Varianten ableiten (gleiche Materials/Proportionen)
SZENE BAUEN (Studio)→ Assets zur Kulisse zusammensetzen (Dorf, Arena, Park)
ALS .RBXL SPEICHERN → die Kulisse ist die "Bühne"
ROJO BELEBT ES      → Scripts/Gameplay/HUD kommen per Rojo dazu; Workspace bleibt unangetastet
```

**Varianten-Technik ("Modular Kit"):** Ein gutes Basis-Asset nehmen und daraus ein ganzes
Set ableiten (Haus → Turm, Scheune, Schmiede, Ruine). Alle teilen Materials, Farben und
Proportionen → konsistenter Look mit minimalem Aufwand, wie es Profi-Studios tun.

**Asset-Quellen (Priorität):** Creator Store (gratis, riesig, **Malware-Check Pflicht**) →
KI-Materials (`generate_material`) → eigene Meshes (Blender → .fbx) → gekaufte Asset-Packs.

## PFLICHT: Malware-Scan für Marketplace-Assets

Creator-Store-Assets können obfuskierte Schad-Scripts enthalten (Backdoors, Remote-Code,
Bot-Netzwerk-Hooks). **Jedes** importierte Asset vor der Nutzung scannen und alle Scripts
entfernen — behalte nur Geometrie/Meshes.

- Muster-Referenz: [`references/malware-patterns.md`](references/malware-patterns.md) — die 8
  bekannten Obfuskationsmuster (reversed Attribute-Payload, fake System-Script, remote
  `require()`, `loadstring`, `string.char`, `getfenv/setfenv`, hidden Values, delayed execution).
- Scanner: [`scripts/scan_asset_malware.luau`](scripts/scan_asset_malware.luau) — in Studio per
  `execute_luau` (oder Command Bar) ausführen; prüft eine Instanz auf alle Muster und meldet Funde.

**Red Flags sofort:** großes Script in einem reinen Deko-Modell · reversed Strings in
Attributen · `require()` · `loadstring` · `HttpService` in einem Asset, das keine Netzwerk
braucht. Im Zweifel: Script löschen. Funde dokumentieren (z. B. `_malware_reports/YYYY-MM-DD_*.md`
in der Referenz-Pipeline).

## Wichtige Luau-/Studio-Fallstricke (Auszug)

Die häufigsten, die in Studio beißen — die vollständige Liste hält der Skill `/rbx-dev`:

- `Model.Position` existiert nicht → `model:GetPivot().Position`.
- `tick()` ist deprecated → `os.clock()` / `workspace:GetServerTimeNow()`.
- `SetPrimaryPartCFrame()` deprecated → `model:PivotTo(cf)`.
- DataStore-Calls **immer** in `pcall`.
- Baseplate + prozeduraler Boden auf gleicher Höhe → Z-Fighting (Flackern): Baseplate entfernen
  oder Boden +0.1 Studs anheben.
- Part-Budget im Blick behalten (~50–80 Parts pro prozedural generiertem Raum).

## Weiterführend

- Schwesterskills: `/rojo` (Sync, Projekt-Setup), `/game-design` (Rollen, Workflows, GDD),
  Metaskill `/rbx-dev` (Architektur-Pattern + alle Luau-Lessons).
- Engine-/Creator-Doku: Context7 MCP (`/websites/create_roblox_reference_engine`,
  `/roblox/creator-docs`) oder .
- Referenz-Pipeline (falls vorhanden): ``
  (`ROBLOX_MCP_FAQ.md`, `ASSET_PIPELINE.md`, `_malware_reports/PATTERNS.md`).

## Changelog

### 1.0.0 (2026-06-17)
- Initiale Version. Destilliert aus der `.ROBLOX`-Pipeline (ROBLOX_MCP_FAQ, ASSET_PIPELINE,
  PATTERNS, LESSONS_LEARNED), nutzerneutral gefasst.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ellmos-ai](https://github.com/ellmos-ai)
- **Source:** [ellmos-ai/skills](https://github.com/ellmos-ai/skills)
- **License:** MIT
- **Homepage:** https://github.com/ellmos-ai/skills#readme

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-ellmos-ai-skills-rbx-studio
- Seller: https://agentstack.voostack.com/s/ellmos-ai
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
