关于 cawplan-ticket-report-generate
用于按 CawPlan 工单和执行数据生成 QA 报告的技能,适合需要遵循严格采集、校验、预览和发布流程的团队。它规定子工单处理、覆盖率聚合、报告校验及双重确认门禁。
主要功能
- 01按 anchor 工单展开子树
- 02按 ticket_id 执行报告 POST 或 PUT
- 03串行刷新执行摘要并聚合覆盖率
- 04生成并校验紧凑 HTML 报告
- 05预览与落库需双重确认
适用场景
- 01为工单生成并发布 QA 报告
- 02更新已有报告的进度或完成状态
- 03在发布前校验报告正文与链接
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cawcut/ skill-cawplan --skill cawplan-ticket-report-generate安装后在 Claude Code 中输入/cawplan-ticket-report-generate确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/collect.mdhtml-example.mdpublish.mdscripts/validate_report_details.js详细介绍
来自项目 READMECawPlan Ticket QA Report — A7
cawplan skill check
语言(MUST)
按用户本轮主语言回复(中/英);确认闸、预览、错误、结果表一致。禁止同段双语。HTML 节标题跟随回复语言。同义词:进度→PROGRESS;完成/sign-off→COMPLETION;更新/republish→PUT;发布→status=approved。
硬门禁(MUST)
- anchor +
version_id;任意层级/type 不阻断。 - 落库仅
qa_reportPOST/PUT(publish §Upsert);禁止 DB 新列/服务端 upsert。 - Upsert:
list-version按ticket_id==anchor;0→POST、1→PUT、>1→停步。 - 子树:anchor 一次
tickets get+ 本地展平children(depth≤3);depth≥4 静默裁剪;sub_issue_count>0且无children→SUBTREE_TRUNCATED。禁止tickets list建子树。 - 执行:scope 串行
execution summary --refresh;用pass_quality;禁止pass_rate/AQA。 - coverage:
Σexecuted/Σtotal不去重;Coverage% 仅 Test Summary。禁止在 Test Approach 或 details 正文写覆盖率免责声明/脚注(如「注:覆盖率为近似值,按 Σ已执行/Σ总用例计算,未做跨工单用例去重。」及英文等价句)。 - Labels 延后(V2):分组仅用
type+priority;禁止为 labels 调tickets list/批量 get。 - Issue Summary / Verification / payload 细则见
collect §ModeMatrix、§IssueSummary、§Buckets;details 读者与 HTML compact 见publish §Audience、§HTML、html-example.md。Verification Status 仅统计子单 D1–D3,排除 anchor(coverage/R1–R8 仍用全scope_ids)。 - Notes:优先
data.parent;缺失时 1 次get(parent_id)。 - 双确认闸 Step 6→7;禁止跳闸。
- details 硬校验:Step 5 组装 body 后 MUST
node scripts/validate_report_details.js --body-file …;失败退回补全,禁止 Step 6 预览/Step 7 落库(publish §Gates·html-example.md)。 - 预览/落库:报告编号、报告工单 必须超链接(
publish §Links);隐藏 UUID。 - 不得用 A5 作最终 Release Readiness。
- 热接力:同 anchor+version 未要求刷新→复用
anchor_detail_cache;execution 可复用,预览注明。
Reference 加载(MUST)
仅 Read 当前 Step 对应 §(用 ## § 标题定位);禁止 Read 全文 references。
| Step | Read |
|---|---|
| 0–2 | collect §0 · §Anchor · §Subtree · §Relation |
| 3, 7–8 | publish §Upsert · §Links · §Result · §Errors |
| 4 | collect §Execution |
| 5 | collect §Feature · §IssueSummary · §Buckets · §ModeMatrix · publish §Rules · §Template · §Audience · §HTML · html-example.md |
| 6 | publish §Gates(含 details 脚本校验闸) |
允许命令
products list · versions list · config env · versions get · tickets get · tickets search --display_ids(仅 Step 0)· qa-insights module-tree get · qa-insights requirements get · qa-insights testpoints list · api GET .../qa/requirements · qa-reports list-version|create|update · qa-insights testrail execution summary --ticket-id --refresh · tickets history(可选,见 collect §IssueSummary)· node scripts/validate_report_details.js(Step 5→6,MUST)
禁止:tickets list、tickets relate list、直连 TestRail、cawplan api 落库(Requirement 读除外)、qa-insights 写、A5 写入、静默跳闸。
Workflow
| Step | 动作 | Detail |
|---|---|---|
| 0 | 上下文;portal_base;major_version_id | collect §0 |
| 1 | tickets get anchor→展平 children D1–D3、relations、parent→anchor_detail_cache | collect §Anchor · §Subtree |
| 2 | Relation 确认闸(读缓存;排除跨 version) | collect §Relation · publish §Gates |
| 3 | list-version→POST/PUT | publish §Upsert |
| 4 | 串行 execution;聚合 coverage | collect §Execution |
| 5 | feature_name、Issue Summary、分桶、R1–R8、compact HTML+payload;validate_report_details.js 通过 | collect §Feature · §IssueSummary · §Buckets · §ModeMatrix · publish §Rules · §Template · §Audience · html-example.md |
| 6 | 预览 + 正文预览闸(须 Step 5 校验已通过) | publish §Gates |
| 7 | 落库发布闸 → --body-file | publish §Upsert |
| 8 | 落库结果 | publish §Result |
Republish:Step 3 命中→Step 7 PUT。PROGRESS→COMPLETION:同条 PUT,重跑 4–7。
References
- collect.md
- publish.md
- html-example.md — compact 单行 HTML 完整示例(Step 5 排版参照)