SKILL.md
2.15 KB
name: fe-feature-verify description: 前端功能循环第 4 步。把 FE 的组件测试 + E2E 派发到子会话执行,按模板渲染证据。无证据不声称完成。 user-invocable: false
allowed-tools: Skill Read Agent
所有输出必须使用中文。
fe-feature-verify
把当前 FE 的测试派发到 Agent 子会话执行,按模板把结构化结果渲染成证据。主会话从不直接跑测试,也不自由编写证据。
执行步骤
-
从 plan 文件确定本 FE 的测试目标:
- 单测目标:plan § 二中所有
测试先行类型 = jsdom的 test_file 列表 → 拼成 vitest/jest 过滤模式 - E2E 目标:所有
测试先行类型 = e2e的 test_file 列表 → 拼成 Playwright spec 过滤模式
- 单测目标:plan § 二中所有
派发 Agent 子会话(general-purpose)依次运行两个目标,子会话只返回结构化 JSON(不输出描述文字):
{
"unit": {
"command": "<vitest/jest 命令>",
"exit_code": <int>,
"passed": <int>,
"failed": <int>,
"failed_list": ["<test>", ...],
"stdout_excerpt": "<最后 30 行或最相关的失败片段>"
},
"e2e": {
"command": "<playwright 命令>",
"exit_code": <int>,
"passed": <int>,
"failed": <int>,
"failed_list": ["<spec>", ...],
"stdout_excerpt": "<最后 30 行或最相关的失败片段>"
}
}
命令从 docs/04-技术规范.md § 零 frontend.test_command / frontend.e2e_command 取,缺失则用默认 pnpm test:ci / pnpm e2e:ci。
按
${CLAUDE_SKILL_DIR}/templates/fe-feature-verify-evidence-template.md渲染证据并打印到会话。任一目标
exit_code != 0或failed > 0→ 停止,不进入 review。全部通过 → 调用
Skill(fe-feature-review)。
护栏
- 绝不在主会话直接跑测试,必须通过子会话
- 绝不自由编写证据正文,必须从模板渲染
- 不要把原始 stdout 全文塞进主会话(
stdout_excerpt≤ 30 行)
参考
${CLAUDE_SKILL_DIR}/templates/fe-feature-verify-evidence-template.md- 上游:
fe-feature-tdd - 下游:
fe-feature-review