roblox-api
roblox-api
When to Use
Use this skill when the task is mainly about identifying or confirming the correct Roblox engine surface:
- Finding which class or service owns a capability.
- Checking whether a member is a property, method, event, or callback.
- Confirming datatype constructors, properties, methods, constants, or math behavior.
- Choosing the correct enum family and item for a property or parameter.
- Looking up globals such as
game,workspace,script,plugin, orEnum. - Confirming built-in library behavior such as
task,math,string,table,os, orvector. - Verifying exact parameter shapes, return values, and deprecation status before writing code.
Do not use this skill when the task is mainly about:
- Overall Roblox project structure, code placement, or client-server responsibility.
- Remote security, replication architecture, persistence design, or Open Cloud workflows.
- Broader system design where API lookup is secondary to structural decisions.
Decision Rules
- Use this skill if the main question is "what engine API should I call or read here?"
- Use this skill when a known problem needs the correct class, member, datatype, enum, global, or library surface.
- Start with the narrowest surface that matches the question:
- Class or service for engine objects and services.
- Datatype for value objects such as
Vector3,CFrame,RaycastParams, orTweenInfo. - Enum for preset values such as
Enum.RaycastFilterType.Exclude. - Global for always-available names like
game,workspace,script, orEnum. - Library for free functions under tables like
task,math,table, orstring.
- If the task is really about where code belongs, which side owns state, or how systems should be arranged, hand off to
roblox-core. - If the task centers on remotes, trust boundaries, replication correctness, or server authority, hand off to
roblox-networking. - If the task centers on persistent storage, quotas, save design, or cross-server state, hand off to
roblox-data. - If the task centers on Open Cloud, OAuth, or external integrations, hand off to
roblox-cloudorroblox-oauth. - If a request mixes referential lookup with out-of-scope design, answer only the engine-reference portion and explicitly exclude the rest.
Instructions
- Identify the missing fact before searching:
- Which engine object or service is responsible?
- Which member kind is needed?
- Which datatype or enum is expected by the API?
- Which global or library helper fits the job?
- Choose the correct reference file first:
references/engine-overview.mdfor surface selection.references/classes-reference.mdfor class, service, and member lookup.references/datatypes-reference.mdfor value types and their usage.references/enums-reference.mdfor enum families and items.references/globals-reference.mdfor Luau and Roblox globals.references/engine-library-yaml-files.mdfor built-in libraries.references/datatype-yaml-files.mdfor interpreting datatype YAML shape and overloads.
- Confirm the exact API contract before coding:
- Member name.
- Member kind.
- Parameter order and types.
- Return type.
- Property type.
- Enum family and item names.
- Deprecation or other tags.
- Prefer the documented modern surface when an older global or legacy form also exists:
- Prefer
task.wait()overwait(). - Prefer
task.delay()overdelay(). - Prefer
game:GetService()for service access when clarity matters.
- Prefer
- When a datatype or library page shows overloads, read all overloads before choosing a call pattern.
- When a parameter or property type points to another datatype or enum, follow that dependency and confirm it separately.
- Keep the answer referential and implementation-facing:
- Name the correct surface.
- State the relevant signature or property type.
- Mention any important enum values, tags, or constraints.
- Do not drift into architecture, persistence, or security-system design.
Using References
- Open
references/engine-overview.mdfirst when the user only knows the problem and not the engine surface. - Open
references/classes-reference.mdwhen the question is about classes, services, or member discovery. - Open
references/datatypes-reference.mdwhen a value object or helper container is involved. - Open
references/enums-reference.mdwhen an API expects a preset constant. - Open
references/globals-reference.mdwhen the question involves built-in names available in scripts. - Open
references/engine-library-yaml-files.mdwhen the needed API lives undertask,math,string,table,os,utf8,coroutine,debug,buffer,bit32, orvector. - Open
references/datatype-yaml-files.mdwhen constructor overloads, mutable-vs-immutable behavior, constants, or member lists need careful interpretation.
Checklist
- The missing fact is identified as class, member, datatype, enum, global, or library lookup.
- The chosen engine surface is the narrowest one that matches the problem.
- Member kind, parameter order, return type, and property type are confirmed before use.
- Required enum family and item names are spelled exactly.
- Datatype constructors or methods match the documented overload.
- Deprecated globals or legacy forms are not recommended unless necessary for compatibility.
- The response stays referential and does not drift into project architecture, persistence, or cloud workflows.
- Out-of-scope systems are handed off to the proper Roblox skill when needed.
Common Mistakes
- Using
roblox-apifor project structure questions that belong toroblox-core. - Guessing a member name without confirming whether it is a property, method, event, or callback.
- Passing raw numbers where an enum item is expected.
- Treating a datatype like an Instance class, or vice versa.
- Missing constructor overloads and choosing the wrong parameter order.
- Recommending deprecated globals like
wait()ordelay()whentaskequivalents are the modern surface. - Assuming a global exists in every context, especially
plugin. - Expanding a simple API lookup into networking, data, or cloud-system design.
Examples
Choose the right surface for a raycast
- Class or service:
Workspace(viaWorldRootbehavior) - Method:
Workspace:Raycast(origin, direction, raycastParams) - Datatype:
RaycastParams - Enum:
Enum.RaycastFilterType - Result datatype:
RaycastResult
Confirm a tween API call
- Class or service:
TweenService - Method:
TweenService:Create(instance, tweenInfo, propertyTable) - Datatype:
TweenInfo - Enums often involved:
Enum.EasingStyle,Enum.EasingDirection
Distinguish global, datatype, and enum usage
local Workspace = game:GetService("Workspace")
local params = RaycastParams.new()
params.FilterType = Enum.RaycastFilterType.Exclude
local cf = CFrame.lookAt(Vector3.new(0, 5, 10), Vector3.zero)
gameis a Roblox global.RaycastParams,CFrame, andVector3are datatypes.Enum.RaycastFilterType.Excludeis an enum item.
More from stackfox-labs/luau-skills
roblox-networking
Use for Roblox multiplayer communication across the client-server boundary: designing RemoteEvent, UnreliableRemoteEvent, and RemoteFunction flows; validating client requests; handling replication-aware gameplay; applying rate limits and anti-exploit checks; reasoning about network ownership, server-authority patterns, Input Action System use in authoritative gameplay, and streaming-sensitive multiplayer correctness.
35roblox-core
Use for foundational Roblox experience development: deciding what runs on the client or server, where scripts and modules belong, how to structure reusable code, and how to handle everyday services, attributes, bindables, workspace objects, input, camera, raycasts, collisions, and CFrame-based gameplay scripting in Studio.
29luau-performance
Use for Luau performance work focused on profiling hotspots, allocation-aware code structure, table and iteration costs, builtin and function-call fast paths, compiler/runtime optimization behavior, and environment constraints that change execution speed.
29luau-types
Use for Luau type-system work focused on strictness modes, annotations, inference-aware API design, generics, refinements, advanced type patterns, and Roblox-aware type usage at the type level.
25roblox-data
Use for Roblox persistent data and cross-server state design: choosing between DataStoreService, OrderedDataStore, MemoryStoreService, and MessagingService; designing save and load flows, schema shape, versioning, metadata, retries, quotas, observability, and concurrency-safe coordination across servers.
22roblox-oauth
Use for Roblox OAuth 2.0 work: registering an OAuth app, choosing confidential versus public client flows, implementing authorization code flow with PKCE, handling authorization callbacks and token refresh safely, selecting minimal scopes for Open Cloud access, and troubleshooting OAuth-specific auth failures.
3