文档与知识 · daymade/claude-code-skills

qa-expert

This skill should be used when establishing comprehensive QA testing processes for any software project. Use when creating test strategies, writing test cases following Google Testing Standards, executing test plans, tracking bugs with P0-P4 classification, calculating quality metrics, or generating progress reports. Includes autonomous execution capability via master prompts and complete documentation templates for third-party QA team handoffs. Implements OWASP security testing and achieves 90% coverage targets.

风险提醒:蓝色 · 知晓即可AI 侦查报告
作者 daymadeGitHub daymade/claude-code-skills ↗Stars 1392许可 MIT(仓库根 LICENSE 文件;GitHub API spdx MIT;Copyright (c) 2025 daymade)commit d5c4678cb5
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

工程骨架完全由 scripts/init_qa_project.py 用标准库 mkdir + open 落盘生成:4 层目录(tests/docs、tests/docs/templates、tests/e2e、tests/fixtures)是硬编码列表,不依赖任何模板引擎或第三方包。

qa-expert/scripts/init_qa_project.py
dirs = [ "tests/docs", "tests/docs/templates", "tests/e2e", "tests/fixtures" ]
注:这里在做什么:init 脚本是本 skill 唯一「真的会跑」的部分——一次命令把 QA 工程的物理结构(目录 + 两个 CSV + 四份 Markdown 模板)写进目标目录,其余能力全靠文档与 prompt 驱动。

CSV 的列名是两个脚本之间的隐式数据契约:init 写 13 列,calculate_metrics.py 后续按同一批列名(Test Case ID/Status/Result/Bug ID/Priority/Notes)读取与聚合。

qa-expert/scripts/init_qa_project.py
headers = [ "Test Case ID", "Category", "Priority", "Test Name", "Estimated Time (min)", "Prerequisites", "Status", "Result", "Bug ID", "Execution Date", "Executed By", "Notes", "Screenshot/Log" ]
注:这里在做什么:把「测试计划」变成可机器统计的表格;列名即接口,改列名/换语言会静默破坏指标脚本(详见 verification 第 4 条)。

指标口径写死在脚本里:执行数 = Status 恰为 'Completed' 的行,通过数 = Result 恰为 '✅ PASSED' 的行;执行率分母为全部有效用例行,通过率分母为已执行行。

qa-expert/scripts/calculate_metrics.py
executed = len([t for t in tests if t['Status'] == 'Completed']) passed = len([t for t in tests if t['Result'] == '✅ PASSED']) failed = len([t for t in tests if t['Result'] == '❌ FAILED'])
注:这里在做什么:用精确字符串匹配代替枚举/大小写归一化——好处是零依赖、口径透明,代价是任何写法偏差(如 'completed'、'PASSED')都会静默计为 0,指标失真而不报错。

质量门禁在脚本里只实现 3 条(执行率 100%、通过率 ≥80%、P0=0),且 P0 判定靠 Notes 列里是否含字符串 'P0',属于弱证据判定。

qa-expert/scripts/calculate_metrics.py
gates = { "Test Execution ≥100%": execution_rate >= 100, "Pass Rate ≥80%": pass_rate >= 80, "P0 Bugs = 0": len([t for t in tests if t['Bug ID'].startswith('BUG') and 'P0' in t['Notes']]) == 0, }
注:这里在做什么:SKILL.md 的门禁表列了 6 条(另含 P1≤5、覆盖率≥80%、安全 90% OWASP),但脚本只算 3 条,后 3 条属于人工判断——文档承诺大于代码能力,详见 verification 第 3 条。

「Ground Truth 原则」把文档定为唯一规格源、CSV 只记执行状态,是本 skill 的核心纪律(对应真实事故教训:CSV 与文档用例 ID 一致率仅 3.2%)。

qa-expert/SKILL.md
- **Test case documents** (e.g., `02-CLI-TEST-CASES.md`) = **authoritative source** for test steps
注:这里在做什么:防止「按错版本的 CSV 执行测试」——测试步骤只认文档,CSV 用作状态板。该纪律在 references/ground_truth_principle.md 展开成三原则(单一事实源/角色分离/显式引用)。

