AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Roblox Luau Patterns

skill-tabooharmony-roblox-brain-roblox-luau-patterns · by TabooHarmony

OOP with metatables, inheritance, async (Promises, pcall), module structure, service pattern.

No reviews yet
0 installs
26 views
0.0% view→install

Install

$ agentstack add skill-tabooharmony-roblox-brain-roblox-luau-patterns

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-tabooharmony-roblox-brain-roblox-luau-patterns)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Roblox Luau Patterns? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

When to Load

  • Designing classes with metatables (constructors, methods, inheritance)
  • Async control flow (Promises, coroutines, pcall/xpcall, retry patterns)
  • Module structure and organization (service pattern, singletons)
  • Roblox-specific patterns (Instance creation, service access, events, task library)
  • Choosing between architectural approaches (OOP vs modules vs flat functions)
  • Error handling strategy (pcall wrapping, fallbacks, retry logic)

Hand off when: Pure syntax → roblox-luau-core · Type annotations → roblox-luau-types · Networking/data/security → roblox-networking, roblox-data, roblox-security · Performance → roblox-performance.

Full examples and code samples: references/full.md

Quick Reference

OOP (metatables): Use for multiple instances with shared behavior.

local MyClass = {}
MyClass.__index = MyClass
function MyClass.new(...): MyClass  -- . for constructors
    return setmetatable({...}, MyClass)
end
function MyClass:method()           -- : for methods (implicit self)
end
-- Inheritance: setmetatable(Child, { __index = Parent })

Always set __index. Constructors use ., methods use :.

Module Services: Singleton pattern for managers. Service.init() wires events; clean up in PlayerRemoving.

Instance Creation: Configure ALL properties, set Parent LAST (prevents replication races).

Task Library: Always use task.*. wait()/spawn()/delay() are deprecated.

Error Handling:

local ok, result = pcall(fn, args...)       -- one-shot fallible calls
local ok, result = xpcall(fn, handler)      -- custom error handler + traceback

Wrap ALL DataStore/HTTP calls. Use Promise library for async chains (:andThen/:catch/:finally).

Naming: PascalCase (classes/modules/types), camelCase (vars/functions), UPPER_CASE (constants). Prefix _ for private.

Anti-Patterns:

  • wait()/spawn()/delay()task.*
  • Polling loops → events or Heartbeat
  • String .. in loops → table.concat()
  • Missing pcall on DataStore/HTTP → silent crash
  • Trusting client → validate types, ranges, ownership
  • Parent before config → replication race
  • Props on class table instead of self → shared across instances
  • No connection cleanup → use Trove or manual :Disconnect()

Libraries: Promise · Trove · Signal · Comm (Sleitnick) · ProfileStore · t (runtime checks)

Checklist: __index set · ./: correct · pcall on fallible · connections cleaned · Parent last · no deprecated · clear API · async error handling · player data cleaned on PlayerRemoving

Source & license

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

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

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.