Loading...
Loading...
Compare original and translation side by side
maindogfoodmaindogfoodagent-browseragent-browseragent-browsermcp__claude-in-chrome__*agent-browsernpx agent-browseragent-browsermcp__claude-in-chrome__*agent-browsernpx agent-browserbin/devrails servernpm run devagent-browsercommand -v agent-browser >/dev/null 2>&1 && echo "Ready" || echo "NOT INSTALLED"ce-setupbin/devrails servernpm run devagent-browsercommand -v agent-browser >/dev/null 2>&1 && echo "Ready" || echo "NOT INSTALLED"ce-setupagent-browserce-dogfood-beta| When | Skill | Why |
|---|---|---|
| Phase 0 isolation | | Run the dogfood in an isolated worktree so the main checkout stays clean. |
| agent-browser missing | | Installs |
| A failure's root cause is non-obvious | | Systematic root-cause analysis instead of guess-and-check. |
| Committing each fix | | Consistent, well-scoped commit messages. |
| A bug reveals a reusable lesson | | Capture the learning so the team compounds knowledge. |
ce-test-browserce-dogfood-beta| 场景 | 技能 | 原因 |
|---|---|---|
| 阶段0隔离 | | 在独立工作树中运行测试,保持主 checkout 干净。 |
| 缺少agent-browser | | 安装 |
| 故障根因不明确 | | 系统性根因分析,而非猜测验证。 |
| 提交修复 | | 生成一致、范围清晰的提交信息。 |
| 漏洞揭示可复用经验 | | 记录经验,帮助团队积累知识。 |
ce-test-browser0. Scope Pick the branch, get onto it (offer worktree), never touch main
1. Analyze Diff branch vs main, understand every change
2. Map+Matrix Map user flows as Mermaid flowcharts, then derive the test matrix as a task list
3. Serve Detect port, start dev server, open agent-browser
4. Execute Work the matrix one item at a time with agent-browser
5. Fix loop On failure: fix -> add regression test -> commit -> continue
6. Report Write durable doc to docs/dogfood-reports/ (flows, matrix, fixes, learnings, verdict)0. 范围确定 选择分支,切换到该分支(提供工作树选项),绝不触碰main分支
1. 变更分析 对比分支与main的差异,理解每一处变更
2. 流程映射与测试矩阵 将用户流程映射为Mermaid流程图,然后从流程中生成测试矩阵任务列表
3. 启动服务 检测端口,启动开发服务器,打开agent-browser
4. 执行测试 逐个完成测试矩阵中的任务,使用agent-browser执行
5. 修复循环 测试失败时:修复问题 -> 添加回归测试 -> 提交修复 -> 继续测试
6. 生成报告 将持久化文档写入docs/dogfood-reports/(包含流程、矩阵、修复内容、经验总结、最终结论)$ARGUMENTS--port PORTgh pr checkout <number>mainmasterce-worktreedocs/dogfood-reports/*-<branch-slug>-dogfood.md$ARGUMENTS--port PORTgh pr checkout <number>mainmasterce-worktreedocs/dogfood-reports/*-<branch-slug>-dogfood.mdTaskCreateTaskUpdatein_progresscompleteddocs/dogfood-reports/<YYYY-MM-DD>-<branch-slug>-dogfood.mdPendingTaskCreateTaskUpdatein_progresscompleteddocs/dogfood-reports/<YYYY-MM-DD>-<branch-slug>-dogfood.mdPendingmaingit diff --name-only main...HEAD # what changed
git diff main...HEAD # how it changedSTRATEGY.mdVISION.mddocs/personas/PERSONAS.mdmaingit diff --name-only main...HEAD # 变更了哪些文件
git diff main...HEAD # 具体变更内容STRATEGY.mdVISION.mddocs/personas/PERSONAS.mdflowchartEmail example: it's not enough that "an email sends." Does it go to the right recipient? When the user clicks through, does the app land on and scroll to the right message? Does the content make sense? Does the whole flow align with the product's vision and UX? The flowchart must carry the click-through and its destination, not stop at "email sent."
flowchart TD
A[User opens /threads] --> B[Clicks 'Reply']
B --> C{Form valid?}
C -->|No| D[Inline validation error shown]
C -->|Yes| E[Reply saved]
E --> F[Notification email sent to thread participants]
E --> G[UI scrolls to new reply, focus on it]
F --> H[Recipient clicks email link]
H --> I{Lands on correct thread + scrolls to the reply?}flowchart邮件示例:仅测试“邮件发送成功”是不够的。邮件是否发送给正确的收件人?用户点击链接后,应用是否跳转到正确的消息并滚动到对应位置?内容是否合理?整个流程是否符合产品愿景和UX设计?流程图必须包含点击跳转及其目标,不能在“邮件发送”处停止。
flowchart TD
A[User opens /threads] --> B[Clicks 'Reply']
B --> C{Form valid?}
C -->|No| D[Inline validation error shown]
C -->|Yes| E[Reply saved]
E --> F[Notification email sent to thread participants]
E --> G[UI scrolls to new reply, focus on it]
F --> H[Recipient clicks email link]
H --> I{Lands on correct thread + scrolls to the reply?}references/test-matrix-taxonomy.mdTaskCreatereferences/test-matrix-taxonomy.mdTaskCreate--portAGENTS.mdCLAUDE.mdpackage.json.env*PORT=3000ce-test-browseragent-browser open "http://localhost:${PORT}"
agent-browser snapshot -i--portAGENTS.mdCLAUDE.mdpackage.json.env*PORT=3000ce-test-browseragent-browser open "http://localhost:${PORT}"
agent-browser snapshot -iin_progressagent-browser open "http://localhost:${PORT}/<route>"
agent-browser snapshot -i
agent-browser click @e1
agent-browser fill @e2 "value"
agent-browser screenshot <scenario>.png
agent-browser errors # check console/page errorsPasscompletedin_progressagent-browser open "http://localhost:${PORT}/<route>"
agent-browser snapshot -i
agent-browser click @e1
agent-browser fill @e2 "value"
agent-browser screenshot <scenario>.png
agent-browser errors # 检查控制台/页面错误Passcompletedce-debugce-commitce-compoundBlocked (human decision)completedBlocked (human decision)ce-debugce-commitce-compoundBlocked (human decision)completedBlocked (human decision)docs/dogfood-reports/<YYYY-MM-DD>-<branch-slug>-dogfood.mdreferences/dogfood-report-template.mdmaince-compounddocs/dogfood-reports/<YYYY-MM-DD>-<branch-slug>-dogfood.mdreferences/dogfood-report-template.mdmaince-compound