About roblox-luau-mastery
roblox-luau-mastery is an index skill that directs Luau questions to focused skills for syntax, types, or programming patterns. It helps developers choose the relevant reference and is intended to be paired with one of those skills.
Key features
- 01Routes questions to focused Luau skills
- 02Covers syntax and language idioms
- 03Directs type-system questions
- 04Directs architecture and pattern questions
- 05Includes a compact Luau reference
Use cases
- 01Finding the right skill for a syntax question
- 02Choosing a type-system reference
- 03Looking up Roblox coding patterns
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ tabooharmony/ roblox-brain --skill roblox-luau-masteryAfter installing, type/roblox-luau-masteryin Claude Code to confirm it loaded.
Details
From the project READMELuau Language Mastery (Index)
When to Load
Load to route Luau questions to the right sub-skill (core syntax, types, or patterns). Always pair with one of roblox-luau-core, roblox-luau-types, or roblox-luau-patterns.
This skill has been split into three focused skills for better context efficiency. Load the one that matches your task:
Routing
| Task | Load |
|---|---|
| Syntax, tables, control flow, string patterns, math, idioms, scope, closures, sharp edges, JS→Luau porting | roblox-luau-core |
| Type annotations, generics, narrowing, inference, strictness modes, exports, sealed/unsealed tables | roblox-luau-types |
| OOP (metatables, inheritance), async (Promises, pcall, coroutines), module structure, service pattern, Roblox idioms (Instance creation, events, task library) | roblox-luau-patterns |
Quick Decision
- "How do I write this in Luau?" →
roblox-luau-core - "How should I type this?" →
roblox-luau-types - "How should I structure this?" →
roblox-luau-patterns
Quick Reference
- Luau is NOT Lua 5.1. Has: generics,
continue,+=, string interpolation (backticks), floor division// - Arrays are 1-based.
#tblfor length. Generalized iteration:for k, v in tbl do - Always use
task.wait/spawn/delay(never deprecatedwait/spawn/delay) - Instance.new: configure properties THEN set Parent last (replication race)
- Services:
game:GetService("Name")at top of script, stored in locals - Methods: use
:(implicit self) for instance methods,.for constructors/static - Prefer backtick interpolation over
..concatenation - Local function order: callees above callers (no hoisting)
- Only
nilandfalseare falsy
Comments
Markdown supported