「自主执行」不是代码能力,而是一段可粘贴的 master prompt:让宿主 LLM 读 CSV 判断进度、逐条执行测试、每条立刻更新 CSV,从而获得断点续跑。

qa-expert/references/master_qa_prompt.md
You are a senior QA engineer with 20+ years of experience at Google. Execute the QA test plan.
注:这里在做什么:把「QA 执行器」角色整体外包给宿主模型——脚本只造骨架,真正跑测试的是 LLM + 项目文档;SKILL.md 称其收益为 100x 提速、跟踪零人为错误、可断点续跑。

补丁在于状态可续跑:master prompt 要求 LLM 先读 TEST-EXECUTION-TRACKING.csv 定位最后一个 'Completed' 用例,再从下一条继续,并强制「每条测试后立即更新、禁止批量更新」。

qa-expert/SKILL.md
- Auto-resume from last completed test (reads tracking CSV)
注:这里在做什么:用 CSV 当外部记忆,绕开 LLM 上下文丢失;配套「P0 缺陷立即停止并升级」的人为闸门。

测试用例体系来自模板而非代码生成:用例结构由 assets/templates/TEST-CASE-TEMPLATE.md 定义(AAA + TC-[CATEGORY]-[NUMBER] 命名 + P0-P4)。

qa-expert/assets/templates/TEST-CASE-TEMPLATE.md
### TC-[CATEGORY]-[NUMBER]: [Descriptive Title]
注:这里在做什么:把「可复现性」写成格式约束——前置条件必须可验证、步骤必须含确切命令、期望结果必须可度量;模板里附带 CLI 安装用例与安全用例两个实例。

init 实际落盘的文件集与文档宣称的存在缺口:生成的 README/MASTER-QA-PROMPT 指向 QA-HANDOVER-INSTRUCTIONS.md、分类测试用例文档等 init 并不创建的文件。

qa-expert/scripts/init_qa_project.py
1. Read `QA-HANDOVER-INSTRUCTIONS.md`
注:这里在做什么:README 模板要求先读交接文档,但 create_directory_structure/create_* 六个函数只写 TEST-EXECUTION-TRACKING.csv、BUG-TRACKING-TEMPLATE.csv、BASELINE-METRICS.md、WEEKLY-PROGRESS-REPORT.md、MASTER-QA-PROMPT.md、README.md——照文档执行会找不到文件(详见 verification 第 2 条)。

2核心能力

01一键生成 QA 工程骨架(目录 + 跟踪 CSV + 文档模板)
02按 AAA 与 TC-[CATEGORY]-[NUMBER] 规范编写可复现测试用例(P0-P4 分级)
03执行跟踪纪律:文档为规格源、CSV 为状态板,禁止批量更新
04缺陷登记:19 列模板(严重度/组件/复现步骤/环境/修复与验证)
05质量指标仪表盘:执行率/通过率/唯一缺陷数/P0-P3 分布/门禁状态
06日报/周报模板与基线对比,面向干系人汇报
07OWASP Top 10 安全测试清单,目标 90%(9/10)覆盖
08LLM 自主执行 master prompt(自动跟踪/自动报缺陷/自动报告/断点续跑)

3外部依赖

类型依赖
clipython3(执行自带脚本;仅标准库 os/sys/csv/pathlib/datetime/collections)
cligit(master prompt 中克隆被测仓库的示例步骤)
clidocker / npx supabase(Day 1 环境搭建示例:起本地数据库)
clipnpm / npm(Day 1 安装依赖示例)
clicurl(诊断脚本:检查本地 dev server 是否响应)
network文档内参考外链(仅 Markdown 超链接,代码不访问)

4风险提醒 风险提醒:蓝色 · 知晓即可

