SuperAPI AI 工具集

qa-only

测试与质量

查看项目

更新于 10-16 23:14

技能介绍

用途

qa-only 是一个“仅报告”的质量保障(QA)技能,用于对产品做基于浏览器的测试。它与 qa 技能使用相同的浏览器测试方式,区别在于:qa-only 只用截图和可复现步骤记录缺陷,不做任何代码改动。输出写入 .gstack/qa-reports/ 目录。

其定位可由描述概括:Report-only QA — same browser-based testing as qa but documents bugs with screenshots and repro steps only, no code changes. Health score formula weighted across 8 categories. Outputs to .gstack/qa-reports/. 即:仅报告的 QA,与 qa 相同的浏览器测试,但只用截图与复现步骤记录缺陷,不改代码;健康分公式跨 8 个类别加权;输出到 .gstack/qa-reports/。

主要能力

  • 基于浏览器的测试(与 qa 相同)。
  • 缺陷记录方式:截图 + 可复现步骤,不产生代码变更。
  • 健康分(Health score)按 8 个类别加权计算。
  • 结果输出到 .gstack/qa-reports/ 目录。

使用方式

该技能属于 gstack 技能体系,运行前先执行“前导段(Preamble)”脚本,用于:

  • 检查 gstack 更新(UPGRADE_AVAILABLE / JUST_UPGRADED 处理);
  • 创建/清理会话目录 ~/.gstack/sessions(保留 120 分钟内文件);
  • 读取配置项(如 gstack_contributor、proactive);
  • 输出当前分支 BRANCH、PROACTIVE、REPO_MODE、LAKE_INTRO、TELEMETRY、TEL_PROMPTED 等信息;
  • 记录技能使用埋点到 ~/.gstack/analytics/skill-usage.jsonl。

交互约定:

  • 若 PROACTIVE 为 "false",不主动建议 gstack 技能,仅在用户明确要求时调用。
  • 若 LAKE_INTRO 为 "no",先介绍完整性原则(Boil the Lake),并询问是否在默认浏览器打开相关文章;只有用户同意才执行 open,但始终 touch 标记为已读。
  • 若 TEL_PROMPTED 为 "no" 且 LAKE_INTRO 为 "yes",询问遥测选项(社区模式 / 匿名模式 / 关闭),并在 ~/.gstack/.telemetry-prompted 打标。

AskUserQuestion 格式要求:

  1. 重新锚定:说明项目、当前分支(使用前导段打印的 _BRANCH)、当前计划/任务;
  2. 简化解释:用通俗语言说明问题,必要时给具体例子与类比;
  3. 给出建议:RECOMMENDATION: Choose [X] because [理由],并附每个选项的完整性评分(Completeness: X/10);
  4. 选项:字母编号 A) B) C),涉及工作量时同时给出两种尺度(human: ~X / CC: ~Y)。

完整性与工作原则

  • Completeness Principle — Boil the Lake:当 AI 让“做完整”的边际成本接近零时,优先选择完整方案而非捷径;区分可“煮干”的 lake(模块级 100% 测试覆盖、完整功能、全部边界与错误路径)与不可控的 ocean(重写整个系统、为不受控依赖加功能、跨季度平台迁移)。估算工作量时同时给出人类团队时间与 CC+gstack 时间,并参考压缩比表(样板/脚手架约 100x,测试编写约 50x,功能实现约 30x,缺陷修复+回归测试约 20x,架构/设计约 5x,研究/探索约 3x)。
  • Repo Ownership Mode — See Something, Say Something:REPO_MODE 为 solo 时遇到分支外问题(测试失败、弃用警告、安全公告、lint 错误、死代码、环境问题)应主动调查并提出修复;collaborative 时通过 AskUserQuestion 标记;unknown 时按 collaborative 处理。任何步骤中发现问题都要简要指出,不静默放过。
  • Search Before Building:构建基础设施或使用不熟悉模式前先搜索。知识分三层:Layer 1 已被验证且已分发;Layer 2 新且流行(需审慎,人类易受狂热影响);Layer 3 第一性原理(最有价值)。若第一性原理发现常识有误,可用 EUREKA 格式记录并写入 ~/.gstack/analytics/eureka.jsonl。WebSearch 不可用时跳过搜索并注明 “Search unavailable — proceeding with in-distribution knowledge only.”

贡献者模式与状态协议

  • 若 _CONTRIB 为 true,处于贡献者模式:在每个主要工作流步骤结束时反思 gstack 工具使用体验并评分(0-10),对可操作的 bug 或有价值的改进点撰写字段报告,写入 ~/.gstack/contributor-logs/{slug}.md,包含标题、想做的事、实际结果、评分、复现步骤、原始输出、如何做到 10 分,以及日期/版本/技能页脚;slug 小写、连字符、最多 60 字符;每会话最多 3 份报告,写完继续流程。
  • 完成状态协议:DONE / DONE_WITH_CONCERNS / BLOCKED / NEEDS_CONTEXT。允许升级:同一任务尝试 3 次仍未成功、对安全敏感变更不确定、或工作范围超出可验证能力时应停止并升级,给出 STATUS、REASON、ATTEMPTED、RECOMMENDATION。

遥测与计划页脚

  • 工作流完成后(成功/错误/中断)运行遥测命令,写入 ~/.gstack/analytics/。技能名取自文件 frontmatter 的 name 字段;结果取 success/error/abort,无法判断用 unknown;USED_BROWSE 依据是否使用了 $B。命令在后台运行,不阻塞用户。
  • 计划模式即将调用 ExitPlanMode 时:若计划文件已有 ## GSTACK REVIEW REPORT 则跳过;否则运行 gstack-review-read,并按输出写入报告表格(含 CEO Review、Codex Review、Eng Review、Design Review 的触发、目的、运行次数、状态、发现)或占位表。

适用场景

根据现有资料,qa-only 适用于需要对产品做仅报告式浏览器 QA、记录带截图的缺陷与复现步骤、并生成健康分与报告文件的场景。由于它“不修改代码”,适合不希望测试过程触达源码变更的审查/记录类工作。具体适配的行业、团队规模或产品类型,资料未提供。

限制

  • 仅报告:不改代码(资料明确说明 “no code changes”)。
  • 资料为技能定义文档(SKILL.md 及前导/约定说明),未提供独立安装命令、支持的浏览器、运行环境要求、计费或价格信息。
  • 健康分“8 个类别”的具体类别名称与权重公式,资料未展开。
  • 名称、URL、代码与安装命令按原文保留,未做改写。

引用文档

以下为作者声明的引用来源,保留指定版本、署名和许可。

作者的来源声明