mcpField
R
roblox-api

roblox-api

github.com/flatbedj开发061 次安装今天更新
代码仓库

关于 roblox-api

roblox-api 是用于查找 Roblox 引擎 API 并在编码前核实其准确契约的参考技能,面向 Roblox 开发者,涵盖类、成员、数据类型、枚举、全局名称和内置库,聚焦 API 查询而非系统设计。

主要功能

  1. 01查找类、服务和成员
  2. 02核实签名与返回值
  3. 03查询数据类型和枚举
  4. 04参考全局名称与内置库
  5. 05检查弃用状态

适用场景

  1. 01确认实现功能所需的 API
  2. 02核对方法参数和返回结果
  3. 03识别属性要求的枚举项
  4. 04查找旧调用的现代替代方式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/flatbedj/roblox-skills --skill roblox-api

安装后在 Claude Code 中输入/roblox-api确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
classes-reference.md
datatype-yaml-files.md
datatypes-reference.md
engine-library-yaml-files.md
engine-overview.md
enums-reference.md
globals-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 查询与范围外的设计内容,只回答引擎参考部分,并明确排除其余部分。

说明

  1. 搜索前先确定缺少的信息:
    • 由哪个引擎对象或服务负责?
    • 需要哪种成员?
    • API 需要哪种数据类型或枚举?
    • 哪个全局函数或库函数适合处理此问题?
  2. 先选择正确的参考文件:
    • 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 的结构和重载。
  3. 编写代码前,确认准确的 API 契约:
    • 成员名称。
    • 成员类型。
    • 参数顺序和类型。
    • 返回类型。
    • 属性类型。
    • 枚举类别和枚举项名称。
    • 弃用标记或其他标签。
  4. 如果同时存在较旧的全局函数或旧版形式,请优先使用有文档说明的现代接口:
    • 优先使用 task.wait(),而不是 wait()。
    • 优先使用 task.delay(),而不是 delay()。
    • 需要清晰表达服务访问时,优先使用 game:GetService()。
  5. 如果数据类型或库页面列出了多个重载,请先阅读所有重载,再选择调用方式。
  6. 如果参数或属性类型指向另一种数据类型或枚举,请继续查找该依赖并单独确认。
  7. 回答应以参考文档和实现为导向:
    • 指明正确的接口。
    • 写出相关签名或属性类型。
    • 说明重要的枚举值、标签或限制。
    • 不要偏离到架构、持久化或安全系统设计。

使用参考资料

  • 用户只描述了问题、尚未明确引擎接口时,先打开 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