关于 roblox-api
roblox-api 是面向 Roblox 开发的技能,用于查找和核实引擎 API 的类、成员、数据类型、枚举、全局项与内置库。它强调确认精确签名及弃用状态,并将架构、安全、数据和云端设计问题交给相关技能处理。
主要功能
- 01按类、数据类型、枚举等定位 API
- 02核实成员类型与调用签名
- 03查阅全局项和内置库行为
- 04识别弃用 API 与现代写法
- 05将非 API 设计问题转交相关技能
适用场景
- 01确认某项能力属于哪个服务或类
- 02检查方法参数、返回值或属性类型
- 03查找射线检测所需的数据类型和枚举
- 04编写代码前核实 API 是否已弃用
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ luumenlabs/ luau-skills --skill roblox-api安装后在 Claude Code 中输入/roblox-api确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/classes-reference.mddatatype-yaml-files.mddatatypes-reference.mdengine-library-yaml-files.mdengine-overview.mdenums-reference.mdglobals-reference.md详细介绍
roblox-api
适用场景
当任务主要是识别或确认正确的 Roblox 引擎接口时,请使用此技能:
- 查找负责某项功能的类或服务。
- 检查某个成员是属性、方法、事件还是回调。
- 确认数据类型构造函数、属性、方法、常量或数学行为。
- 为某个属性或参数选择正确的枚举类型及其项。
- 查找
game、workspace、script、plugin或Enum等全局对象。 - 确认
task、math、string、table、os或vector等内置库的行为。 - 编写代码前,核实确切的参数形式、返回值和弃用状态。
当任务主要涉及以下内容时,请勿使用此技能:
- Roblox 项目的整体结构、代码放置位置或客户端与服务器的职责。
- 远程通信安全、复制架构、持久化设计或 Open Cloud 工作流。
- API 查找只是次要环节的更广泛系统设计,其中主要工作是结构决策。
决策规则
- 如果核心问题是“这里应该调用或读取哪个引擎 API?”,请使用此技能。
- 当已知问题需要确认正确的类、成员、数据类型、枚举、全局对象或库接口时,请使用此技能。
- 从最贴合问题的接口类型入手:
- 引擎对象和服务使用类或服务。
Vector3、CFrame、RaycastParams或TweenInfo等值对象使用数据类型。Enum.RaycastFilterType.Exclude等预设值使用枚举。game、workspace、script或Enum等始终可用的名称使用全局对象。task、math、table或string等表下的自由函数使用库。
- 如果任务实际涉及代码应放在哪里、哪一端负责状态,或系统应如何组织,请转交给
roblox-core。 - 如果任务核心涉及远程通信、信任边界、复制正确性或服务器权威,请转交给
roblox-networking。 - 如果任务核心涉及持久化存储、配额、保存设计或跨服务器状态,请转交给
roblox-data。 - 如果任务核心涉及 Open Cloud、OAuth 或外部集成,请转交给
roblox-cloud或roblox-oauth。 - 如果请求混合了 API 查询与范围外的设计内容,只回答引擎参考部分,并明确排除其余部分。
说明
- 搜索前先确定缺少的信息:
- 由哪个引擎对象或服务负责?
- 需要哪种成员?
- API 需要哪种数据类型或枚举?
- 哪个全局函数或库函数适合处理此问题?
- 先选择正确的参考文件:
references/engine-overview.md用于选择接口范围。references/classes-reference.md用于查找类、服务和成员。references/datatypes-reference.md用于查找值类型及其用法。references/enums-reference.md用于查找枚举类别和枚举项。references/globals-reference.md用于查找 Luau 和 Roblox 全局对象。references/engine-library-yaml-files.md用于查找内置库。references/datatype-yaml-files.md用于理解数据类型 YAML 的结构和重载。
- 编写代码前,确认准确的 API 契约:
- 成员名称。
- 成员类型。
- 参数顺序和类型。
- 返回类型。
- 属性类型。
- 枚举类别和枚举项名称。
- 弃用标记或其他标签。
- 如果同时存在较旧的全局函数或旧版形式,请优先使用有文档说明的现代接口:
- 优先使用
task.wait(),而不是wait()。 - 优先使用
task.delay(),而不是delay()。 - 需要清晰表达服务访问时,优先使用
game:GetService()。
- 优先使用
- 如果数据类型或库页面列出了多个重载,请先阅读所有重载,再选择调用方式。
- 如果参数或属性类型指向另一种数据类型或枚举,请继续查找该依赖并单独确认。
- 回答应以参考文档和实现为导向:
- 指明正确的接口。
- 写出相关签名或属性类型。
- 说明重要的枚举值、标签或限制。
- 不要偏离到架构、持久化或安全系统设计。
使用参考资料
- 用户只描述了问题、尚未明确引擎接口时,先打开
references/engine-overview.md。 - 问题涉及类、服务或成员查找时,打开
references/classes-reference.md。 - 问题涉及值对象或辅助容器时,打开
references/datatypes-reference.md。 - API 需要预设常量时,打开
references/enums-reference.md。 - 问题涉及脚本中可用的内置名称时,打开
references/globals-reference.md。 - 所需 API 属于
task、math、string、table、os、utf8、coroutine、debug、buffer、bit32或vector时,打开references/engine-library-yaml-files.md。 - 需要仔细理解构造函数重载、可变与不可变行为、常量或成员列表时,打开
references/datatype-yaml-files.md。
检查清单
- 已将缺少的信息确定为类、成员、数据类型、枚举、全局对象或库函数查找。
- 选择的引擎接口范围与问题匹配,且尽可能精确。
- 使用前已确认成员类型、参数顺序、返回类型和属性类型。
- 所需的枚举类别和枚举项名称拼写准确。
- 数据类型构造函数或方法符合文档所述的重载。
- 除非兼容性需要,否则不推荐使用已弃用的全局函数或旧版形式。
- 回答以参考文档为导向,不偏离到项目架构、持久化或云工作流。
- 必要时,将超出范围的系统问题转交给相应的 Roblox 技能。
常见错误
- 用
roblox-api回答本应属于roblox-core的项目结构问题。 - 未确认成员是属性、方法、事件还是回调,就猜测成员名称。
- 需要枚举项时传入原始数字。
- 把数据类型当作 Instance 类,或反过来。
- 忽略构造函数重载,导致参数顺序错误。
- 现代接口已有对应的
task函数,却仍推荐已弃用的全局函数,例如wait()或delay()。 - 假定某个全局对象在所有上下文中都存在,尤其是
plugin。 - 将简单的 API 查询扩展成网络、数据或云系统设计。
示例
为 raycast 选择合适的接口
- 类或服务:
Workspace(通过WorldRoot行为) - 方法:
Workspace:Raycast(origin, direction, raycastParams) - 数据类型:
RaycastParams - 枚举:
Enum.RaycastFilterType - 结果数据类型:
RaycastResult
确认 tween API 调用
- 类或服务:
TweenService - 方法:
TweenService:Create(instance, tweenInfo, propertyTable) - 数据类型:
TweenInfo - 常涉及的枚举:
Enum.EasingStyle、Enum.EasingDirection
区分全局变量、数据类型和枚举用法
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)
game是 Roblox 全局变量。RaycastParams、CFrame和Vector3是数据类型。Enum.RaycastFilterType.Exclude是枚举项。
评论
支持 Markdown