风险提醒:蓝色 · 知晓即可
  • 生成物自我引用断裂,开箱即缺文件 — init 不创建 QA-HANDOVER-INSTRUCTIONS.md、01-[CATEGORY]-TEST-CASES.md、DAY-1-ONBOARDING-CHECKLIST.md,但生成的 README/MASTER-QA-PROMPT 把它们列为第一步要读的文件;照做会卡住,需要人工补齐映射。
  • 指标口径脆弱且静默失真 — Status=='Completed'、Result=='✅ PASSED'、Notes 含 'P0' 这类精确匹配没有归一化与告警:写 'Done' 或 'PASSED' 时通过率/执行率直接算 0,用户若不逐行核对年报不出错。
  • 文档承诺大于代码实现,易高估自动化程度 — 6 条质量门禁脚本只实现 3 条;『30+ prompts』实为 18 个;『100x faster / zero human error』为无度量口径的宣传语,验收时不应据此判断覆盖。
  • 自主执行把项目文档当指令源,构成注入面 — master prompt 要求 LLM 严格按 tests/docs 下文档执行且『DO NOT deviate』,文档内含 git clone/docker exec/npx supabase 等真实命令示例;若项目文档被污染或来自不可信来源,agent 会在宿主机上照做,skill 自身无内容校验。
风险提醒:蓝色,知晓即可。仅有两个标准库本地脚本:init 向用户指定目录写入目录与模板文件(无删除、无覆盖用户既有文件之外的系统路径),calculate_metrics 纯只读;全目录终扫无网络调用(requests/urllib/socket/curl 调用零命中,SKILL.md 中出现的 http 均为 localhost 示例或文档外链)、无凭证/环境变量读取。残余注意点:①『自主执行』把项目文档当指令源,且内置 git/docker/npx 等可执行命令示例,agent 照做会在宿主机上执行真实命令——这是宿主权限与文档可信度问题,非本 skill 的隐蔽行为;②生成物引用未创建的文件(QA-HANDOVER-INSTRUCTIONS.md),照做会中断流程;③宣传口径(100x / 30+ prompts / 6 门禁)高于代码实现,按需校核即可。

