el4cteo/roblox-skills

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.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/el4cteo/roblox-skills --skill roblox-code-review

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

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

SeverityExamples
CriticalClient-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.
HighData 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.
MediumDeprecated/superseded APIs; wait/spawn/delay; polling loops; server-side tweens; missing pcall on network/yielding APIs; missing late-joiner handling; race conditions on CharacterAdded.
LowStyle, naming, missing types, magic numbers, dead code, minor inefficiencies.

Checklist

Security (roblox-security)

  • Every OnServerEvent/OnServerInvoke: types checked with typeof, numbers math.isfinite, strings

length/UTF-8 checked, instances IsA + IsDescendantOf(trusted), rate limited, context checked.

  • No server-only logic, admin lists, or secrets in ReplicatedStorage/StarterPlayer/Workspace.
  • ProximityPrompt/ClickDetector/Touched handlers re-validate distance/state on the server.
  • Gameplay-critical unanchored parts are server-owned.

Data (roblox-data-stores)

  • Session locking (ProfileStore or equivalent); UpdateAsync for read-modify-write; retries with backoff.
  • BindToClose flushes saves in parallel; no saves of Instance/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 by PurchaseId; returns PurchaseGranted only 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 for Workspace content).

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.*, *Async variants, Raycast, mover constraints, PivotTo, Animator:LoadAnimation,

TextChatService, UIDragDetector, workspace collision-group APIs, CreatePath+ComputeAsync.

Code quality (roblox-luau)

  • --!strict with typed public APIs; services via GetService; no _G/shared.
  • Clear module boundaries; config separated from logic; tests for pure logic (roblox-testing).

Output format

text
## 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).

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills
el4cteo
社区

roblox-data-stores

Persistence and cross-server data - DataStoreService (UpdateAsync, retries, budgets, limits), session locking with ProfileStore, schema migrations, OrderedDataStore leaderboards, MemoryStore queues/sorted maps/hash maps, MessagingService, right-to-be-forgotten. Use when saving player data, building leaderboards or queues, or fixing data loss, duplication, or throttling.

1小时安装量
3
GitHub Stars
77
最近更新
11月3日
el4cteo
社区

roblox-luau

Modern, type-safe Luau for Roblox, covering --!strict and the new type solver, generics, string interpolation, if-expressions, task library, require-by-string, module/OOP patterns, error handling with retries, buffer/vector, and legacy APIs to avoid. Use when writing, refactoring, or explaining any Roblox script, fixing type errors, or modernizing old Lua code.

1小时安装量
3
GitHub Stars
77
最近更新
11月3日
el4cteo
社区

roblox-physics

Physics and spatial queries - Raycast/Blockcast/Spherecast, overlap queries, collision groups, Touched pitfalls, collision summaries (impact point/normal/speed), assemblies and welds, mover constraints replacing BodyMovers, mechanical constraints, network ownership, CFrame math, vehicles/projectiles, and server authority (BindToSimulation, prediction, rollback). Use when moving parts, detecting hits, building vehicles or projectiles, or fixing jitter, flinging, or ownership bugs.

1小时安装量
3
GitHub Stars
77
最近更新
11月3日
el4cteo
社区

roblox-analytics-liveops

Analytics and live ops - AnalyticsService economy/funnel/onboarding/progression/custom events, player segments, experience configs via ConfigService, A/B experiments, badges, experience notifications, timed events, daily rewards, season passes. Use when instrumenting a game, tuning economy or onboarding, running A/B tests or feature flags, or planning live events and re-engagement.

1小时安装量
2
GitHub Stars
66
最近更新
10月17日