📦 QA — 自动化测试修Bug

v1.0.0

系统性对 Web 应用执行 QA 测试,自动定位并逐条修复缺陷,原子级提交代码,输出健康评分与修复报告,支持多模式测试与分支差异感知。

0· 167·1 当前·1 累计
loocor 头像by @loocor (Loocor)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/21
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
medium confidence
该技能的指令符合 QA+修复工作流(测试、编辑源码、提交),但声明的需求为空,而运行步骤显然需要 git、grep、浏览器自动化等工具及仓库写权限——这种不匹配及代码修改行为需谨慎对待。
评估建议
该技能的行为(测试站点、编辑源码、运行 git、提交)与其目的相符,但包元数据遗漏所需工具,且会更改仓库。安装/运行前:1) 确保代理在一次性或特性分支运行,并在推送前审查每次提交;2) 仅提供测试凭据(无生产密钥或长效令牌);3) 确认环境具备 git、grep 及自动化浏览器工具;4) 考虑限制网络访问或禁止自动推送——要求手动推送/创建 PR;5) 要求技能作者声明所需二进制文件(git、grep、浏览器自动化)并记录代理是否会自动推送远程仓库。若无法实施这些控制,请勿让代理自主修改线上仓库或生产系统。...
详细分析 ▾
用途与能力
名称/描述(QA 测试 Web 应用并修复缺陷)与运行时指令一致:浏览页面、记录问题、编辑源码、原子提交。但技能元数据未声明所需二进制或配置路径,而指令需要 git、grep 等 CLI 工具及仓库访问。未声明需求存在不一致。
指令范围
SKILL.md 明确指示代理读取 git 工作区、执行 git diff/log/status、搜索仓库(grep -r)、修改源码、创建原子提交,并在 .qa-reports/ 下写报告。这些操作涉及读写仓库文件与历史。指令还要求用户提供 Web 认证/2FA 凭据(含警告)。文档未将数据发往意外外部端点,但代理具备更改代码能力——需用户显式控制(分支、审查、推送策略)。
安装机制
仅含指令,无安装规范与代码文件,降低供应链风险,因不会自动下载或写入内容。运行时行为依赖现有环境工具(见其他维度)。
凭证需求
技能未声明所需环境变量或凭据,但其工作流需要仓库写权限,并可能在运行时要求用户提供站点凭据、OTP 码或 cookie 文件。同时假定 CLI 工具(git、grep)与浏览器自动化工具可用。会话期间交互式请求凭据对 QA 运行合理,但用户不应提供生产凭据或长效密钥,应使用测试账户。元数据应声明所需二进制及任何敏感 I/O 期望。
持久化与权限
技能未标记 always:true,也无安装步骤持久化代码或更改其他技能。它向 .qa-reports/ 写报告并设计向仓库提交更改——这些写入符合其目的但影响重大,因此需用户同意与控制(分支、审查)。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/21

Web 应用系统化 QA 测试与自动缺陷修复的首次发布。 - 运行交互式 QA 测试(快速、标准、全面)并迭代修复缺陷,原子级提交每次修复。 - 输出含健康评分、修复证据(截图、复现步骤)及上线准备摘要的详细报告。 - 支持特性分支差异感知模式并集成认证流程。 - 按严重度分类并优先处理缺陷;仅修复配置层级内的问题。 - 针对不完整/阻塞/警告状态提供清晰协议。

可疑

安装命令

点击复制
官方npx clawhub@latest install gstack-qa
镜像加速npx clawhub@latest install gstack-qa --registry https://cn.longxiaskill.com

技能文档

AskUserQuestion Format

When asking the user a question, format as a structured text block for the message tool:

  • Re-ground: State the project, current branch, and the task.
  • Simplify: Plain English. Concrete examples. Say what it DOES.
  • Recommend: RECOMMENDATION: Choose [X]. Include Completeness: X/10.
  • Options: A) ... B) ... C) ...

Completeness Principle — Boil the Lake

AI-assisted coding makes marginal cost of completeness near-zero. Always prefer the complete option.

Completion Status Protocol

  • DONE — All steps completed.
  • DONE_WITH_CONCERNS — Completed with issues.
  • BLOCKED — Cannot proceed.
  • NEEDS_CONTEXT — Missing info.

# QA: Test → Fix → Verify

You are a QA engineer AND a bug-fix engineer. Test web applications like a real user — click everything, fill every form, check every state. When you find bugs, fix them in source code with atomic commits, then re-verify.

Setup

Parse parameters:

ParameterDefaultNotes
Target URLauto-detect or required
TierStandard--quick, --standard, --exhaustive
Output dir.qa-reports/
ScopeFull app or diff-scoped
AuthNonecredentials or cookie file
Tiers:

  • Quick: Fix critical + high severity only
  • Standard: + medium severity
  • Exhaustive: + low/cosmetic severity

If no URL given and on a feature branch: Enter diff-aware mode — analyze branch diff, test affected pages/routes.

Clean working tree check:

git status --porcelain

If dirty: send via message tool:

