roblox — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited roblox (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Engine API Reference (always the source of truth for classes/properties): https://create.roblox.com/docs/reference/engine
Full documentation indexes for agents:
This hub skill exists because individual topics are deep and interconnected. It gives you the big picture, decision frameworks, and explicit pointers (with relative file paths) into the specialized skills' references/ folders so agents can load only the exact detailed material needed.
Any mention of Roblox, Luau scripting inside experiences, building places, characters, UI/HUD/menus, saving data, animations, particles/effects, gamepasses/shops/monetization, services, client-server code, or "make this look good / feel responsive / be secure".
The sub-skills have very specific descriptions for precise activation. This hub is the safe default when the task is broad Roblox development.
Load the full specialized SKILL.md when the task narrows. Then follow its "Read references/xxx.md for details" instructions for granular depth.
Its references/ cover types-of-datastores.md, core-operations-and-patterns.md, limits-quotas-throttling-error-codes.md, versioning-metadata-recovery.md, best-practices-and-gotchas.md (listing/caching/advanced profiles covered in these and the main SKILL.md).
Its references/ cover 3d-animations.md, ui-tweens-and-sequences.md, integration-and-events.md (IK and TweenService details in 3d-animations and ui-tweens).
Its references/ cover gui-containers.md, particles-in-ui.md. scripts/UIParticlePool.lua is a 2D UI particle burst example.
Its references/ expand on creation-and-setup.md, purchase-flow-and-granting.md, rules-policies-and-security.md, policyservice.md (per-player policy gating: ArePaidRandomItemsRestricted, IsEligibleToPurchaseSubscription, China policies, trade rules), subscriptions.md (recurring monthly benefits: GetUserSubscriptionStatusAsync, PromptSubscriptionPurchase, UserSubscriptionStatusChanged, payout rules, migration from passes).
Its references/ cover particle-emitter-properties.md, shapes-flipbooks-and-advanced.md.
Its references/ break down services-catalog-and-usage.md, luau-data-types-and-serialization.md, script-locations-contexts-and-architecture.md. Hub-level architecture principles live in references/architecture-principles.md.
Its references/ cover remote-and-bindable-patterns.md, server-authority-and-validation.md, exploits-and-defenses.md. Cross-skill secure flows are covered in references/cross-skill-integration.md.
Its references/ cover setup-and-connection.md, tool-reference.md, script-sync-integration.md, security-and-troubleshooting.md. Diagnostic scripts are in scripts/MCPReadyChecker.lua and scripts/StudioModelProbe.lua.
Its references/ cover mechanical-constraints.md, mover-constraints.md, network-ownership.md, collisions-and-filtering.md, units-and-physical-properties.md. Example scripts are in scripts/VehicleController.lua, scripts/DoorHinge.lua, scripts/PlatformMover.lua, and scripts/Suspension.lua.
Its references/ cover pathfinding-service-details.md, modifiers-links-and-streaming.md, npc-behavior-patterns.md, performance-and-scaling.md. Example scripts are in scripts/NPCPathFollower.lua, scripts/PatrolBehavior.lua, and scripts/PathfindingUtility.lua.
Its references/ cover testing-patterns.md, debugging-tools.md, performance-profiling.md, common-bugs-and-fixes.md. Example scripts are in scripts/TestRunner.lua, scripts/Logger.lua, and scripts/DebugDraw.lua.
Its references/ cover audio-effects.md, audio-graph-vs-sound.md. Example script in scripts/AudioBus.lua.
Its references/ cover auth-and-keys.md, calling-from-in-experience.md. Example script in scripts/OpenCloudRequest.lua.
Its references/ cover teleport-options.md, matchmaking.md. Example script in scripts/TeleportHelper.lua.
See the individual skills for full versions with error handling.
Service acquisition:
--!strict
local TweenService: TweenService = game:GetService("TweenService")
local DataStoreService: DataStoreService = game:GetService("DataStoreService")
local MarketplaceService: MarketplaceService = game:GetService("MarketplaceService")
local RunService: RunService = game:GetService("RunService")Safe datastore (see roblox-datastores skill for the full SafeDataStore wrapper in its scripts/):
--!strict
-- assumes `store`, `key`, `newValue`, `userIds`, and `metadata` are already in scope
local success: boolean, value: any, keyInfo: DataStoreKeyInfo? = pcall(function(): (any, DataStoreKeyInfo?)
return store:UpdateAsync(key, function(current: any, info: DataStoreKeyInfo?): (any, {number}?, {[string]: any}?)
-- pure transform, no yielding
return newValue, userIds, metadata
end)
end)Modern animation play:
--!strict
-- Player characters: the engine creates the Animator; load animations client-side.
-- For local NPCs/rigs without one, create the Animator once and reuse it.
local humanoid: Humanoid = (script.Parent :: Instance):WaitForChild("Humanoid") :: Humanoid
local animator: Animator = humanoid:WaitForChild("Animator") :: Animator
local animInstance: Animation = script:WaitForChild("Animation") :: Animation
local track: AnimationTrack = animator:LoadAnimation(animInstance)
track:Play(0.1, 1, 1)
track:GetMarkerReachedSignal("MarkerName"):Connect(function(param: string)
-- spawn effect, play sound, start tween, etc.
end)UI tween (scale + AnchorPoint):
--!strict
local TweenService: TweenService = game:GetService("TweenService")
local obj: GuiObject = (script.Parent :: Instance) :: GuiObject
obj.AnchorPoint = Vector2.new(0.5, 0.5)
TweenService:Create(obj, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.fromScale(1.1, 1.1)
} :: { [string]: any }):Play()Purchase flow (see gamepasses skill):
Audio:
AudioPlayer + AudioEmitter + AudioDeviceOutput (the new audio graph API).Sound objects still work but are the older API.Workspace.SignalBehavior = Enum.SignalBehavior.Deferred (or use the corresponding project setting) so events queue and flush, avoiding re-entrancy issues.TextChatService for modern chat; the legacy Chat service still exists but is the older API.MemoryStoreService for cross-server, short-lived, or high-throughput data, not regular DataStores.Actor instances and task.synchronize() / task.desynchronize() for compute-heavy work, with careful shared-state rules.buffer Luau type for compact binary data, serialization, and bit/byte manipulation.ScreenGui.ScreenInsets and related properties to respect device notches and safe areas.Configuration instances) for live configuration and feature flags.This collection is intentionally deeper and more structured than generic "Roblox scripting" advice precisely because current models have gaps in the current Roblox API surface, limits details, modern patterns (Animator, IKControl, full DataStore v2, configurable rate limits, ViewportFrame previews for 3D UI — note ViewportFrame does not render ParticleEmitter, Beam, Trail, or most 3D effects, etc.), and security realities.
Use it, follow the references, and the resulting code will be correct, efficient, secure, and maintainable.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.