
roblox-code-review
Review Roblox/Luau code for exploits, data loss, memory leaks, performance problems, lifecycle bugs, policy issues, and deprecated or superseded APIs, using a severity-ranked checklist and the full 2026 deprecation map. Use when reviewing a PR or script, auditing a game before launch, modernizing legacy code, or asked what is wrong with some Roblox code.
- Installs
- 461
- Last 24h
- +23
- Trending rank
- #5127
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/el4cteo/roblox-skills --skill roblox-code-review- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads roblox-code-review automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Roblox code review
Review in severity order. Report each finding with file:line, severity, what breaks, and the fix. Verify claims against the code (and the engine reference when unsure) — don't pattern-match blindly.
Severity guide
| Severity | Examples |
|---|---|
| Critical | Client-authoritative rewards/damage/currency; unvalidated remote args (NaN, instance spoofing); purchases granted outside ProcessReceipt or non-idempotent; data saved with SetAsync from multiple servers without session locking; secrets/API keys in replicated code; unfiltered player text shown to others. |
| High | Data loss paths (no BindToClose, saving default data after a failed load, no retry); memory leaks (connections, player-keyed tables); InvokeClient; per-frame remotes; infinite yields (WaitForChild without timeout on optional instances, RemoteFunction handlers that can yield forever); streaming-unsafe client indexing. |
| Medium | Deprecated/superseded APIs; wait/spawn/delay; polling loops; server-side tweens; missing pcall on network/yielding APIs; missing late-joiner handling; race conditions on CharacterAdded. |
| Low | Style, naming, missing types, magic numbers, dead code, minor inefficiencies. |
Checklist
Security (roblox-security)
- Every
OnServerEvent/OnServerInvoke: types checked withtypeof, numbersmath.isfinite, strings length/UTF-8 checked, instancesIsA+IsDescendantOf(trusted), rate limited, context checked. - No server-only logic, admin lists, or secrets in
ReplicatedStorage/StarterPlayer/Workspace. ProximityPrompt/ClickDetector/Touchedhandlers re-validate distance/state on the server.- Gameplay-critical unanchored parts are server-owned.
Data (roblox-data-stores)
- Session locking (ProfileStore or equivalent);
UpdateAsyncfor read-modify-write; retries with backoff. BindToCloseflushes saves in parallel; no saves ofInstance/Vector3/mixed tables.- Failed loads never overwritten with defaults; player-keyed tables cleared on leave.
- Keys stable (
User_{UserId}), Studio uses a separate store/universe.
Monetization (roblox-monetization)
- Single
ProcessReceipt; idempotent byPurchaseId; returnsPurchaseGrantedonly after persisting. - Pass perks checked on join and after in-session purchase; prices not hardcoded; paid random items
disclose odds and respect
PolicyService.
Correctness & lifecycle (roblox-architecture)
- Handles players already in game (
for _, p in Players:GetPlayers()) and characters already spawned. - Per-character state rebuilt on respawn; per-player state cleaned on
PlayerRemoving. - No yields at module top level; no circular requires; one owner per piece of state.
- Deferred-event safe (doesn't rely on handlers running synchronously).
- Client code streaming-safe (
WaitForChild/nil checks forWorkspacecontent).
Performance (roblox-performance)
- No per-frame
FindFirstChild/GetDescendants/Instance.new; params objects reused. - Event-driven instead of polling; think loops throttled and staggered.
- Tweens and cosmetic effects on clients; remotes batched/throttled; payloads minimal.
- Connections disconnected / instances destroyed; no unbounded caches.
Text & safety (roblox-text-chat)
- All player-authored text shown to others filtered server-side (
FilterStringAsync), fail closed. - Chat uses
TextChatService; public editable text rate-limited (≥ 1 minute).
Modern API usage
task.*,*Asyncvariants,Raycast, mover constraints,PivotTo,Animator:LoadAnimation,TextChatService,UIDragDetector,workspacecollision-group APIs,CreatePath+ComputeAsync.- Full map of deprecated and superseded members: references/deprecated-apis.md.
Code quality (roblox-luau)
--!strictwith typed public APIs; services viaGetService; no_G/shared.- Clear module boundaries; config separated from logic; tests for pure logic (
roblox-testing).
Output format
## Summary
<2–3 sentences: overall risk, the most important fixes>
## Findings
1. [Critical] src/server/Shop.server.luau:42 — Price read from client argument.
Impact: exploiters buy anything for 0 coins. Fix: look up ITEMS[itemId].price on the server.
2. [High] ...
## Modernization (optional)
- Replace `wait()` → `task.wait()` (12 occurrences) ...
Offer to apply fixes; when fixing, keep behavior identical except for the bug, and re-run the relevant
checks (type check, tests, Studio playtest via roblox-studio-mcp).
FAQ
What does the roblox-code-review skill do?
Review Roblox/Luau code for exploits, data loss, memory leaks, performance problems, lifecycle bugs, policy issues, and deprecated or superseded APIs, using a severity-ranked checklist and the full 2026 deprecation map. Use when reviewing a PR or script, auditing a game before launch, modernizing legacy code, or asked what is wrong with some Roblox code.
How do I install roblox-code-review?
Run npx skills add https://github.com/el4cteo/roblox-skills --skill roblox-code-review in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/roblox-code-review/ (personal) or .claude/skills/roblox-code-review/ (project).
Which AI agents can use roblox-code-review?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is roblox-code-review safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains roblox-code-review?
It is published by el4cteo in el4cteo/roblox-skills. It has 461 recorded installs.
More from el4cteo/roblox-skills
roblox-world-building
el4cteo/roblox-skills
Building worlds with code - parts, models and pivots, materials, Lighting (LightingStyle, Atmosphere, post-processing), day/night, Terrain API, in-game CSG and destruction (GeometryService Subtract/Union/Fragment), ProceduralModel, EditableMesh/EditableImage, particles/beams/trails/highlights. Use when creating maps, environments, lighting, destructible objects, procedural levels, or visual effects.
roblox-ui
el4cteo/roblox-skills
Responsive cross-platform UI - ScreenGui and safe areas (ScreenInsets), Scale vs Offset, UIListLayout flex/UIFlexItem, constraints, StyleSheets/tokens/themes, RichText, gamepad/touch navigation, UIDragDetector, CanvasGroup, tweens, BillboardGui/SurfaceGui, React-lua/Fusion/Vide. Use when building HUDs, menus, shops, inventories, or fixing UI that breaks on mobile, console, or other screen sizes.
roblox-testing
el4cteo/roblox-skills
Open the skill to read its SKILL.md instructions.
roblox-performance
el4cteo/roblox-skills
Open the skill to read its SKILL.md instructions.
roblox-game-systems
el4cteo/roblox-skills
Open the skill to read its SKILL.md instructions.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.