roblox
Route Roblox Luau tasks to specialist skills. Use for architecture decisions, broad development requests, or work spanning several Roblox systems.
Install
npx skills add https://github.com/nonlooped/roblox-suite/tree/main/roblox
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install nonlooped-roblox-suite@llmmart
git clone https://github.com/nonlooped/roblox-suite.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole nonlooped/roblox-suite collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
roblox
Engine API Reference (always the source of truth for classes/properties): https://create.roblox.com/docs/reference/engine
Full documentation indexes for agents:
- https://create.roblox.com/docs/llms.txt (start here, then route to Engine vs Open Cloud sub-indexes)
- Engine-specific: https://create.roblox.com/docs/reference/engine/llms.txt
This hub skill gives the big picture and routes to specialist SKILL.md entry points. Each specialist owns its deep references/ index so agents load only the material needed.
Specialist skills
Choose the skill matching the task. Each specialist links to its own detailed references.
- roblox-core: Choose services, types, serialization, and script locations
- roblox-networking: Design remotes, validate client requests, and control replication
- roblox-datastores: Save player data, handle concurrent writes, and recover versions
- roblox-user-interfaces: Build responsive GUIs, handle input, and add UI effects
- roblox-animation: Animate rigs, configure IK, tween properties, and time marker events
- roblox-vfx: Build particles, flipbooks, beams, trails, and highlights
- roblox-audio: Build audio graphs, mix effects, and migrate legacy Sound code
- roblox-gamepasses: Handle passes, products, subscriptions, transfers, and purchase policy
- roblox-open-cloud: Automate Roblox resources through REST APIs or supported HttpService calls
- roblox-teleport: Move players between places, coordinate matchmaking, and hand off data
- roblox-rojo: Set up filesystem projects, sync with Studio, build, and export places
- roblox-mcp: Connect agents to Studio, inspect instances, edit scripts, and playtest
- roblox-physics: Build mechanisms, choose constraints, and assign physics ownership
- roblox-npcs: Navigate NPCs, handle blocked paths, and build patrol or chase behavior
- roblox-testing: Reproduce bugs, write tests, and profile performance
Shared constraints
- Server authority first. Validate or simulate on the server. Client is for input, prediction, and cosmetics.
- Everything that talks to the cloud is fallible. Wrap DataStore, Marketplace, Http, etc. calls in pcall. Have a plan for transient vs permanent errors.
- Preload assets. ContentProvider:PreloadAsync for animations, images, sounds, models.
- Use modern APIs. Animator + LoadAnimation, task.* scheduler, TweenService, IKControl, CollectionService tags, Attributes, etc. Avoid deprecated BodyMovers, wait/spawn/delay, Humanoid:LoadAnimation, etc.
- Respect limits. DataStore budgets scale with concurrent users but are still finite. Particles and transparent UI are fill-rate expensive. Profile early.
- Structure for maintainability. ServerScriptService for authority, ReplicatedStorage for shared modules, StarterGui for client UI roots, clear module boundaries, consistent naming.
- Test the hard parts. Studio with API access only on test places. Multiple device classes. Low graphics quality for effects/UI. Concurrency (multiple servers touching the same keys).
Modern API notes
- Deferred events: Set
Workspace.SignalBehavior = Enum.SignalBehavior.Deferred(or use the corresponding project setting) so events queue and flush, avoiding re-entrancy issues. - Chat: Use
TextChatServicefor modern chat; the legacyChatservice still exists but is the older API. - MemoryStore: Use
MemoryStoreServicefor cross-server, short-lived, or high-throughput data, not regular DataStores. - Parallel Luau: Use
Actorinstances andtask.synchronize()/task.desynchronize()for compute-heavy work, with careful shared-state rules. - buffer type: Use the
bufferLuau type for compact binary data, serialization, and bit/byte manipulation. - UI safe zones: Use
ScreenGui.ScreenInsetsand related properties to respect device notches and safe areas. - ConfigService: Use a centralized configuration system (commonly a custom ConfigService module or
Configurationinstances) for live configuration and feature flags.
Workflow
- Load the specialist that owns the task. For broad architecture work, also read architecture-principles.md.
- Follow that specialist's reference links for the feature or failure you are handling. For systems that interact, read cross-skill-integration.md.
- Adapt script examples to the project and check their maturity labels. Validate changes in a dedicated test experience.
- Before handing off, report which checks passed, which need Roblox integration, and any unresolved API or policy questions. Check uncertain behavior against the official sources above.
Reference index
- architecture-principles.md: Choose authority boundaries, data flow, or project structure across systems.
- cross-skill-integration.md: Combine purchases with persistence, or animation with effects and UI.
Files (roblox-suite)
-
references
-
architecture-principles.md 4 KB
--- read_when: "Choose authority boundaries, data flow, or project structure across systems" last_reviewed: 2026-06-17 --- # Roblox architecture principles ## Server authority as default posture - The server decides outcomes for anything that affects shared state, economy, progression, or competitive fairness. - Client sends intent ("I want to buy this", "I attacked with this swing"). - Server validates (range, timing, cost, line of sight, cooldowns, etc.) then either applies the change (and lets replication or a targeted Remote carry the result) or rejects it. - Replicated display values such as leaderstats are visible to clients, but they remain authoritative on the server and are commonly used to drive server logic. Update them from the server result and never trust the client version for logic. ## Progressive data loading and saving - On join: load from DataStore (with pcall + fresh read option after previous errors), merge defaults, re-verify ownership on PlayerAdded (gamepasses, etc.), sync safe derived state to client. - During play: mutate in-memory profile, periodic auto-saves + immediate saves on important events using UpdateAsync for contended values. - On leave / BindToClose: final save. - Always have a plan for "the write appeared to fail but might have succeeded on the backend". Verify with UseCache=false Get. ## Asset and code loading discipline - Preload animations, sounds, images, important models via ContentProvider:PreloadAsync early in the loading sequence. - Use WaitForChild when requiring modules or waiting for services/children whose load order is not guaranteed. - Structure: ReplicatedStorage for shared pure modules + asset containers, ServerScriptService for server authority, StarterGui for client UI roots (with LocalScripts or required client modules). ## Performance mindset - Overlapping transparent particles and UI increase GPU fill-rate cost, especially on mobile. - Instance count, part count, and streaming matter for world performance. - Tween many things or play many complex animations at once? Profile. - Use the lowest sufficient animation priority, particle rate, and UI transparency layers. - Test at both lowest and highest graphics quality in Studio. ## Organization that scales - One data store (or small number) per major domain with key prefixes for organization, rather than hundreds of tiny stores. - Consistent key naming (e.g. "PlayerData_" .. userId or "Profiles/" .. userId). - Module boundaries that mirror the skills (DataManager, UIManager, AnimationManager, Economy, etc.). - Tags (CollectionService) and Attributes for lightweight dynamic grouping instead of deep fragile hierarchies. ## Security basics (applies everywhere) - No client datastore writes or economy logic. - All Marketplace prompts on client; all granting on server with re-verification. - Rate limit sensitive Remotes with per-player buckets; track timestamps/counters per `Player.UserId`, not shared globals. - Sanitize and validate all input: type checks, range checks, whitelist allowed values, reject malformed payloads before processing. - Filter user-generated text with `TextService:FilterStringAsync` / `TextFilterResult` before displaying it anywhere. - Keep `HttpService` secrets and API keys server-side; use `SecretsService` to store and retrieve them instead of embedding in scripts. - Keep confidential data and anti-cheat parameters server-side; minimize client anti-cheat and assume the client is compromised. - Audit third-party assets. - Use capabilities where available. ## Testing and deployment hygiene - Grant Studio backend access only to dedicated test experiences; do not point Studio sessions at production data. - Use multiple places or a staging universe for testing data changes. - Take snapshots before risky publishes that touch data logic. - Monitor Data Stores Dashboard + Manager + general performance stats after every meaningful update. ## Choose a specialist Use the [hub's specialist list](../SKILL.md) to find the skill that owns the task. Each specialist links to the references for its domain. -
cross-skill-integration.md 1.9 KB
--- read_when: "Combine purchases with persistence, or animation with effects and UI" last_reviewed: 2026-06-17 --- # Cross-skill integration patterns ## Data + client-server + monetization - Client prompts purchase (roblox-gamepasses skill). - Server receives `PromptGamePassPurchaseFinished`, validates, grants perks, and immediately saves ownership + perks via your data manager (roblox-datastores skill). - On every PlayerAdded, re-verify with `UserOwnsGamePassAsync` (monetization) and load profile (data), then apply benefits. - All sensitive Remotes that touch money or perks go through validation + rate limiting (roblox-networking skill). ## Animation + particles + UI - Animation marker "AbilityCast" fires (animation skill). - Handler spawns a 3D particle burst at a rig Attachment (roblox-vfx skill). - Same handler or a follow-up tween starts a UI cooldown ring or floating text using CanvasGroup + tweens (roblox-user-interfaces + roblox-animation skills). - For 3D previews in a shop UI, use a ViewportFrame containing a rig model (note that ViewportFrame does not render ParticleEmitter, Beam, Trail, or most 3D effects; use 2D UI particles for overlay effects instead) (user-interfaces particles-in-ui reference). ## roblox-core + everything `roblox-core` is the base layer. Every other skill assumes you: - Acquire services correctly with `GetService`. - Know which code runs on client vs server. - Understand what data can actually be stored in DataStores. - Use proper module loading and initialization patterns. Load `roblox-core` first when the task is broad. ## Performance across skills - Profile animation, particles, and transparent UI together on mobile; their combined cost can exceed the frame budget. - Use the performance notes in each skill (especially particles and UI). - Profile with Developer Console + MicroProfiler. - Reduce simultaneous effects when their combined cost exceeds the frame budget.
-
-
SKILL.md 5.7 KB
--- name: roblox description: "Route Roblox Luau tasks to specialist skills. Use for architecture decisions, broad development requests, or work spanning several Roblox systems." last_reviewed: 2026-06-17 --- # roblox **Engine API Reference (always the source of truth for classes/properties):** https://create.roblox.com/docs/reference/engine Full documentation indexes for agents: - https://create.roblox.com/docs/llms.txt (start here, then route to Engine vs Open Cloud sub-indexes) - Engine-specific: https://create.roblox.com/docs/reference/engine/llms.txt This hub skill gives the big picture and routes to specialist `SKILL.md` entry points. Each specialist owns its deep `references/` index so agents load only the material needed. ## Specialist skills Choose the skill matching the task. Each specialist links to its own detailed references. <!-- catalog:specialists:start --> - [roblox-core](../roblox-core/SKILL.md): Choose services, types, serialization, and script locations - [roblox-networking](../roblox-networking/SKILL.md): Design remotes, validate client requests, and control replication - [roblox-datastores](../roblox-datastores/SKILL.md): Save player data, handle concurrent writes, and recover versions - [roblox-user-interfaces](../roblox-user-interfaces/SKILL.md): Build responsive GUIs, handle input, and add UI effects - [roblox-animation](../roblox-animation/SKILL.md): Animate rigs, configure IK, tween properties, and time marker events - [roblox-vfx](../roblox-vfx/SKILL.md): Build particles, flipbooks, beams, trails, and highlights - [roblox-audio](../roblox-audio/SKILL.md): Build audio graphs, mix effects, and migrate legacy Sound code - [roblox-gamepasses](../roblox-gamepasses/SKILL.md): Handle passes, products, subscriptions, transfers, and purchase policy - [roblox-open-cloud](../roblox-open-cloud/SKILL.md): Automate Roblox resources through REST APIs or supported HttpService calls - [roblox-teleport](../roblox-teleport/SKILL.md): Move players between places, coordinate matchmaking, and hand off data - [roblox-rojo](../roblox-rojo/SKILL.md): Set up filesystem projects, sync with Studio, build, and export places - [roblox-mcp](../roblox-mcp/SKILL.md): Connect agents to Studio, inspect instances, edit scripts, and playtest - [roblox-physics](../roblox-physics/SKILL.md): Build mechanisms, choose constraints, and assign physics ownership - [roblox-npcs](../roblox-npcs/SKILL.md): Navigate NPCs, handle blocked paths, and build patrol or chase behavior - [roblox-testing](../roblox-testing/SKILL.md): Reproduce bugs, write tests, and profile performance <!-- catalog:specialists:end --> ## Shared constraints 1. **Server authority first.** Validate or simulate on the server. Client is for input, prediction, and cosmetics. 2. **Everything that talks to the cloud is fallible.** Wrap DataStore, Marketplace, Http, etc. calls in pcall. Have a plan for transient vs permanent errors. 3. **Preload assets.** ContentProvider:PreloadAsync for animations, images, sounds, models. 4. **Use modern APIs.** Animator + LoadAnimation, task.* scheduler, TweenService, IKControl, CollectionService tags, Attributes, etc. Avoid deprecated BodyMovers, wait/spawn/delay, Humanoid:LoadAnimation, etc. 5. **Respect limits.** DataStore budgets scale with concurrent users but are still finite. Particles and transparent UI are fill-rate expensive. Profile early. 6. **Structure for maintainability.** ServerScriptService for authority, ReplicatedStorage for shared modules, StarterGui for client UI roots, clear module boundaries, consistent naming. 7. **Test the hard parts.** Studio with API access only on test places. Multiple device classes. Low graphics quality for effects/UI. Concurrency (multiple servers touching the same keys). ## Modern API notes - **Deferred events:** Set `Workspace.SignalBehavior = Enum.SignalBehavior.Deferred` (or use the corresponding project setting) so events queue and flush, avoiding re-entrancy issues. - **Chat:** Use `TextChatService` for modern chat; the legacy `Chat` service still exists but is the older API. - **MemoryStore:** Use `MemoryStoreService` for cross-server, short-lived, or high-throughput data, not regular DataStores. - **Parallel Luau:** Use `Actor` instances and `task.synchronize()` / `task.desynchronize()` for compute-heavy work, with careful shared-state rules. - **buffer type:** Use the `buffer` Luau type for compact binary data, serialization, and bit/byte manipulation. - **UI safe zones:** Use `ScreenGui.ScreenInsets` and related properties to respect device notches and safe areas. - **ConfigService:** Use a centralized configuration system (commonly a custom ConfigService module or `Configuration` instances) for live configuration and feature flags. ## Workflow 1. Load the specialist that owns the task. For broad architecture work, also read [architecture-principles.md](references/architecture-principles.md). 2. Follow that specialist's reference links for the feature or failure you are handling. For systems that interact, read [cross-skill-integration.md](references/cross-skill-integration.md). 3. Adapt script examples to the project and check their maturity labels. Validate changes in a dedicated test experience. 4. Before handing off, report which checks passed, which need Roblox integration, and any unresolved API or policy questions. Check uncertain behavior against the official sources above. <!-- catalog:references:start --> ## Reference index - [architecture-principles.md](references/architecture-principles.md): Choose authority boundaries, data flow, or project structure across systems. - [cross-skill-integration.md](references/cross-skill-integration.md): Combine purchases with persistence, or animation with effects and UI. <!-- catalog:references:end -->
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.