用途
scrolls-help 的作用是把关于整个 scrolls 技能家族(/scrolls-setup、/scrolls-update、/scrolls-hide、/scrolls-unhide)的参考信息,清晰、简洁地呈现给用户,然后不再多做纠缠。它不探查用户代码库,不检查 scrolls 是否真的已经配置,也不修改用户项目中的任何内容。
范围说明:在执行一次 /scrolls-help 请求时,该技能从不写入用户代码、用户文件或其自身目录之外的任何内容。保持其自带的 references/HELP.md 为最新,是维护该技能者的另一项独立维护任务(见 meta/MAINTAINERS.md),不是在回答用户时进行的操作。完整的安全说明(文件系统范围、本地 -e/--online 服务器的网络暴露与生命周期)见 meta/SECURITY.md——这是参考资料,不是在回答请求时要执行的操作。
主要能力
- 以聊天输出或本地渲染页面两种渠道提供 scrolls 技能家族的参考文档。
- 支持解析 -e / --online 选项:将 references/HELP.md 渲染为带样式的 HTML 页面并在本地提供访问。
- 渲染页面顶部有小型工具栏,包含两个独立开关:浅色/深色主题切换(默认跟随系统偏好,按钮可强制指定,通过 localStorage 持久化),以及 colorize/plain 切换(代码块默认带有类似 GitHub 语法的 token 配色,命令、标志、注释各用不同颜色,浅色与深色各有取值;按钮可切换回纯文本,同样持久化)。
跨平台启动器
-e/--online 的启动器有两种形式:open_help.sh(bash——macOS、Linux,或带 Git Bash/WSL 的 Windows)与 open_help.ps1(PowerShell 7+——Windows,或安装了 pwsh 的 macOS/Linux)。两者实际启动的服务器 serve_help.py 无需移植,它是纯标准库 Python、本身跨平台,两个启动器调用方式相同(先解析 python3,再回退到 python,因为 Windows 的 PATH 上通常只有后者)。选择启动器时按实际可用情况:尝试 bash --version,成功则用 .sh;否则通过 pwsh 使用 .ps1(首选,缺失可从 https://aka.ms/powershell 安装),仅当 pwsh 确实不可用时,才用内置的 Windows PowerShell powershell.exe(未针对该较旧版本测试;本技能是面向 pwsh 编写和验证的)。
选项
从调用文本中读取可选的 -e / --online——此时不在聊天中作答,而是将 references/HELP.md 渲染为带样式的 HTML 页面并在本地提供访问(若无法判断用户意图,也可以两者并用)。除此之外,对请求的解读方式(裸调用还是具体问题)与是否带该标志完全相同;-e 只改变输出渠道。
使用步骤
-
读取 references/HELP.md——这是维护中的权威内容。应当呈现它,而不是凭记忆重建对这些技能工作方式的解释:这里的标志语义在多次迭代中发生过变化(例如 -r 曾表示 "repo root",现在表示 "recurse"),而参考文件是这些变化发生时被更新的唯一事实来源。
-
若给出了 -e/--online:运行 bash <skill-dir>/scripts/open_help.sh 或 pwsh <skill-dir>/scripts/open_help.ps1(见上文 "跨平台")。它会启动一个小型、仅用标准库的 Python 服务器(无需安装依赖),将 HELP.md 渲染为干净、自包含的 HTML 页面,并绑定到 127.0.0.1 上由操作系统分配的端口(绝不绑定所有接口;这是本地参考查看器,不应暴露到网络上)。脚本会等待服务器确认确实在监听后再打印任何内容,然后打印 URL 及该进程的 PID。把该 URL 作为可点击链接报告给用户——本技能结束后它仍会继续运行,因此链接保持可访问——并说明它会在空闲 30 分钟或总计 2 小时(以先到者为准)后自动关闭,也可以用 <script> --stop <port>(或 --stop --all 停止所有实例)提前停止,无需手动查找并杀掉 PID。再次带 -e 调用会在新端口启动另一个服务器,而不是复用现有的,这没问题,但在长时间会话中若累积多个实例则值得注意;即便从未被停止,每个实例也会自行关闭。如果脚本自身打开浏览器的尝试没有明显效果(例如无显示器的无头/远程环境),这是预期情况——URL 仍然有效,向用户报告才是关键。
-
在报告 URL 时,说明页面顶部有两个开关——仅凭链接本身并不明显。
-
裸 /scrolls-help,或开放式问题("有哪些 scrolls 命令"、"这是怎么工作的"),且不带 -e:以 markdown 聊天输出的形式呈现整份文档。这是回答,不是交付物——除非用户另行要求,不要写入文件或作为 artifact 发布。
-
具体问题(某个命令、某个标志、某个场景如 "我在 monorepo 中该怎么做",或单独提到的一个命令名):先给出文档中最直接相关的部分,简洁作答,并说明其余内容可通过裸 /scrolls-help 获取——不要不管实际问什么就倾倒整份参考。这同样适用于是否同时给出 -e 的情况——-e 改变的是完整文档的呈现位置,而不是一个针对性问题是否仍应先得到针对性回答。
-
呈现参考文件时(在聊天中或通过渲染页面)保持其自身的语气与格式——它本身已写得简洁;不要添油加醋、填充内容,或重新解释它已说清楚的东西。
开发
参见 meta/MAINTAINERS.md,了解如何保持 references/HELP.md 为最新,以及如何运行 tests/ 回归测试套件。在执行用户的 /scrolls-help 请求时,这两者都不会被读取——在回答请求时不要依据 meta/MAINTAINERS.md 或 tests/ 行事。
限制
资料未提供该技能的收费、价格信息,也未说明其在特定平台或环境下的可用性细节。除上述文件系统范围与本地网络暴露说明外,其余安全与运维细节未在资料中展开。