Install
openclaw skills install @insistcp/e2e-delivery端到端需求/缺陷交付驱动器:给定一个 PingCode 工作项 URL/ID 或自然语言描述,自动串联"准备→开发→提交→验证→交付"五个阶段, 并沿路埋点,流程结束时产出 Markdown 报告并同步到 REDoc。 触发条件(满足任一即触发): (1) 用户说「帮我交付需求 xxx」「跑一遍端到端交付」「driver e2e」; (2) 用户给出 PingCode 工作项链接/ID 并表达"从头做到尾"的意图; (3) 用户自然语言描述一个新需求/缺陷、希望一站式完成。 不触发:仅查看工作项详情(由 pingcode-assistant-pro 处理)、仅创建 MR(由 yunxiao-assistant 处理)、 只想跑单一步骤(如只提测、只合并)。
openclaw skills install @insistcp/e2e-delivery给定一个需求(PingCode URL/ID 或自然语言描述),本 skill 按固定五阶段推进:准备 → 开发 → 提交 → 验证 → 交付。全流程的每一步都会写入 session 文件;遇到人工必需的节点(部署、CR 触发)阻塞等待用户回复"继续";流程结束自动出报告。
启动时首先判断输入模式:
https://pingcode2.devops.xiaohongshu.com/work-item-detail/951526)或纯数字 ID(如 951526)→ 直接 ee-cli pingcode workitem get <id> 获取详情pingcode-assistant-pro 走"创建工作项"流程,拿到 ID 后进入主流程;session 标记 workItem.createdBySkill: true路径:~/.claude/e2e-sessions/<workitem-id>.json
首启动:
currentPhase 起点重放;重开 → 备份旧文件为 <id>.json.bak.<timestamp>,重新初始化references/session-schema.md)写规约(硬约束):
scripts/session.py 脚本,禁止 inline python 手拼 JSONsession.py step-start,执行后 step-end(--result 必填)gate-wait,用户回复继续时 gate-resumephase-start / phase-endreferences/session-schema.md「写入操作」章节durationMs、updatedAt、waitDurationMs 等字段缺失,直接影响报告质量详细 schema:见 references/session-schema.md。
| 阶段 | 目标 | 关键动作 |
|---|---|---|
| ① 准备 | 有一个可开发的工作项 | 环境预检、载入 session、工作项就绪 |
| ② 开发 | 代码已推送到远端 | 切分支、编码、本地检查、提交推送 |
| ③ 提交 | 代码进入评审 & 测试通道 | 创建 MR、关联工作项、发起提测 |
| ④ 验证 | 功能可用 + 代码经过 review | 部署(人工)、状态确认、功能验证、CR review |
| ⑤ 交付 | 交付完成,留下可追溯的报告 | Approve、合并、状态流转、生成报告 |
每阶段的详细步骤、决策点、命令示例:见 references/flow.md。
human_gate_waiting 事件后交出控制权,明确告诉用户该做什么、如何回复继续。task(需求),到「关联工作项」这一步会阻断——云效要求 MR 只能关联子任务/缺陷。此时 skill 自动创建服务端子任务(沿用父需求的 workspace/owner/business_line 默认值)并关联,避免人工介入。flow.md Step 5.0 + Step 5.2):cr merge 之前必须先 test-submission get 校验提测单状态(Step 5.0),再 cr checklist 复核所有服务端卡点(Step 5.2)。任一未通过一律阻塞。违反此约束会导致代码在测试未通过 / 卡点未清情况下合入,是严重流程 bug。必须在流程开始前完成。详见 references/env-precheck.md。要点:
ee-cli loginSkill(...) 二次调用在 ⑤ 交付阶段的最后一步触发。渲染逻辑与模板见 references/report-template.md。要点:
docs/e2e-reports/<workitem-id>-<yyyymmdd>.md(相对当前项目根目录)redocParentId,见 ~/.claude/e2e-delivery/config.json)见 references/troubleshooting.md。