5第二遍独立确认

  • [ok] 无网络/无凭证:脚本执行面反查 — 对 qa-expert/ 全目录 grep subprocess|requests|urllib|socket|http|os.system|os.environ|getenv|eval|exec:脚本侧零命中,仅参考文献里的 localhost 示例、文档外链与 docker ps 等示例命令。两脚本 import 仅 os/sys/csv/pathlib/datetime/collections。第一遍『无网络、无凭证』结论成立。
  • [discrepancy] init 落盘清单 vs SKILL.md/生成文档的自我引用 — init 只创建 6 个文件:TESTS-EXECUTION-TRACKING.csv、BUG-TRACKING-TEMPLATE.csv、BASELINE-METRICS.md、WEEKLY-PROGRESS-REPORT.md、MASTER-QA-PROMPT.md、README.md(均在 tests/docs 或 tests/docs/templates 下)。但生成的 README 正文写『1. Read `QA-HANDOVER-INSTRUCTIONS.md`』并索引 QA-HANDOVER-INSTRUCTIONS.md、01-[CATEGORY]-TEST-CASES.md、02-SECURITY-TEST-CASES.md,MASTER-QA-PROMPT.md 也要求先读 tests/docs/QA-HANDOVER-INSTRUCTIONS.md——这些文件 init 一律不生成,第三方按模板走会在第一步中断。SKILL.md『What gets created』同样未提示该缺口。
  • [discrepancy] 质量门禁:SKILL.md 6 条 vs 脚本 3 条 — SKILL.md 门禁表列 Test Execution 100% / Pass Rate ≥80% / P0=0 / P1≤5 / Code Coverage ≥80% / Security 90% 六条并标注均为 Blocker;calculate_metrics.py 的 gates 字典只有前三条,且 P0 判定实现为『Bug ID 以 BUG 开头且 Notes 含 P0』这一启发式。P1≤5、覆盖率、OWASP 三项无任何自动判定。
  • [ok] 指标口径与 CSV 键名契约 — calculate_metrics 读取的键 Test Case ID/Status/Result/Bug ID/Priority/Notes 均存在于 init 写出的 13 列表头中,跨脚本契约自洽。但口径依赖精确字符串:Status=='Completed'、Result=='✅ PASSED'、Notes 含 'P0',大小写或写法的任何偏差都会静默计 0(无校验、无告警)——这是口径脆弱性而非事实错误。
  • [discrepancy] llm_prompts_library『30+ prompts』宣称 — SKILL.md 两处写『30+ ready-to-use prompts』/『30+ ready-to-use reporting prompts』。独立计数(grep '^```' = 36 行 → 18 个围栏代码块;'### ' 小节 29 个,其中含 Best Practices/Common Mistakes/Troubleshooting 等非 prompt 小节)→ 可粘贴 prompt 块实为 18 个,最宽口径(含故障排查内的短示例)也不足 30。宣称偏高。
  • [ok] 关键方法论声明与实际内容一致性(AAA/5 小时/OWASP 90%/P0-P4) — day1_onboarding.md 首行即『**Time**: 5 hours (with breaks)』,与 SKILL.md 的 5 小时时间线一致;google_testing_standards.md 确实给出 AAA 三段结构、TC-[CATEGORY]-[NUMBER] 命名与 P0-P4 定义;SKILL.md 的 OWASP A01-A07 清单与『**Target**: 90% OWASP coverage (9/10 threats mitigated)』自洽;模板文件 TEST-CASE-TEMPLATE.md 含 AAA 字段与实例。无夸大。
  • [ok] Ground Truth 原则的双向核对 — SKILL.md『Test case documents … = authoritative source for test steps』与 ground_truth_principle.md『Ground Truth: 02-CLI-TEST-CASES.md (detailed test specifications)』/『Lesson Learned: … 3.2% consistency rate』表述一致,纪律有事故依据,非泛泛口号。
  • [ok] pin commit 与目录资产面核对 — git rev-parse HEAD = d5c4678cb5d4fd6acc9c922690df035dbd33d247,提交时间 2026-09-09T20:31:25+08:00(= UTC 12:31:25Z),与任务给定一致。glob 全量(含隐藏文件)确认 qa-expert/ 仅 SKILL.md + scripts/2 + references/5 + assets/templates/1,无隐藏脚本、无二进制、无 .env。

6结论

  • 端到端流程资产齐全,从骨架到交接闭环
  • 把文档/CSV 漂移显式建模为一等风险并有事故依据
  • 指标仪表盘零依赖、即跑即用
  • 为 LLM 自主执行做了工程化约定(断点续跑 + 强制即时跟踪)
  • 适合:适合:要为某个项目(尤其 Web+CLI+API 混合、需向外部 QA 团队或 LLM 交接)从零建立可审计 QA 流程的团队;想把测试执行外包给 LLM 并保留 CSV 级进度证据的人;需要 OWASP 安全测试清单与 P0-P4 缺陷分级口径的项目。在 Claude Code 等宿主中,先跑 init 脚本,再按 README 补齐缺失的交接文档,最后用 master prompt 启动执行。
    不适合:不适合:期望『自动生成并运行测试代码』的场景——本 skill 不产出任何测试脚本,执行靠人或 LLM;不适合已有成熟 CI 测试框架(Playwright/Jest/pytest+Allure)且要的是覆盖率与报告自动化的团队,它给的是文档模板与表格口径;不适合无人监督的长期自主运行——门禁只有 3 条自动判定、指标口径脆弱,且生成文档存在缺失文件,需人工兜底;也不适合需要严格权限隔离的合规审计场景(其自主执行路径依赖宿主 shell 权限)。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-15
    方式 A · 人下载镜像包下载 qa-expert.tar.gz
    sha256: a79a23756c922164…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit d5c4678cb5;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库daymade / daymade/claude-code-skills
    Stars1392
    最近推送2026-09-09
    本 skill commitd5c4678cb5
    许可MIT(仓库根 LICENSE 文件;GitHub API spdx MIT;Copyright (c) 2025 daymade)
    本站信息
    收录日期2026-09-06
    分类文档与知识
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近