From 26f7bfd7b2b61216447b9efb198baf05b1966ffe Mon Sep 17 00:00:00 2001 From: zichun Date: Mon, 25 May 2026 14:06:05 +0800 Subject: [PATCH] fix(lite): frontend two-layer evidence template, spec section names, proper commit trailer, verify-fail guidance --- skills/coding/feature-review/SKILL.md | 2 +- skills/coding/feature-review/templates/commit-message-template.md | 4 +++- skills/coding/feature-review/templates/feature-review-template.md | 29 +++++++++++++++++++++-------- skills/coding/feature-tdd/SKILL.md | 8 ++++---- skills/coding/feature-tdd/templates/commit-message-template.md | 4 +++- 5 files changed, 32 insertions(+), 15 deletions(-) diff --git a/skills/coding/feature-review/SKILL.md b/skills/coding/feature-review/SKILL.md index 26f53a9..82a12eb 100644 --- a/skills/coding/feature-review/SKILL.md +++ b/skills/coding/feature-review/SKILL.md @@ -77,7 +77,7 @@ allowed-tools: Read Write Edit Skill Agent Bash(git add *) Bash(git commit *) 3. 渲染 `## 验证证据` 节(填入 `${CLAUDE_SKILL_DIR}/templates/feature-review-template.md` 的 verify 部分)。 -4. **`exit_code != 0` 或 `failed > 0`**(任一目标失败)→ **停止,不进入 review 阶段**。等待下轮或用户介入。 +4. **`exit_code != 0` 或 `failed > 0`**(任一目标失败)→ **停止,不进入 review 阶段**。打印一行结构化摘要(`feature-review[verify] 失败: exit= failed=;详见 `)+ 提示「修复后重跑 `/erp-workflow:coding-start`(loop 幂等会回到本步)」,然后停下,不调用下游。环境/依赖类失败可主动 `Skill(interrupt-check)`。 5. 全部通过 → 进入 review 阶段。 diff --git a/skills/coding/feature-review/templates/commit-message-template.md b/skills/coding/feature-review/templates/commit-message-template.md index ecf5222..7e2bb26 100644 --- a/skills/coding/feature-review/templates/commit-message-template.md +++ b/skills/coding/feature-review/templates/commit-message-template.md @@ -1 +1,3 @@ -{{type}}({{scope}}): {{subject}} {{req_id}} +{{type}}({{scope}}): {{subject}} + +REQ_ID: {{req_id}} diff --git a/skills/coding/feature-review/templates/feature-review-template.md b/skills/coding/feature-review/templates/feature-review-template.md index a584fa4..237e4e5 100644 --- a/skills/coding/feature-review/templates/feature-review-template.md +++ b/skills/coding/feature-review/templates/feature-review-template.md @@ -9,20 +9,33 @@ round: {{round}} ## 验证证据 -- 命令: `{{command}}` -- 子会话: {{subagent_id}} -- 退出码: {{exit_code}} -- 通过用例数: {{passed}} -- 失败用例数: {{failed}} -- 失败列表: {{failed_list}} +> **phase=backend** 只填「单测/集成」一段。 +> **phase=frontend** 填「单测(vitest/jsdom)」+「E2E(Playwright)」两段,两段都通过才算 pass。 + +### 单测 / 集成(phase=backend 用此段;phase=frontend 填 vitest) +- 命令: `{{unit_command}}` +- 子会话: {{unit_subagent_id}} +- 退出码: {{unit_exit_code}} +- 通过 / 失败用例数: {{unit_passed}} / {{unit_failed}} +- 失败列表: {{unit_failed_list}} 关键 stdout 片段 (≤30 行): ``` -{{stdout_excerpt}} +{{unit_stdout_excerpt}} +``` + +### E2E(仅 phase=frontend;phase=backend 填 N/A) +- 命令: `{{e2e_command}}` +- 子会话: {{e2e_subagent_id}} +- 退出码: {{e2e_exit_code}} +- 通过 / 失败用例数: {{e2e_passed}} / {{e2e_failed}} + +``` +{{e2e_stdout_excerpt}} ``` -结论: {{verify_conclusion}} (pass / fail) +结论: {{verify_conclusion}} (pass / fail —— frontend 需两段皆 pass) --- diff --git a/skills/coding/feature-tdd/SKILL.md b/skills/coding/feature-tdd/SKILL.md index 3810ea4..39824c4 100644 --- a/skills/coding/feature-tdd/SKILL.md +++ b/skills/coding/feature-tdd/SKILL.md @@ -61,15 +61,15 @@ allowed-tools: Read Write Edit Agent Skill Bash(git add *) Bash(git commit *) c. 在 `impl_file` 处写**最小**实现使测试通过。**严格遵守**: - `phase=backend`:`impl_file` 不得以 `frontend/` 开头(违反 → 护栏硬停) - - `phase=frontend`:`impl_file` 必须以 `frontend/` 开头(违反 → 护栏硬停);色值用 `var(--color-*)`(来自 spec §六),不硬编码 hex;业务校验按 spec §五 在 form-level 复刻 + - `phase=frontend`:`impl_file` 必须以 `frontend/` 开头(违反 → 护栏硬停);色值用 `var(--color-*)`(来自 spec「Design Tokens 引用清单」节),不硬编码 hex;业务校验按 spec「业务规则前端复刻清单」节在 form-level 复刻 d. 再次派发子会话确认通过 e. 同一测试 >10 次修复仍失败 → 调用 `Skill(interrupt-check)`(中断 #1:测试反复失败) f. 按 `${CLAUDE_SKILL_DIR}/templates/commit-message-template.md` 格式 commit: - - `phase=backend`:`scope` = 任务模块;`subject` ≤ 50 字符;内含 `REQ-XXX-NNN` 标签 - - `phase=frontend`:`scope` = 组件名(如 `dashboard` / `user-form`);`subject` ≤ 50 字符;必含 trailer `REQ_ID: FE-NN` + - `phase=backend`:`scope` = 任务模块;`subject` ≤ 50 字符;trailer `REQ_ID: REQ-XXX-NNN` + - `phase=frontend`:`scope` = 组件名(如 `dashboard` / `user-form`);`subject` ≤ 50 字符;trailer `REQ_ID: FE-NN` 4. **全部任务完成** → 调用 `Skill(feature-review)` 传入 `{ phase, id }` @@ -87,7 +87,7 @@ allowed-tools: Read Write Edit Agent Skill Bash(git add *) Bash(git commit *) ``` feature-tdd 前端阶段不允许写非前端文件:。前端阶段任务的 impl_file 必须落在 frontend/ 目录下。 ``` -- 不硬编码颜色 hex(`phase=frontend`);token 引用必须对齐 spec §六 +- 不硬编码颜色 hex(`phase=frontend`);token 引用必须对齐 spec「Design Tokens 引用清单」节 --- diff --git a/skills/coding/feature-tdd/templates/commit-message-template.md b/skills/coding/feature-tdd/templates/commit-message-template.md index ecf5222..7e2bb26 100644 --- a/skills/coding/feature-tdd/templates/commit-message-template.md +++ b/skills/coding/feature-tdd/templates/commit-message-template.md @@ -1 +1,3 @@ -{{type}}({{scope}}): {{subject}} {{req_id}} +{{type}}({{scope}}): {{subject}} + +REQ_ID: {{req_id}} -- libgit2 0.22.2