上一篇把"新增筛选项"的启动回复写了一遍。Codex 选了 TDD 做主 Skill,webapp-testing 做后备,也把项目边界和排除项说清楚了。
这只能算开了个好头。
很多 AI 前端任务的麻烦出在后半段。启动时说得很完整,改完代码以后只剩一句"已完成"。我看不到测试怎么处理,看不到页面路径怎么走,也看不到哪些 GitHub Skill 规则最后留了下来。
所以启动回复合格以后,我会继续要求三类证据。
第一类是行为证据
新增筛选项的核心不在界面上,而在查询行为上。
我会让 Codex 先拿 TDD 的思路交行为证据。项目有测试入口,就写最小测试。项目暂时没有测试入口,就先交行为样例和对应代码位置,不能为了这一个任务新装测试框架。
行为证据
- 输入筛选值后点击查询,请求参数包含该值
- 查询动作会让分页回到第一页
- 点击重置后,请求参数移除该值
- 查询后翻页,仍使用已提交筛选条件
- 输入但未查询时,翻页不使用草稿值
这里有一个细节。草稿值和已提交条件要分开。
用户在输入框里打了字,还没点查询。此时翻页到底用不用这个新值?多数后台列表会继续使用上一次已提交条件。Codex 如果把输入框值直接绑到请求参数里,页面看着能跑,交互会变得很别扭。
这就是行为证据的价值。它逼 Codex 先讲状态关系,再讲代码实现。
第二类是页面证据
行为证据过了,还要看页面。
webapp-testing 在这里负责收尾。它不一定每次都要写完整自动化脚本。页面能本地打开、登录态可用、数据可控时,可以走浏览器脚本。条件不齐,就写人工路径和未覆盖项。
我会让 Codex 交这份页面证据。
页面证据
- 打开列表页,确认新增筛选项显示在正确位置
- 输入筛选值,点击查询
- 检查列表请求或页面结果是否使用该条件
- 点击重置,确认输入框清空
- 重置后列表回到默认查询状态
- 查询后翻页,确认条件没有丢
- 记录无法验证的账号、接口或数据条件
这类证据不能只写"页面正常"。正常两个字太松。
我更愿意看到具体路径。点了什么,输入了什么,页面或请求发生了什么,哪一步没法在当前环境确认。哪怕只是人工路径,也比一句正常可靠。
第三类是规则证据
任务结束以后,我会让 Codex 回到 GitHub Skill 规则本身。
这一步承接前面写过的规则复盘。新增筛选项这次借了 TDD 和 webapp-testing,排除了 web-artifacts-builder 和 systematic-debugging。最后要记录哪些规则值得下次继续用。
规则证据
- 本次采用 TDD 的哪几条行为要求
- 本次采用 webapp-testing 的哪些页面路径
- 哪些 GitHub Skill 被排除
- 排除原因是否仍然成立
- 哪些规则只适合本次任务
- 哪些规则可以下次继续用
我不会把"新增筛选项要写这些行为样例"立刻塞进项目长期规则。它更适合先留在任务记录里。等同类任务再出现几次,仍然稳定有效,再考虑写成项目规则。
规则进长期文档要克制。写多了,Codex 每次读任务都会背负一堆局部经验。
我会把三类证据写进交付要求
启动回复通过后,我会追加一段交付要求。
启动回复已确认。现在可以进入代码修改。
交付时必须包含三类证据。
行为证据
- 若项目有测试入口,提供最小测试及结果
- 若没有测试入口,提供行为样例和对应代码位置
页面证据
- 提供查询、重置、翻页路径
- 标明自动验证或人工复核
- 标明未覆盖的账号、数据或环境
规则证据
- 列出采用的 GitHub Skill 规则
- 列出排除的 GitHub Skill 规则
- 说明哪些规则只留在本次任务记录
这段话的作用很直接。它把启动模板的承诺带到交付阶段。
Codex 如果只改代码,不交证据,任务就没有结束。它如果交了证据但对不上主 Skill,也要继续追问。比如主 Skill 是 TDD,却没有行为样例。后备 Skill 是 webapp-testing,却没有页面路径。这些都说明前面的选择没有真正落地。
什么时候可以降级
我允许降级,但降级要写清楚。
测试入口找不到,可以把 TDD 降级为行为样例。页面依赖登录态,可以把浏览器脚本降级为人工路径。接口没有可控数据,可以把结果验证降级为请求参数检查和待复核项。
降级要把当前环境做不到的事说清楚。
我不接受两种情况。一种是没有证据还说已经验收。另一种是为了制造证据,引入新依赖、改公共封装或塞测试专用逻辑。证据应该服务任务,不能反过来改造项目。
写在最后
Codex 的启动回复合格以后,任务还没有完成。前端改动需要三类证据往回收。
行为证据管状态和参数,页面证据管真实路径,规则证据管 GitHub Skill 的去处。三类证据合在一起,我才能判断这次新增筛选项是否真的可合并。
下一篇可以换一个方向,用"分页错位"来跑同一套模板。新增功能看状态,bug 修复看根因。两种任务的主 Skill 会变,证据结构也会跟着变。
本系列持续更新,继续把 Codex 和 GitHub Skills 放进一个个前端任务里拆开看。