cawplan-testcase-import

Installation
SKILL.md

CawPlan TestCase Import — A1 用例导入 TestRail

cawplan skill check

硬门禁(MUST)

  1. preview-first框 4 执行闸execute --confirm;禁止跳闸。
  2. 数据源:已有展开用例 → INLINE;仅测试点 → REQUIREMENT。禁止 source.type=VERSION
  3. Suite / Section 确认闸mappings get框 3(Suite)→ 框 3.5(Section 归属)(顺序固定)须用户确认后才可 preview / convert。禁止静默使用 default_suite_id(不做推荐标注)或静默复用/推断 parent_section_idSUITE_NOT_IN_PROJECT/SECTION_NOT_IN_SUITE/SECTION_NOT_FOUND → 停止。同会话已确认且未换 Suite/Section → 可复用(import-rules §ConfirmState)。框 3.5 每次导入都问,仅 Intent 显式命中或 ConfirmState 复用时免弹。Version 全程无感:不弹窗、不推断确认,仅 Intent 显式命中或用例自带值才写入,否则不传(结果里注明"未指定版本")。
  4. 用户展示ux.md §Glossarypreview_id/job_id/UUID 默认隐藏;跟随用户主语言;Agent 自行 AskUserQuestion(不写入 allowed-tools)。
  5. TestRail 超链接§Preview/§Result/§AsyncHandoff 中 Suite ID、Section ID、Case ID 必须可点击跳转(ux §TestRailLinks);禁止仅裸数字 ID。
  6. 热接力:P1/P1b → 自动 INLINE,跳过框 0、框 1(ux.md §Trigger);不跳过框 3、框 3.5(除非 ux §Intent 显式命中 Suite/Section,或 §ConfirmState 复用);Version 无感,不涉及跳过判断。
  7. INLINE body 组装:数据来自同会话 cawplan-testcase-generate 时,禁止手写 camelCase→snake_case 转换脚本或逐条手算 source_case_key/priority——须先落一份与 A3 csv-template-mapping.md 同构的 interim JSON(camelCase,照抄字段,不做映射),框 3/3.5 确认后再用 scripts/convert_generate_to_import.js 转换为 body(import-rules.md §Convert)。convert 因个别用例 steps/expected 不合规失败时,Agent 可读取 <out>.errors.json征得用户同意后从 interim JSON 摘除对应整条用例重跑(只删条目,不改内容值),不属于此处禁止的"手算字段"。
  8. 异步 Jobto_create > 50):execute 成功后 禁止默认 jobs poll;须先走 ux §AsyncHandoff + 框 6。仅用户显式选「等到完成」才进入框 6b 等待循环。Job RUNNING禁止 重复 execute
  9. 失败后重试前必核实副作用execute(同步或异步)判定失败后(已知错误码或未知错误码),禁止直接复用旧 preview_id 或立即新开 preview 重新 execute——失败可能只是批次级判定,execute 内部可能已产生真实副作用(如 Section 已建到 TestRail)。须先按 import-rules §RetrySafety 核实,再决定下一步。

Reference 加载(MUST)

Installs
60
GitHub Stars
1
First Seen
Aug 12, 2026
cawplan-testcase-import — cawcut/skill-cawplan