Skill: elsemk/ai-zidong-tibug (version 1.0.0)

--- name: ai-zidong-tibug description: 将零散、口语化或评审纪要中的缺陷描述，规范化为可执行、可复现、可验收的“一句话 Bug”，并且每次都按禅道提单格式输出（未指明平台时默认安卓），自动登录禅道并逐条提交缺陷。Use when users ask to normalize bug wording, write bug titles, batch整理评审问题, and need fixed ZenTao fields + automatic submission for each issue. --- # 一句话 Bug 规范化 ## 目标 把每个缺陷改写成“单一问题、单一验收点”的标准表达，默认句式： `在【页面/场景】执行【操作】后，实际【结果】，应【期望结果】。` 坚持：一条一句、一个问题、一个验收结论。 ## 必加前置条件（强制） 在输出任何 Bug 前，必须先熟悉对应的需求文档与 UI。 - 需求文档：PRD、需求说明、验收标准、评审结论等。 - UI 依据：Figma/Axure 原型、页面截图、录屏、线上页面。 - 若前置资料不全：先列出缺失项并要求补齐；补齐前不产出正式 Bug 条目。 ## 工作流 1. 对齐需求与 UI：先确认功能意图、交互预期、展示规范和验收口径。 2. 抽取事实：页面/场景、前置条件、触发动作、实际结果、期望结果。 3. 拆分复合问题：遇到“文案+样式+逻辑”这类混合描述，拆成多条。 4. 生成标题：标题首标签必须为平台（[安卓] 或 [iOS]），模块/页面必须使用全角括号（），正文优先使用“在...后...，应...”句式。 5. 判定严重级别：按影响范围标注 S1-S4。 6. 固定按禅道格式输出：不提供一句话列表或 Jira 样式作为最终结果。 7. 补齐关键管理字段：影响版本、严重级别、优先级、图片/附件。 8. 自检质量：确保可复现、可验收、可指派。 9. 自动登录禅道并逐条提单：先执行 `scripts/zentao_login_and_save_state.py` 获取/刷新 token 登录态，再执行 `scripts/zentao_submit_bugs.py` 逐条创建缺陷并上传附件。 10. 回填提单结果：为每条 Bug 回填禅道缺陷 ID/链接/提交状态。 ## 禅道自动登录与自动提单（强制） 默认行为：生成每条 Bug 后，自动登录禅道并创建缺陷单；仅当用户明确说“只生成不提单”时才跳过提交。 登录脚本（必须使用）： - 脚本路径：`scripts/zentao_login_and_save_state.py` - 执行命令：`python3 scripts/zentao_login_and_save_state.py` - 登录产物：token 状态文件（默认 `./playwright/.auth/zentao-storageState.json`） - 必填环境变量：`HTTP_USER`、`HTTP_PASS`、`ZENTAO_USER`、`ZENTAO_PASS` - 可选环境变量：`ZENTAO_URL`、`STORAGE_STATE_PATH`、`VERIFY_SSL` 提单脚本（必须使用）： - 脚本路径：`scripts/zentao_submit_bugs.py` - 执行命令：`python3 scripts/zentao_submit_bugs.py --input <bugs.json> --product-id <产品ID>` - 启用模块自动映射（可选）：`--module-map <module-map.json>` - 创建模式（可选）：`--create-mode auto|api|legacy` - 附件模式（可选）：`--attachment-mode strong|api-link`（默认 `strong`） - 去重与重试（可选）：`--[no-]dedupe`、`--retry-attempts <n>` - 结果产物：提单结果文件（默认 `./playwright/.auth/zentao-submit-result.json`） - 输入样例：`references/submit-bugs-input.example.json` - 模块映射样例：`references/module-map.example.json` 执行要求： - 自动处理登录态：登录失效时自动重新登录。 - 逐条提交：每条 Bug 独立创建 1 条禅道缺陷。 - 自动补齐字段映射：指派人、标题、步骤、期望、影响版本、严重级别、优先级、图片/附件。 - 自动模块映射：优先使用条目内 `模块ID`，否则按 `--module-map` 规则匹配，再兜底默认模块。 - 附件处理：默认 `strong` 模式（legacy files[] 强绑定到禅道附件栏）；可切换 `api-link` 模式回填附件链接到内容区。 - 去重与重试：默认同产品同标题去重；网络/提单/上传默认自动重试 3 次。 - 提交后回填：返回缺陷 ID、链接、提交状态；失败时给出失败原因与重试建议。 前置资料（首次提单前需具备）： - 禅道地址（URL） - 产品ID（必填） - 项目/执行/模块定位（如有） - 模块映射文件（可选，建议配置） - 可用登录态（通过环境变量提供账号密码） ## 输出模式（唯一） 所有 Bug 必须按禅道格式输出（强制），无论用户是否额外指定格式。 每条固定字段： - 指派人 - 标题 - 步骤（固定 4 步，第 4 步写实际结果） - 期望（步骤后空一行再写；`期望： `冒号后保留 1 个空格） - 影响版本 - 严重级别（S1-S4，必填） - 优先级（P1-P4，必填） - 图片/附件（截图链接、文件名或“待补充”） - 禅道提交结果（缺陷ID/链接/状态，必填） 标题格式（强制）： - `[安卓]（模块/页面）问题描述` - `[iOS]（模块/页面）问题描述` 排版格式（强制）： - 步骤固定写 4 条，第 4 条必须写“实际结果”。 - 步骤块结束后，必须空 1 行再写 `期望： `。 - `期望： `中的冒号后必须保留 1 个空格。 说明：严重级别不再放在标题中，只保留在“严重级别”字段里。 ## 指派人规则（平台映射，强制） - Android 缺陷：`指派人=孙晓晨` - iOS 缺陷：`指派人=蓝友亮` - 默认平台：安卓。用户未明确平台时，按安卓输出（标题用 `[安卓]`，指派人用孙晓晨）。 - 同一问题同时影响 Android 与 iOS：拆成两条禅道 Bug，分别按平台指派。 - 标题平台标签与指派人必须一致：`[安卓]↔孙晓晨`，`[iOS]↔蓝友亮`。 说明：可以先在内部生成“一句话 Bug”用于组织语言，但最终对外输出必须是禅道字段结构。 ## 严重级别判定（S1-S4） - **S1**：核心流程阻断、数据错误、安全/资金风险。 - **S2**：关键功能错误，主流程可继续但明显受损。 - **S3**：局部功能、交互、视觉或状态异常，不阻断主流程。 - **S4**：轻微样式/文案问题，功能基本不受影响。 ## 优先级判定（P1-P4） - **P1**：需立即处理（通常与 S1 对应，或上线阻断风险高）。 - **P2**：本迭代优先处理（通常与 S2 对应）。 - **P3**：可排期处理（通常与 S3 对应）。 - **P4**：低优先级优化项（通常与 S4 对应）。 说明：严重级别表示“影响程度”，优先级表示“处理先后”，两者可不完全等同，但需给出明确值。 ## 写作硬规则 - 必须以需求文档和 UI 依据为准，不脱离设计与验收标准主观发挥。 - 最终输出必须是禅道格式；即使用户未指定或提出其他格式，也统一回到禅道字段。 - 标题首标签必须是平台（[安卓] 或 [iOS]），禁止再使用 [S1/S2/S3/S4] 作为标题前缀。 - 只写客观现象，不写原因猜测（如“可能是接口挂了”）。 - 避免模糊词（如“有点”“偶尔”“不太对”）。 - 不能把多个缺陷塞进一条。 - 步骤固定为 4 条，第 4 条必须写实际结果；步骤块与期望字段之间必须空 1 行。 - 期望必须可验收，优先“应/应当/应显示”。 - 缺失信息不得编造：未知字段写“待补充”；平台未指定时默认按安卓映射输出。 - 严重级别与优先级必须明确填写（S1-S4、P1-P4），不得留空。 - 图片/附件字段必须存在：有截图时填链接或文件名；无截图时填“待补充（需上传截图/录屏）”。 - 默认执行自动提单：除非用户明确要求“仅输出不提交”，否则每条 Bug 都要自动提交到禅道。 - 禁止在脚本中硬编码账号密码；凭据仅通过环境变量或运行参数提供。 - 每条 Bug 提交后必须回填禅道提交结果（缺陷ID/链接/状态）；提交失败不得静默，必须反馈失败原因。 ## 批量输入处理 当输入是会议纪要、聊天记录、截图文字时： 1. 先按模块/页面分组。 2. 再按“动作-现象-期望”拆分。 3. 每组按稳定顺序输出，避免字段缺失。 ## 质量自检清单 输出前逐条检查： 1. 是否已完成“需求文档 + UI 依据”的对齐检查。 2. 是否包含“场景 + 操作 + 实际 + 期望”。 3. 是否只有一个缺陷。 4. 他人是否能按步骤复现。 5. 是否能清晰判断通过/不通过。 6. 禅道字段是否齐全且顺序稳定（指派人→标题→步骤→期望→影响版本→严重级别→优先级→图片/附件→禅道提交结果）。 7. 步骤是否固定 4 条且第 4 条为实际结果，且步骤块与期望字段之间留有 1 行空行。 8. 标题是否使用平台前缀（[安卓] 或 [iOS]），且模块/页面使用全角括号（），并未使用 [Sx] 前缀。 9. 指派人是否符合平台映射（安卓=孙晓晨；iOS=蓝友亮），且未指定平台时是否已默认按安卓输出。 10. 严重级别与优先级是否均已给出有效值（S1-S4、P1-P4）。 11. 图片/附件字段是否已填写有效证据或“待补充（需上传截图/录屏）”。 12. 是否已完成逐条提单并回填禅道缺陷ID/链接/状态；失败是否已反馈原因。 ## 参考模板 需要模板、反例改写、批量整理示例时，读取： - `references/templates-zh.md` - `references/submit-bugs-input.example.json` - `references/module-map.example.json`


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)