Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Avoid common Roblox mistakes — server/client security, DataStore pitfalls, memory leaks, and replication gotchas.
Avoid common Roblox mistakes — server/client security, DataStore pitfalls, memory leaks, and replication gotchas.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Server scripts in ServerScriptService — never trust client data LocalScripts in StarterPlayerScripts or StarterGui — client-only RemoteEvent for fire-and-forget — RemoteFunction when server needs to return value ALWAYS validate on server — client can send anything, exploiters will
Never trust client input — validate everything server-side Server-side sanity checks — is player allowed? Is value reasonable? FilteringEnabled is always on — but doesn't protect your RemoteEvents Don't expose admin commands via RemoteEvents — check permissions server-side
:GetAsync() and :SetAsync() can fail — wrap in pcall, retry with backoff Rate limits: 60 + numPlayers × 10 requests/minute — queue writes, batch when possible :UpdateAsync() for read-modify-write — prevents race conditions Session locking — prevent data loss on rejoin, use :UpdateAsync() with check Test with Studio API access enabled — Settings → Security → API Services
Connections not disconnected — store and :Disconnect() when done :Destroy() instances when removed — sets Parent to nil and disconnects events Player leaving without cleanup — Players.PlayerRemoving to clean up Tables holding references — nil out references you don't need
Character may not exist at PlayerAdded — use player.CharacterAdded:Wait() or event Character respawns = new character — reconnect events on CharacterAdded Humanoid.Died fires on death — for death handling logic LoadCharacter() to force respawn — but prefer natural respawn usually
ServerStorage: server-only — clients can't see ReplicatedStorage: both see — shared modules and assets ReplicatedFirst: loads first on client — loading screens Workspace replicates to clients — but server is authority
game:GetService("ServiceName") — don't index directly, fails in different contexts Cache service references — local Players = game:GetService("Players") Common: Players, ReplicatedStorage, ServerStorage, RunService, DataStoreService
Heartbeat after physics — most gameplay logic RenderStepped client only, before render — camera, visual updates Stepped before physics — physics manipulation Avoid heavy computation every frame — spread over multiple frames
wait() deprecated — use task.wait() for reliable timing spawn() deprecated — use task.spawn() or task.defer() Module require returns cached — same table across requires, changes shared :Clone() doesn't fire events — manually fire if needed Part collisions with CanCollide false — still fire Touched, use CanTouch
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.