ワンクリックで
upaseo-e2e
集成测试与端到端验证技能。先冻结测试环境并写测试用例/验证方法,再逐条执行 e2e 用例;遇到失败先复现,再通过 gh issue create 上报,若无 gh 则落盘到 `.github/issues/`。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
集成测试与端到端验证技能。先冻结测试环境并写测试用例/验证方法,再逐条执行 e2e 用例;遇到失败先复现,再通过 gh issue create 上报,若无 gh 则落盘到 `.github/issues/`。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Hand off the current task to another agent with full context. Use when the user says "handoff", "hand off", "hand this to", or wants to pass work to another agent.
Run an agent loop until an exit condition is met. Use when the user says "loop", "babysit", "keep trying until", "check every X", "watch", or wants iterative autonomous execution.
Foundation reference for Paseo agents, worktrees, CLI, provider preferences, and daemon operations. This is not the product development workflow entrypoint; use using-upaseo for end-to-end development.
核心开发工作流编排技能。运行重度开发任务的生命周期管理,内置自主复杂度判定、 微改快速通道、增量式迭代推进、独立迭代设计文档、自主推进/用户验证网关、 风险分级 upaseo-loop、UI 走 preferences、精简阶梯前置门、优先日志验证、 PR 提交前强制自审简化(删除清单+延迟债务)与大代码审查(ocr)、会话复盘与避障学习落盘。Use for /using-upaseo development tasks, including optional quick/full, autopilot/gate, worktree, and PR-per-iteration modes.
本地代码自审与质量监督技能。融合 open-code-review (ocr) 大代码审查引擎与 Agent 模拟审计分层,在提交 PR 前对当前改动进行全面的安全性、稳健性、风格契合度审查,发现隐藏的 bug 和坏味道。
本地发布与收尾交付技能。在 PR 已被批准并合并后由用户手动调用,处理主干发布校验、 历史开发资产版本正式化(Story Release)、Release metadata commit、物理工作区与临时分支清理, 以及 CHANGELOG 生成。Use with optional version, keep-worktree, or dry-run arguments after PR approval and merge.
| name | upaseo-e2e |
| description | 集成测试与端到端验证技能。先冻结测试环境并写测试用例/验证方法,再逐条执行 e2e 用例;遇到失败先复现,再通过 gh issue create 上报,若无 gh 则落盘到 `.github/issues/`。 |
User's request: $ARGUMENTS
本技能用于执行集成测试(integration test)与端到端验证(e2e)。默认目标不是顺手修代码,而是先把环境、用例、证据和缺陷记录跑成闭环:先冻结测试环境 -> 先写测试用例与验证方法 -> 再逐个执行 -> 失败先复现 -> 再上报 issue。
--lang 覆盖:用户可在调用 /upaseo-e2e <target> --lang en 时切换为英文输出,或 --lang zh 显式确认中文(缺省即 zh)。--lang en 时:测试矩阵、执行报告、issue 标题与正文均改为英文;命令、路径、环境变量名、CLI 子命令名、Case ID、错误原文、日志片段仍保留原样以便可复制。--lang en 时本地降级 issue 文件的头部字段也切换为英文(脚本 report_issue.sh 接收 --lang en|zh,缺省 zh);--lang zh 时维持中文头部。--lang en 显式要求英文时切换为英文。/using-upaseo。HOME、临时 npm prefix、隔离端口、mock store 只能证明包可安装、资源进包或隔离 smoke;不能替代最终验收。测试矩阵必须单列真实环境 case,验证真实 HOME、真实全局二进制、真实后台 service/daemon、真实用户配置和真实数据目录/缓存。若目标包含 CLI 更新或后台 daemon 更新,必须验证更新后的真实后台进程已经重启并使用新版本。gh issue create。若当前环境没有 gh、未登录、当前目录不是可上报仓库,或 GitHub 返回错误,必须降级写入 .github/issues/。执行标准避障前置读取,见 upaseo/references/learnings-precheck.md。本技能相关 category 为 command_error|wrong_assumption。后续环境冻结、用例编排、issue 上报都必须服从提炼出的规则。
在设计用例前,按需读取当前项目的事实源:
AGENTS.md.agents/story/modules.md.agents/story/apis.md.agents/story/architecture_constraints.md.agents/story/coding_standards.md不要脱离当前项目真实边界凭空发明验证路径。
在执行任何 case 前,先把以下信息写进一个测试记录文件。推荐路径:
<项目根目录>/.paseo/plans/<slug>-e2e.md
至少记录:
git rev-parse HEAD、git status --shortpwd、操作系统、关键 runtime/CLI 版本HOME、真实全局二进制路径、真实后台 service/daemon 名称与状态、真实用户配置路径、真实数据目录/缓存路径;同时说明哪些 case 使用临时环境、为什么不能作为最终验收。若环境无法被别人复刻,停止执行,先补齐环境说明。
开始执行前,必须先写完整的测试矩阵。推荐放在同一个 .paseo/plans/<slug>-e2e.md 文件里,至少包含这些字段:
| Case ID | 测试面 | 前置条件 | 操作 | 验证方式 | 证据 | 状态 |
|---|
约束如下:
Case ID 稳定可引用,例如 CLI-01、WEB-02、FLOW-03Verification 必须写成客观方法:logs、tests、browser、manual、agent-run 或组合Evidence 指向命令输出、日志文件、截图、trace、HTML、响应体等Status 初始统一写 plannedHOST-* / REAL-* / PROD-* 等真实环境最终验收 case;临时安装、临时 HOME、隔离 daemon 的 case 必须在前置条件或测试面里标注为 isolation/package smoke,不得命名或解释为 final acceptance。WEB-* 或等价真实浏览器 case;case 必须写明真实 URL、需要打开的页面或标签、关键数据断言、加载态/错误态检查、控制台或脚本语法检查,以及禁止触发的 destructive/admin 写操作。测试矩阵写完后,必须先把以下内容展示给用户做一次人工确认:
只有当用户明确回复“确认”“开测”“开始执行”或等价指令后,才能进入 Step 3。若用户修改 case、边界或验证方法,则先更新矩阵,再重新确认一次。
如果目标支持 CLI,必须先做命令树盘点,再映射到测试矩阵:
<cmd> --help、<cmd> help、<cmd> <subcmd> --help 等方式枚举树。CLI 覆盖摘要,不能只说“已覆盖主要命令”。本步骤的前提是:人工确认已完成。
执行时遵循单 case 闭环:
planned case。passed、failed、blocked 或 skipped。禁止一次性跑完所有 case 后再回忆结果补表。
任何失败都先进入复现步骤:
reproduced: 稳定复现flaky: 间歇复现env-gap: 当前环境不足以确认若问题无法复现,不要把它写成确定性 bug;应记录为 flaky 或 env-gap。
gh 优先,本地降级)优先使用仓库内脚本:
bash upaseo-e2e/scripts/report_issue.sh \
--title "[e2e][CLI-03] login subcommand exits 1 on valid token" \
--body-file /tmp/issue-body.md \
--label bug \
--lang zh
--lang zh(缺省):本地降级 issue 文件头部字段使用中文(状态/创建时间/标签/仓库/GH 降级原因)。--lang en:本地降级 issue 文件头部字段切换为英文(Status/Created/Label/Repo/GH Fallback Reason)。--lang 不影响 --title 与 --body-file 内容,调用方自行决定标题/正文语言。--lang 不影响 gh issue create 的成功路径;当远端 issue 创建成功时,--lang 只作用于降级落盘文件的头部。该脚本的行为是:
gh issue create 可用且当前仓库上下文有效,则直接创建 GitHub issuegh 不存在、未登录、当前目录不是可上报仓库,或 GitHub 返回错误,则自动降级到:<项目根目录>/.github/issues/<timestamp>-<slug>.md
本地降级文件的 slug 由 --title 生成:脚本保留 ASCII 字母数字并折叠为连字符;当标题为纯中文(无任何 ASCII 字符)时,脚本用标题字节的短哈希生成 issue-<8hex> 兜底,避免空 slug(见脚本 §SLUG)。
无论是 GitHub issue 还是 .github/issues/*.md,正文都必须包含:
Case IDreproduced / flaky / env-gap 分类完成后输出一份简洁报告,至少包含:
环境冻结 摘要执行摘要:总 case 数、passed/failed/blocked/skipped 数CLI 覆盖摘要:若有 CLI,列出树形覆盖结果与未覆盖节点缺陷记录:GitHub issue URL 或 .github/issues/*.md 路径剩余风险:哪些问题尚未验证、哪些环境结论可能漂移# E2E 计划:<slug>
## 环境冻结
- 分支:
- 提交:
- 运行时:
- 目标:
- Seed / Fixture:
## 测试矩阵
| Case ID | 测试面 | 前置条件 | 操作 | 验证方式 | 证据 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
## CLI 覆盖摘要
- 根命令:
- 已覆盖节点:
- 已跳过节点:
- 未覆盖节点:
## 缺陷记录
- [CLI-03] reproduced -> GitHub issue / local file
只有在以下条件满足时,才能说本轮集成测试完成:
.github/issues/*.md 记录