mcpField
R
roblox-dev-skill

roblox-dev-skill

github.com/msayib开发62147 次安装6 天前更新
代码仓库

关于 roblox-dev-skill

面向使用 Luau 开发 Roblox 体验的技能,依据 Roblox 文档、Luau 规范和 Roblox Lua 风格指南提供指导。它包含领域参考资料,并指导在可用时使用 Roblox Studio 自带的 MCP 工具,否则提供可直接放置的脚本。

主要功能

  1. 01Luau 语法与风格指导
  2. 02架构和游戏系统参考资料
  3. 03Roblox API 与文档查询流程
  4. 04Roblox Studio MCP 工具使用说明
  5. 05MCP 工具不可用时提供可复制的 Luau 脚本

适用场景

  1. 01开发或调试 Roblox 体验
  2. 02检查客户端与服务器通信及安全
  3. 03修改代码前查询 Roblox API
  4. 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
.gitignore
LICENSE
README.md
CHANGELOG.md
install.sh
install.cmd
install.ps1
metadata.json
.github/workflows/
ci.yml
docs/
installation.md
how-it-works.md
robloxdocs.md
claims.md
testing.md
evals/
evals.json
references/
agent-safety.md
file-formats-and-assets.md
monetization.md
legacy-migration.md
datastore-persistence.md
mcp-integration.md
luau-fundamentals.md
networking.md
performance-optimization.md
studio-plugins-and-limits.md
project-structure.md
worked-examples.md
security-hardening.md
ui-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
skillRoblox 官方提供的 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、ProfileStorereferences/datastore-persistence.md
客户端-服务器通信、RemoteEvents、输入、文本聊天(TextChatService、聊天命令、平台集成聊天)references/networking.md
安全、防漏洞利用、服务器权威控制、封禁references/security-hardening.md
Agent→Studio 安全、具有破坏性的 MCP 操作、place 内容中的提示注入references/agent-safety.md
性能、内存、优化、Parallel Luaureferences/performance-optimization.md
有效使用 Roblox Studio MCP 工具references/mcp-integration.md
UI、GUI、ScreenGui、菜单、HUD、StyleQueryreferences/ui-systems.md
迁移旧版代码、已弃用的 APIreferences/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全面的单文件参考文档
单页 Markdownhttps://create.roblox.com/docs/en-us/{path}.md以简洁 Markdown 格式阅读特定文档页面
引擎 API 索引https://create.roblox.com/docs/reference/engine/llms.txtLuau 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/….md URL 虽然可用,但返回的是 GitHub 的 HTML 页面(2026-10-21 测得);请改用 curl 从 raw.githubusercontent.com 读取 LibMP 文件。

查找工作流
  1. 检查是否有参考文件涵盖该主题(见上方路由表)
  2. 查看 ~/RobloxDocs/RobloxAPI/classes/<Name>.json,了解引擎 API 详情
  3. 如果本地未找到,则使用宿主提供的任意网页抓取工具,获取对应页面的 Markdown URL (Claude Code 中使用 WebFetch,Shell 中使用 curl——URL 是可移植的部分)
    • 示例:https://create.roblox.com/docs/en-us/studio/importer.md
  4. 如果不确定要查看哪个页面,请浏览 llms.txt,查找正确的 URL
  5. 对于 Open Cloud / REST API 主题,请阅读 https://create.roblox.com/docs/cloud/llms.txt
    • 先搜索 Features 部分,再搜索 Domains
    • 优先使用 Open Cloud 端点(API key / OAuth),而非旧版 Cookie 身份验证端点
  6. 回退方案: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>"
  7. 如果仍不清楚,请先询问用户,再继续

重要:引擎 API(通过 game:GetService() 使用 Luau)和 Open Cloud API (通过 x-api-key 使用 HTTP REST)是完全独立的系统。使用错误的索引会导致代码无法运行。

检查已弃用的 API:按以下优先顺序使用这些方法:

  1. cat ~/RobloxDocs/RobloxAPI/deprecated-index.json——即时本地查询
  2. cat ~/RobloxDocs/RobloxAPI/deprecated/<ClassName>.json——查看完整的已弃用类详情
  3. 检查 robloxapi.github.io/ref/class/<Name>.html——已弃用成员会有醒目标记
  4. 使用 Context7(resolve-library-id → get-library-docs,或 ctx7 CLI)查询特定 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

响应准则

  1. 先询问,再构建:如果请求含糊不清,请询问有关类型、规模和目标受众的澄清问题
  2. 先阅读,再编写:如果 MCP 可用,修改前先阅读现有脚本和游戏树
  3. 小步迭代:复杂系统每次生成 50-100 行,更容易调试
  4. 解释原因:为不明显的代码添加注释,并解释架构决策
  5. 测试路径:建议如何测试代码(游玩测试步骤、控制台检查)
  6. 关注迁移:修改现有代码时,检查是否存在旧式模式,并在适当时建议迁移,但绝不要强行迁移。接受渐进式迁移。

常见工作流

新功能
  1. 阅读现有项目结构(MCP:search_game_tree)
  2. 确定该功能在架构中的位置
  3. 在适当的容器中创建 ModuleScript
  4. 如有需要,连接服务器与客户端通信
  5. 通过游玩测试进行测试(MCP:start_stop_play + get_console_output)
调试问题
  1. 阅读相关脚本(MCP:script_read)
  2. 检查控制台输出(MCP:get_console_output)
  3. 找出根本原因——检查以下情况:
    • DataStore/HTTP 调用外是否缺少 pcall
    • 客户端与服务器边界问题
    • 连接泄漏(缺少 Disconnect)
    • 竞态条件(脚本执行顺序)
  4. 应用最小幅度的修复
  5. 通过游玩测试验证修复
代码审查
  1. 阅读项目中的脚本(MCP:script_grep)
  2. 对照上文的核心编码标准进行检查
  3. 标记安全问题(信任客户端、数据暴露)
  4. 标记性能问题(高开销循环、部件数量)
  5. 提供改进建议,并附上修改前后的示例

知识时效性检查

这一切都不是自动完成的——背后没有调度器、钩子或后台任务。这是一条写给正在阅读此文件的你的指令:当调用此技能时,请读取此技能目录中的 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/,也未随插件发布,因此输入它不会有任何结果。它只是此技能会响应的一句话,仅此而已。

更新流程:
  1. 研究——搜索 last_updated 时间戳之后的最新 Roblox 变更
  2. 比较——对照现有参考文件交叉核实研究结果
  3. 报告——向用户汇报研究结果,并清晰概述“发生了哪些变化”
  4. 讨论——就任何决策(添加/删除/修改内容)与用户进行问答
  5. 应用——更新参考文件(保留正确内容,更新有变化的内容)
  6. 审查——全面核实事实(采用与初次审查相同的方式:文件完整性 + 内容核验)
  7. 记录——使用新的时间戳和变更日志条目更新 metadata.json

重要

所有更新都必须基于研究,不得凭空发挥。如有疑问,请询问用户。 备用方案:通过 context7 MCP 或直接网页搜索查阅官方文档。

导出 / 发布

此技能已准备好导出并发布到 GitHub。完整的结构和使用指南请参阅技能根目录中的 README.md。

用户可通过仓库中的单行安装程序(install.sh、install.ps1、install.cmd)安装,此类程序会将其链接到每个 Agent 的技能文件夹。手动复制时,文件夹必须命名为 roblox-dev-skill——Agent Skills 规范要求文件夹名称与上方的 name 字段一致,且更严格的 Agent 会跳过文件夹名称不符的技能。

评论

支持 Markdown