Communitygithub.com

RageClick

通过重复点击、导航、无效文件、刷新和延迟请求来测试本地Web工作流,并生成可复现的失败证据。

RageClick 是什么?

RageClick技能允许开发者将URL和用户目标转化为一段简短、可复现的操作序列,用于检验某个承诺的行为是否失效。它通过现有的浏览器工具检查真实页面,再利用内置的Playwright运行器生成可复现的证据。该技能专注于工作流中某个具体的、不变的条件(如提交意图的文件、无效文件后的恢复、保存草稿的持久性),并支持循环切换、无效文件、刷新、延迟请求和替换选择器等扰动类型。它运行在Chromium上,使用CSS选择器、原生指针事件和合成内联文件,但无法处理远程环境、HTTP重定向、流式响应、Service Worker或WebSocket。生成的证据包括可读的报告、屏幕截图、追踪和视频,并支持回放脚本以验证回归。该技能明确不评估视觉设计或代表真实用户研究,并要求在所有操作前建立合成数据或独立账户。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-kiron/RageClick/tree/main/skills/rageclick

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

RageClick 是做什么的?

将URL和用户目标转化为简短、可复现的操作序列,揭示某个承诺的行为失效。使用现有的浏览器工具检查真实页面,然后使用内置的Playwright运行器获取可复现的证据。此技能不评估视觉设计,也不声称代表真实用户研究。

范围与成功标准

仅操作自有装置、本地应用或明确授权的测试环境。内置运行器仅接受回环URL,启动全新的浏览器上下文,并阻止源站以外的所有请求。本地应用仍可能通过其服务器修改真实后端:在提交之前,请建立合成数据和一次性账户。不要购买、发送消息、删除有价值的数据或更改访问设置。现有权限仅涵盖已商定的工作流。

根据用户的目标和观察到的UI,确定一个具体的不变条件:一个用于一次提交意图的文件、无效文件后的恢复,或一个在承诺保存后仍然存在的草稿。如果合约不明确,请记录观察结果或询问该特定行为,而不是凭空捏造缺陷。记录应用版本或提交哈希;如果不可用则使用unknown。

探索、扰动、回放

  1. 使用可用的浏览器工具或目标源代码检查当前页面。根据实际证据选择稳定的标签、角色或测试ID。首先执行普通的成功工作流。如果无法完成,请先解决该前置条件,或单独报告。

  2. 阅读references/plans.md以编写JSON计划。从references/perturbations.md中选择适用的模板。每次测试更改一个维度。新的浏览器上下文可以隔离浏览器状态,但服务器数据需要已知的重置或唯一的一次性账户。不要假设新浏览器会重置数据库。

  3. 在此技能目录下,执行npm ci和npx playwright install chromium后运行:

    node scripts/run.mjs --url http://127.0.0.1:3000 --plan /absolute/path/case.json --out /absolute/path/evidence --app-version COMMIT
    

    输出目录必须是新目录。运行器会生成可读的报告、精确的计划、步骤结果、屏幕截图、追踪、视频和回放脚本。它无法自行推断目标或选择器;该技能负责完成这些工作。除非要求作为持久示例,否则将生成的证据保留在目标仓库之外。

  4. 将observed_failure视为断言不匹配,而不是已确定的根本原因。在全新状态下重复相同的测试至少两次,才能称之为可复现。记录失败和成功;永远不要丢弃矛盾的重跑结果。execution_error表示某个操作、选择器、浏览器或边界失败,不属于产品证据。将主观的UX评论与客观断言分开记录。

  5. 在不改变失败结果的前提下最小化操作序列,然后使用replay.mjs作为回归命令(退出码0表示通过,1表示断言不匹配,2表示执行/配置错误)。如果被授权修复应用,请针对修复后的版本重新运行相同的计划,并验证普通路径仍然通过。切勿更改断言来制造通过结果。

报告违反的合约、实际状态与预期状态、出现次数、应用/浏览器版本、确切的命令和证据路径。指出何时缺少视频、追踪、基线、重置或可重复性。在共享捕获结果之前,请对凭证和个人数据进行脱敏处理;追踪可能包含完整的请求/响应数据。此技能不暗示发布或外部消息。

限制

运行器使用Chromium、CSS选择器、原生指针事件、合成内联文件和有限制的请求延迟。请求延迟不是带宽限制或丢包。它无法自动化远程环境、HTTP重定向(包括同源重定向)、流式响应、多源登录、Service Worker、WebSocket或任意JavaScript。响应通过Playwright缓冲,并且禁用了重定向和传输重试,因此流式传输和网络时序保真度有限。浏览器凭据和Set-Cookie策略测试也不支持:API传输存储响应cookie的方式可能与浏览器fetch不同。对于不支持的工作流,请使用已有的、经授权的浏览器工具,并保持相同的证据合约;明确标记不支持的扰动。不要为了通过测试而削弱运行器的源边界。

相关技能