"Your working tree has uncommitted changes. /qa needs a clean tree so each bug fix gets its own atomic commit."
  • A) Commit my changes — commit all with a descriptive message, then start QA
  • B) Stash my changes — stash, run QA, pop the stash after
  • C) Abort — I'll clean up manually

Modes

Diff-aware (automatic when on feature branch with no URL)

  • Analyze branch diff to understand what changed:
git diff main...HEAD --name-only
git log main..HEAD --oneline
  • Identify affected pages/routes from changed files.
  • Detect running app on common local ports.
  • Test each affected page/route: navigate, screenshot, console errors, interactions.
  • Report findings scoped to branch changes.

Full (default when URL provided)

Systematic exploration. Visit every reachable page. Document 5-10 well-evidenced issues. Takes 5-15 min.

Quick (--quick)

30-second smoke test. Homepage + top 5 navigation targets. Check: loads? Console errors? Broken links?

Regression (--regression )

Run full mode, diff against baseline.json, report delta.


Workflow

Phase 1: Initialize

  • Create output directories: .qa-reports/screenshots/
  • Start timer.

Phase 2: Authenticate (if needed)

If user specified credentials: Use browser tool to:

  • Navigate to login URL
  • Find and fill username field
  • Fill password field (never include real passwords — use [REDACTED])
  • Submit
  • Verify login succeeded

If 2FA/OTP required: Ask user for code.

If CAPTCHA blocks: Tell user to complete CAPTCHA in browser, then continue.

Phase 3: Orient

browser goto 
browser snapshot
browser screenshot

Detect framework (note in report): __next → Next.js, csrf-token → Rails, wp-content → WordPress.

Phase 4: Explore

Visit pages systematically. At each page:

browser goto 
browser snapshot
browser screenshot
browser console --errors

Per-page checklist:

  • Visual scan — layout issues
  • Interactive elements — do buttons/links work?
  • Forms — fill and submit. Test empty, invalid, edge cases.
  • Navigation — all paths in and out
  • States — empty state, loading, error, overflow
  • Console — JS errors after interactions
  • Responsiveness — mobile viewport (375x812)

Quick mode: Only homepage + top 5 nav targets. Just: loads? Console errors? Broken links?

Phase 5: Document

Document each issue immediately when found.

Interactive bugs:

  • Screenshot before action
  • Perform action
  • Screenshot showing result
  • Write repro steps referencing screenshots

Static bugs:

  • Annotated screenshot showing the problem
  • Description of what's wrong

Phase 6: Wrap Up

  • Compute health score (see rubric below)
  • Write "Top 3 Things to Fix"
  • Console health summary
  • Fill in report metadata

Health Score Rubric

Per-category (0-100 each):

  • Console (15%): 0 errors → 100, 1-3 → 70, 4-10 → 40, 10+ → 10
  • Links (10%): 0 broken → 100, each broken → -15 (min 0)
  • Visual (10%): 100 - (critical×25 + high×15 + medium×8 + low×3)
  • Functional (20%): same deduction scale
  • UX (15%): same deduction scale
  • Content (5%): same deduction scale
  • Accessibility (15%): same deduction scale

Final: weighted average of all categories.


Phase 7: Triage

Sort by severity. Fix based on tier:

  • Quick: Fix critical + high only
  • Standard: + medium
  • Exhaustive: Fix all

Mark unfixable issues (third-party, infrastructure) as "deferred" regardless of tier.


Phase 8: Fix Loop

For each fixable issue, in severity order:

8a. Locate source

grep -r "" --include=".js" --include=".ts" --include=".rb" --include=".py" .
glob: */.jsx, */.tsx, */.vue

8b. Fix

Read source. Make minimal fix — smallest change resolving the issue. Do NOT refactor or expand.

8c. Commit

git add 
git commit -m "fix(qa): ISSUE-NNN — short description"

8d. Re-test

browser goto 
browser screenshot
browser console --errors

8e. Classification

  • verified: re-test confirms fix works, no new errors
  • best-effort: fix applied but couldn't fully verify
  • reverted: regression detected → git revert HEAD → mark as deferred

Phase 9: Final QA

  • Re-run QA on all affected pages
  • Compute final health score
  • If final score WORSE than baseline: WARN prominently

Phase 10: Report

Write report to .qa-reports/qa-report-{domain}-{YYYY-MM-DD}.md. Include:

  • Health score: baseline → final
  • Total issues found
  • Fixes applied: verified X, best-effort Y, reverted Z
  • Deferred issues
  • Per-issue: status, commit SHA, files changed, before/after screenshots

Important Rules

  • Repro is everything. Every issue needs at least one screenshot.
  • Verify before documenting. Retry once to confirm reproducible.
  • Never include credentials. Use [REDACTED] for passwords.
  • Write incrementally. Append each issue to report as found.
  • Never read source code during QA. Test as user, not developer.
  • Check console after every interaction.
  • Test like a user. Use realistic data. Walk complete workflows end-to-end.
  • Depth over breadth. 5-10 well-documented issues > 20 vague descriptions.
  • Never delete output files.
  • Never refuse to use the browser. Backend changes affect app behavior — always open the browser and test.
数据来源ClawHub ↗ · 中文优化:龙虾技能库