关于 roblox-dev-skill
面向使用 Luau 开发 Roblox 体验的技能,依据 Roblox 文档、Luau 规范和 Roblox Lua 风格指南提供指导。它包含领域参考资料,并指导在可用时使用 Roblox Studio 自带的 MCP 工具,否则提供可直接放置的脚本。
主要功能
- 01Luau 语法与风格指导
- 02架构和游戏系统参考资料
- 03Roblox API 与文档查询流程
- 04Roblox Studio MCP 工具使用说明
- 05MCP 工具不可用时提供可复制的 Luau 脚本
适用场景
- 01开发或调试 Roblox 体验
- 02检查客户端与服务器通信及安全
- 03修改代码前查询 Roblox API
- 04使用 Studio 工具检查和测试游戏场景
MCP 相关
此技能不是 MCP 服务,也不提供工具。它指导 Agent 在可用时检测并使用 Roblox Studio 内置的 MCP 工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ msayib/ roblox-dev-skill --skill roblox-dev-skill安装后在 Claude Code 中输入/roblox-dev-skill确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitattributes.gitignoreLICENSEREADME.mdCHANGELOG.mdinstall.shinstall.cmdinstall.ps1metadata.json.github/workflows/ci.ymldocs/installation.mdhow-it-works.mdrobloxdocs.mdclaims.mdtesting.mdevals/evals.jsonreferences/agent-safety.mdfile-formats-and-assets.mdmonetization.mdlegacy-migration.mddatastore-persistence.mdmcp-integration.mdluau-fundamentals.mdnetworking.mdperformance-optimization.mdstudio-plugins-and-limits.mdproject-structure.mdworked-examples.mdsecurity-hardening.mdui-systems.md详细介绍
Roblox 游戏开发技能
使用 Luau 构建 Roblox 体验的专业开发助手。内容以 Roblox 官方文档(https://create.roblox.com/docs)、Luau 语言规范 (https://luau.org)和 Roblox Lua 风格指南(https://roblox.github.io/lua-style-guide/)为依据。
引擎:Roblox Studio 0.744.0.7441077 搭配 Luau 0.743(发布于 2026-10-16;尚未发布 0.744 版本)——已下载转储文件、重新拆分,并与 0.743 进行差异比较;2026-10-22 在 Studio 0.744 中运行了所有开发者可见的变更。共 947 个类 / 652 个枚举;本地有 266 个名称为
*Service的类文件(346 个类带有Service标签)和 48 个已弃用类(574 个成员)。 官方文档已核查至 2026-10-22。Roblox 大约每周发布一次,因此此处的版本信息注定会过时——切勿将其作为当前版本引用。请重新获取:
curl -s "https://clientsettings.roblox.com/v2/client-version/MacStudio" # 或 WindowsStudio64 curl -s "https://api.github.com/repos/luau-lang/luau/releases?per_page=1" | grep tag_name
WindowsStudio(不带64)端点返回的值已经过时很久——截至 2026-09-06,其返回值仍为0.578.0.5780566。请使用WindowsStudio64或MacStudio。如果不确定某个 API,请查询资料(见下文的 API 与文档查询),不要凭记忆作答。如果仍不清楚,请先询问用户再继续。
MCP 检测
每次调用时,都要先检测可用的 Roblox Studio MCP 工具,再继续:
官方 Roblox MCP(Roblox_Studio 服务)
此技能是知识库,不是 MCP 服务。 它不提供工具或执行界面。下方列出的工具属于 Roblox 自有的 MCP 服务,内置于 Studio——此技能只会告诉你如何更好地使用这些工具。官方参考: https://create.roblox.com/docs/studio/mcp
文档页面列出了 26 个工具。在 2026-10-17、2026-10-21(Studio 0.743)和 2026-10-22(Studio 0.744)观察到的构建版本中,公开了 28 个工具:
除上述工具外,还包括未编入文档的 generate_texture 和 segment_mesh。2026-10-11(Studio 0.742)观察到的 list_plugin_guis 和
capture_plugin_gui 已不再提供。请检测宿主实际提供的工具,不要仅依赖此表格。
| 工具 | 用途 |
|---|---|
execute_luau | 以插件权限在 Studio 中运行 Luau——返回结果或错误 |
multi_edit | 对一个脚本应用多项精确匹配的编辑(如果脚本不存在则创建);仅限 Edit 数据模型 |
script_read | 读取整个脚本源码或指定行范围;输出格式为 LINE→CONTENT |
script_search / script_grep | 按名称查找脚本(模糊匹配,≤10 个)或按内容查找(≤50 个匹配项) |
search_game_tree | 以扁平 JSON 浏览 DataModel,可按路径/类型/关键词筛选 |
inspect_instance | 查看单个实例的属性、特性和子项摘要 |
subagent | 启动 Roblox 侧的 subagent,执行自主多步骤工作(类型因构建版本而异) |
get_studio_state | 查看运行状态以及可用的数据模型类型 |
start_stop_play | 开始/停止游戏测试 |
get_console_output | 读取 Output/控制台日志 |
screen_capture | 捕获视口画面,可选择自定义摄像机 |
character_navigation | 将角色移动到某个位置或实例路径 |
user_mouse_input / user_keyboard_input | 模拟有序的鼠标/键盘操作 |
search_asset / insert_asset | 搜索 Creator Store + Inventory;按资源 ID 插入 |
store_image | 将本地 png/jpg(≤5 MB)转换为 IMAGEID_ URI,供其他工具使用 |
upload_image | 批量上传HTTP(S) URL 中的图片 → imagePath→assetId 映射 |
generate_mesh / generate_procedural_model | 生成 3D 内容 |
generate_material | 生成 MaterialVariant;返回基础材质和变体名称 |
generate_texture | 为现有 MeshPart/Model 重新贴图——会就地替换源对象(请先复制) |
segment_mesh | 将现有网格拆分为 ≤5 个命名部分;在源对象旁插入一个新 Model |
wait_job_finished | 等待后台 jobId 完成(由工具自身的 async: true 返回) |
http_get | 从允许列表获取 Roblox 文档;URL 必须以 .md 结尾或为 llms.txt |
skill | Roblox 官方提供的 rbx-* 参考资料(调试、性能、场景分析等) |
list_roblox_studios | 列出已连接的 Studio 实例(名称 + place ID) |
每次调用都需要
studio_id。 没有“设置活动 Studio”的工具——请先调用list_roblox_studios,并在之后的每次调用中传入所需的 ID。通常会同时打开多个 Studio 实例,因此选错 ID 会在不提示的情况下操作错误的 place。
datamodel_type的支持不对称。execute_luau接受Edit/Client/Server;multi_edit仅接受Edit,因此无法在游戏测试期间编辑脚本——请先停止游戏测试。Client和Server仅在游戏测试期间存在;请检查get_studio_state。每次调用
multi_edit只能编辑一个脚本,参数为file_path和edits[{old_string, new_string, replace_all}]。替换操作按顺序执行,精确匹配,并在调用中原子完成:如果某个old_string不匹配,调用就会失败,脚本也不会更改(测试于 2026-10-11)。不要求事先调用script_read,但仍请先读取,因为old_string必须与源内容完全匹配,包括空白字符。请用
script_read确认script_grep返回的行号。 2026-09-06,它报告在第 171 行找到匹配项,但script_read显示该内容实际在后面 15 行;2026-10-11(Studio 0.742)的两次测试均返回了准确行号,因此原因尚不明确。请用它查找哪个脚本包含某个字符串,再用script_read确定实际位置。没有
run_as_job工具。 本文件的早期版本曾列出此工具,但它既不存在于文档中,也未在任何已观察到的构建版本中出现。异步是各工具独立的参数,调用后会返回jobId。 如果有可用的 MCP 工具,优先使用它们来:
- 在编写新脚本之前读取现有脚本(
script_read、script_search) - 运行代码以验证更改(
execute_luau) - 检查游戏树以了解项目结构(
search_game_tree) - 通过试玩测试更改(
start_stop_play、get_console_output) - 使用 Roblox 自带的领域技能(
skill)进行调试、MicroProfiler 和场景分析—— 这些技能由第一方提供,并随 Studio 一同更新版本
在首次修改任何会话之前,请阅读 references/agent-safety.md。Roblox 自带的警告:“MCP 客户端可以读取和修改已在 Roblox 中打开的内容。”没有试运行模式,也没有可靠的撤销功能。写入前,请确认目标 place。
如果没有可用的 MCP 工具,请提供可直接复制粘贴的 Luau 脚本,并明确说明脚本的放置位置(应放入哪个服务容器)。
路由表
根据用户意图选择相应的参考文件。生成代码前请先阅读该文件。
| 用户意图 | 参考文件 |
|---|---|
| 实际应该如何安排这些步骤? 端到端的实操模式:构建由服务器权威控制的功能、通过 MCP 调试、迁移弃用项、验证 API、拒绝不安全请求、发放开发者产品、迁移已保存的数据、从 Input Action 打开菜单 | references/worked-examples.md |
| Luau 语法、类型、命名约定、风格 | references/luau-fundamentals.md |
| 项目布局、架构、模式 | references/project-structure.md |
| 保存/加载玩家数据、DataStore、ProfileStore | references/datastore-persistence.md |
客户端-服务器通信、RemoteEvents、输入、文本聊天(TextChatService、聊天命令、平台集成聊天) | references/networking.md |
| 安全、防漏洞利用、服务器权威控制、封禁 | references/security-hardening.md |
| Agent→Studio 安全、具有破坏性的 MCP 操作、place 内容中的提示注入 | references/agent-safety.md |
| 性能、内存、优化、Parallel Luau | references/performance-optimization.md |
| 有效使用 Roblox Studio MCP 工具 | references/mcp-integration.md |
| UI、GUI、ScreenGui、菜单、HUD、StyleQuery | references/ui-systems.md |
| 迁移旧版代码、已弃用的 API | references/legacy-migration.md |
| 变现、游戏通行证、捐赠、转账 | references/monetization.md |
| 文件格式、导入/导出、资源管理 | references/file-formats-and-assets.md |
插件、Script.Source 限制、HttpService/引擎限制 | references/studio-plugins-and-limits.md |
如果任务是“动手做”类任务(构建、调试、迁移、查询、出售、绑定输入),请从 worked-examples.md 开始,而不是从“了解知识”类任务入手。它提供调用顺序和验证步骤,每个示例还附有不适用此模式列表,可将相似但不同的请求导向正确位置,而非最熟悉的模式。如果示例与参考文件内容不一致,以参考文件为准。
如果意图涉及多个领域,请阅读所有相关文件。 如果参考文件未充分涵盖某个主题,请使用下文的官方文档查询工作流。
API 与文档查询
优先级 1:本地 API 参考文档(~/RobloxDocs/)
务必先检查本地文件——它们已预先拆分,读取成本远低于完整转储,且无需联网。如果存在 ~/RobloxDocs/RobloxAPI/,请使用其中的文件。
成本低多少?这是 2026-10-22 在 0.744.0.7441077 上重新测量的结果(此前“缩小 845 倍”的说法无法通过任何测量复现,因此这里列出实际数据和用于得出数据的命令):完整转储为 8,637,337 字节;947 个拆分后的类文件大小为 最小 101 B、中位数 2,059 B、平均 4,863 B、最大 105,173 B。因此,查询一个典型类所读取的内容约占完整转储的 0.02%,即使读取最大的类,也不到完整转储的 1.3%。可使用以下命令重新测量:
# Portable (macOS, Linux, Windows). Do not use `stat -f %z`: on Linux `stat -f` reports the
# *filesystem*, not the file, and prints a wrong number without any error. It also reads the
# 75-byte latest.json symlink instead of the dump unless you remember -L.
python3 -c "import os,glob,statistics as s; d=os.path.expanduser('~/RobloxDocs/RobloxAPI'); \
z=sorted(os.path.getsize(f) for f in glob.glob(d+'/classes/*.json')); \
print('dump', os.path.getsize(os.path.realpath(d+'/dumps/latest.json')), 'B | n', len(z), \
'min', z[0], 'median', int(s.median(z)), 'mean', int(s.mean(z)), 'max', z[-1])"
# Look up a specific class (~2 KB median vs the 8.6 MB full dump — see measurement above)
cat ~/RobloxDocs/RobloxAPI/classes/<ClassName>.json
# Query a specific property/method (jq if installed; the python3 form works everywhere)
jq '.Members[] | select(.Name == "<MemberName>")' ~/RobloxDocs/RobloxAPI/classes/<ClassName>.json
python3 -c "import json,os; print([m for m in json.load(open(os.path.expanduser('~/RobloxDocs/RobloxAPI/classes/<ClassName>.json')))['Members'] if m['Name']=='<MemberName>'])"
# Find all services
cat ~/RobloxDocs/RobloxAPI/service-index.json
# Check what's deprecated
cat ~/RobloxDocs/RobloxAPI/deprecated-index.json
# Search across classes by filename
ls ~/RobloxDocs/RobloxAPI/classes/ | grep -i <keyword>
# Search for a property across all classes
grep -l '"<PropertyName>"' ~/RobloxDocs/RobloxAPI/classes/*.json
**过时检查:**使用本地数据前,请先确认其是否为最新版本:
# Check when local data was last updated
cat ~/RobloxDocs/RobloxAPI/.current-version
# → {"version": "0.744.0.7441077", "platform": "MacStudio", "platformVersion": "0.744.0.7441077",
# "winHash": "version-7aaa6838d36c4448", "updatedAt": "2026-10-22T08:20:48Z", "checkedAt": "2026-10-22T08:20:48Z"}
读取实际存在的时间戳:
updatedAt或checkedAt。updatedAt表示上次下载转储的时间;checkedAt表示上次检查版本的时间。当前监控工具(skill 2.12.0+)始终会写入这两个字段,但较旧的 zsh 脚本下载后只会写入updatedAt,因此尚未刷新工具的安装可能完全没有checkedAt。此文件的早期版本曾要求 Agent 读取checkedAt,但这样会悄无声息地查不到任何内容。
如果该时间戳已超过 7 天,或本地找不到某个类或成员,请继续使用下方的实时网络回退方案,并告知用户本地转储看起来已过时。 可询问用户是否要刷新:
# Only after the user agrees — this downloads and re-splits the API dump
~/RobloxDocs/scripts/roblox-api-monitor.sh # macOS, Linux, WSL, Git Bash
python "%USERPROFILE%\RobloxDocs\scripts\roblox-api-monitor.py" # Windows without bash
如果 ~/RobloxDocs 完全不存在,说明用户从未设置过该目录。请告知用户,并引导他们使用安装程序的 --docs-only 选项(PowerShell 中为 -DocsOnly),而不要自行创建该目录。
不要将此操作放到后台,也不要未经询问就运行。 此文件的早期版本曾要求 Agent 自动运行
roblox-api-monitor.sh &,这既与下方“知识新鲜度检查”(“未经用户批准,绝不自动更新”)相矛盾,也与 README 不符。此工具没有计划任务,也没有后台作业;刷新操作由用户手动触发。过时状态绝不能阻碍回答——请改用网络来源,并说明这一点。
优先级 2:实时网络来源(回退方案)
当本地数据未涵盖相关主题、已过时,或需要文档说明时,请使用以下来源:
| 资源 | URL | 用途 |
|---|---|---|
| LLM 文档索引 | https://create.roblox.com/docs/llms.txt | 按主题浏览所有可用的文档页面 |
| 完整文档(单个文件) | https://create.roblox.com/docs/llms-full.txt | 全面的单文件参考文档 |
| 单页 Markdown | https://create.roblox.com/docs/en-us/{path}.md | 以简洁 Markdown 格式阅读特定文档页面 |
| 引擎 API 索引 | https://create.roblox.com/docs/reference/engine/llms.txt | Luau API 类、方法和事件 |
| Open Cloud API 索引 | https://create.roblox.com/docs/cloud/llms.txt | 发现所有 Cloud REST API 的首选来源:功能、域名、指南和身份验证 |
| OpenAPI 规范(原始文件) | https://create.roblox.com/docs/cloud/openapi.json | 供 MCP/代码生成工具使用的机器可读 OpenAPI 规范 |
| 已弃用 API 检查 | https://robloxapi.github.io/ref/class/<Name>.html | 检查单个类或成员的状态(已弃用项会以视觉方式标出) |
如果通过 Studio 的
http_get工具获取这些内容,请注意其允许列表:仅允许create.roblox.com/docs(包括/reference/engine、/cloud、/performance-optimization)和github.com/Roblox/libmp,且URL 必须以.md结尾,或为llms.txt。因此,llms-full.txt、openapi.json和robloxapi.github.io都会被http_get拒绝——请改用相应主机提供的获取工具或curl。http_get的query参数只会返回匹配的章节,相比将整个页面载入上下文,成本低得多。github.com/Roblox/libmp/blob/….mdURL 虽然可用,但返回的是 GitHub 的 HTML 页面(2026-10-21 测得);请改用curl从raw.githubusercontent.com读取 LibMP 文件。
查找工作流
- 检查是否有参考文件涵盖该主题(见上方路由表)
- 查看
~/RobloxDocs/RobloxAPI/classes/<Name>.json,了解引擎 API 详情 - 如果本地未找到,则使用宿主提供的任意网页抓取工具,获取对应页面的 Markdown URL
(Claude Code 中使用
WebFetch,Shell 中使用curl——URL 是可移植的部分)- 示例:
https://create.roblox.com/docs/en-us/studio/importer.md
- 示例:
- 如果不确定要查看哪个页面,请浏览
llms.txt,查找正确的 URL - 对于 Open Cloud / REST API 主题,请阅读
https://create.roblox.com/docs/cloud/llms.txt- 先搜索 Features 部分,再搜索 Domains
- 优先使用 Open Cloud 端点(API key / OAuth),而非旧版 Cookie 身份验证端点
- 回退方案:Context7。其 MCP 工具依次为
resolve-library-id和query-docs(经核查的 upstash/context7 README,日期为 2026-10-11;此文件的早期版本将第二个工具称为get-library-docs,并称query-docs不存在)。如果未连接 MCP 服务,CLI 也能完成相同工作:npx ctx7@latest library "Roblox",然后运行npx ctx7@latest docs <libraryId> "<question>" - 如果仍不清楚,请先询问用户,再继续
重要:引擎 API(通过
game:GetService()使用 Luau)和 Open Cloud API (通过x-api-key使用 HTTP REST)是完全独立的系统。使用错误的索引会导致代码无法运行。
检查已弃用的 API:按以下优先顺序使用这些方法:
cat ~/RobloxDocs/RobloxAPI/deprecated-index.json——即时本地查询cat ~/RobloxDocs/RobloxAPI/deprecated/<ClassName>.json——查看完整的已弃用类详情- 检查
robloxapi.github.io/ref/class/<Name>.html——已弃用成员会有醒目标记- 使用 Context7(
resolve-library-id→get-library-docs,或ctx7CLI)查询特定 API
核心编码规范
这些规则适用于所有生成的 Roblox/Luau 代码,不可妥协。
1. 类型安全
- 在每个新脚本的顶部使用
--!strict - 为函数参数和返回值添加类型注解
- 对复杂数据结构使用
type关键字定义自定义类型
2. 命名约定(Roblox 官方风格)
- PascalCase:类、ModuleScripts、构造函数、服务——
CombatService、PlayerData - camelCase:变量、函数、参数——
playerHealth、calculateDamage() - UPPER_SNAKE_CASE:常量——
MAX_HEALTH、DEFAULT_SPEED - 拼写完整单词,避免使用缩写
- 不要将首字母缩写全部大写:使用
JsonTable,而不是JSONTable
3. 现代 API 用法
- 使用
task.spawn()、task.delay()、task.wait()——不要使用旧版的spawn()、delay()、wait() - 使用
task.cancel()清理延迟任务 - 清理时务必断开事件连接:
connection:Disconnect() - 使用
pcall()或xpcall()包装可能失败的操作
4. 架构规则
- 服务器权威:所有游戏状态变更都在服务器上进行
- 使用 ModuleScripts 编写共享逻辑,避免使用臃肿的单体脚本
- Service/Controller 模式:Services(服务器)、Controllers(客户端)
- 将脚本放入正确的容器:
- 服务器逻辑 →
ServerScriptService - 客户端逻辑 →
StarterPlayerScripts或StarterCharacterScripts - 共享模块 →
ReplicatedStorage - 仅服务器可见的数据 →
ServerStorage - UI →
StarterGui
- 服务器逻辑 →
5. 错误处理
local success, result = pcall(function()
return DataStoreService:GetDataStore("PlayerData"):GetAsync(key)
end)
if not success then
warn("[DataService] Failed to load data:", result)
-- Handle gracefully: use defaults, retry, etc.
end
6. 安全性(始终遵守)
- 切勿信任客户端发送的数据——在服务器上验证类型、范围和权限
- 将敏感逻辑放在
ServerScriptService中(客户端不可见) - 验证 RemoteEvent 参数:检查
typeof()、范围和玩家状态 - 限制客户端 RemoteEvent 调用的频率
- 切勿将管理员命令或服务器密钥暴露在 ReplicatedStorage 中
脚本模板
创建新脚本时,请以此模板为起点:
--!strict
-- [ScriptName]
-- [Brief description of what this script does]
-- Container: [ServerScriptService/StarterPlayerScripts/ReplicatedStorage]
----- Services -----
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
----- Dependencies -----
-- local SomeModule = require(ReplicatedStorage.Modules.SomeModule)
----- Constants -----
local MAX_VALUE = 100
----- Types -----
type PlayerData = {
coins: number,
level: number,
inventory: { string },
}
----- Variables -----
local activeConnections: { [Player]: { RBXScriptConnection } } = {}
----- Private Functions -----
local function cleanup(player: Player)
local connections = activeConnections[player]
if connections then
for _, conn in connections do
conn:Disconnect()
end
activeConnections[player] = nil
end
end
----- Public / Event Handlers -----
local function onPlayerAdded(player: Player)
activeConnections[player] = {}
-- Setup logic here
end
----- Initialization -----
Players.PlayerAdded:Connect(onPlayerAdded)
Players.PlayerRemoving:Connect(cleanup)
-- Handle players already in game (Studio hot-reload)
for _, player in Players:GetPlayers() do
task.spawn(onPlayerAdded, player)
end
响应准则
- 先询问,再构建:如果请求含糊不清,请询问有关类型、规模和目标受众的澄清问题
- 先阅读,再编写:如果 MCP 可用,修改前先阅读现有脚本和游戏树
- 小步迭代:复杂系统每次生成 50-100 行,更容易调试
- 解释原因:为不明显的代码添加注释,并解释架构决策
- 测试路径:建议如何测试代码(游玩测试步骤、控制台检查)
- 关注迁移:修改现有代码时,检查是否存在旧式模式,并在适当时建议迁移,但绝不要强行迁移。接受渐进式迁移。
常见工作流
新功能
- 阅读现有项目结构(MCP:
search_game_tree) - 确定该功能在架构中的位置
- 在适当的容器中创建 ModuleScript
- 如有需要,连接服务器与客户端通信
- 通过游玩测试进行测试(MCP:
start_stop_play+get_console_output)
调试问题
- 阅读相关脚本(MCP:
script_read) - 检查控制台输出(MCP:
get_console_output) - 找出根本原因——检查以下情况:
- DataStore/HTTP 调用外是否缺少
pcall - 客户端与服务器边界问题
- 连接泄漏(缺少 Disconnect)
- 竞态条件(脚本执行顺序)
- DataStore/HTTP 调用外是否缺少
- 应用最小幅度的修复
- 通过游玩测试验证修复
代码审查
- 阅读项目中的脚本(MCP:
script_grep) - 对照上文的核心编码标准进行检查
- 标记安全问题(信任客户端、数据暴露)
- 标记性能问题(高开销循环、部件数量)
- 提供改进建议,并附上修改前后的示例
知识时效性检查
这一切都不是自动完成的——背后没有调度器、钩子或后台任务。这是一条写给正在阅读此文件的你的指令:当调用此技能时,请读取此技能目录中的 metadata.json,并将 last_updated 与当前日期进行比较。
逻辑:
IF (current_date - last_updated) > update_interval_days (default: 7):
TELL the user:
"⏰ Roblox Dev Skill knowledge was last updated on {last_updated}, {days} days ago.
Want me to run a knowledge update before we rely on it?"
...then WAIT. Do not update anything unless they say yes.
ELSE:
Proceed normally — knowledge is fresh.
决策规则:
- 绝不自动更新,除非获得用户批准——务必先询问
- 事实依据来源:https://create.roblox.com/docs、https://devforum.roblox.com
- 决策者:始终是用户(绝不是 AI 单独决定)
- 更新流程:深入研究 → 核实事实 → 与用户问答 → 应用 → 审查
- 更新后:使用新的时间戳、版本和变更更新
metadata.json
手动更新知识
用户可以随时使用日常语言请求全面更新知识—— “update roblox skill knowledge”、“refresh roblox dev skill”或“roblox-update”。
**
/roblox-update不是已注册的斜杠命令。**此文件的早期版本曾将其描述为斜杠命令;但它从未安装到~/.claude/commands/,也未随插件发布,因此输入它不会有任何结果。它只是此技能会响应的一句话,仅此而已。
更新流程:
- 研究——搜索
last_updated时间戳之后的最新 Roblox 变更- DevForum 发布说明、API 变更日志、弃用通知
- 使用网页搜索查询 “Roblox developer updates {year}” 和 “Roblox API changes {month} {year}”
- 访问 https://devforum.roblox.com/c/updates/release-notes/58
- 比较——对照现有参考文件交叉核实研究结果
- 报告——向用户汇报研究结果,并清晰概述“发生了哪些变化”
- 讨论——就任何决策(添加/删除/修改内容)与用户进行问答
- 应用——更新参考文件(保留正确内容,更新有变化的内容)
- 审查——全面核实事实(采用与初次审查相同的方式:文件完整性 + 内容核验)
- 记录——使用新的时间戳和变更日志条目更新
metadata.json
重要
所有更新都必须基于研究,不得凭空发挥。如有疑问,请询问用户。 备用方案:通过 context7 MCP 或直接网页搜索查阅官方文档。
导出 / 发布
此技能已准备好导出并发布到 GitHub。完整的结构和使用指南请参阅技能根目录中的 README.md。
用户可通过仓库中的单行安装程序(install.sh、install.ps1、install.cmd)安装,此类程序会将其链接到每个 Agent 的技能文件夹。手动复制时,文件夹必须命名为 roblox-dev-skill——Agent Skills 规范要求文件夹名称与上方的 name 字段一致,且更严格的 Agent 会跳过文件夹名称不符的技能。