cawplan-ticket-report-generate
About cawplan-ticket-report-generate
A skill for generating QA reports from CawPlan tickets and execution data. It guides teams through controlled collection, validation, preview, and publishing, including subtree handling, coverage aggregation, and approval gates.
Key features
- 01Expand a ticket subtree from the anchor
- 02POST or PUT reports by ticket_id
- 03Refresh execution summaries and aggregate coverage
- 04Generate and validate compact HTML reports
- 05Require confirmation before preview and publishing
Use cases
- 01Create and publish a ticket QA report
- 02Update an existing report's progress or completion
- 03Validate report content and links before publishing
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ cawcut/ skill-cawplan --skill cawplan-ticket-report-generateAfter installing, type/cawplan-ticket-report-generatein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/collect.mdhtml-example.mdpublish.mdscripts/validate_report_details.jsDetails
From the project 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 排版参照)