---
name: clover-loop
version: 1.0.0
description: |
  Clover 内容生产闭环开发 SKILL（改造自 ralph-loop）。
  Memory is Poison, Tests are Cure —— 但 Clover 的 Test 不止单元测试，还有北哥的眼睛。
  六阶段闭环：调研→约束→生成→验证→校准→闭环。质量过关=机器过滤+北哥抽检两阶段。
triggers:
  - clover-loop
  - 内容闭环
  - 生产闭环
allowed-tools:
  - Bash
  - Read
  - Write
  - Edit
  - Glob
  - AskUserQuestion
---

# Clover Loop SKILL

> 核心：机器层(machine_passed)只是进抽检队列，北哥点头(human_passed)才是真过关。

## 六阶段

### P0 调研（ralph-loop 没有，北哥"先调研"）
读架构方案v0.3 + 对应 PRD + 扒包落盘，确认本任务边界。
不充分就进 P2 = 在错误的层做对的事（PSR-L 教训）。

### P1 约束
冻结 task_spec：输入/输出/验证命令/期望exit_code/质量阈值。
`python scripts/loop_state.py create <task_id>`

### P2 生成
写代码 + 写验证脚本（必须含断言、返回exit_code）。
`python scripts/loop_state.py advance`

### P3 验证（机器层）
跑机器门禁：lint / test / 违禁词 / 五维≥90 / 去重。
全过 → status=machine_passed → 进 P4；不过 → 记失败，回 P2。

### P4 校准（ralph-loop 没有，专治"分高但烂"）
机器过的内容样本，按维度比对北哥标准；同质化/跑偏单独标记。
产出**抽检样本包**交北哥 → 北哥判断回写质量标准（喂飞轮）。

### P5 闭环
- 北哥抽检通过 → status=human_passed → 归档 + 结晶
- 北哥打回 / 验证不过 → 分析根因
  - 同层撞墙 **2 次** → 强制 Pivot（换层不换参），记 pivots[]
  - Pivot 后仍不过 / 北哥连续否决同方向 → status=blocked，停循环请人介入

## 状态机（.clover-loop-state.json）
5 态：in_progress / machine_passed / human_passed / pivoted / blocked
关键：machine_passed ≠ human_passed

## 命令
| 命令 | 功能 |
|------|------|
| /clover-loop | 启动六阶段闭环 |
| /clover-loop:status | 查当前状态 |
| /clover-loop:pivot | 手动触发换层 |

## 铁律
- 撞墙 2 次必 Pivot（对齐 CLAUDE.md 失败2次）
- 北哥不耐烦/连续否决 = 路径选错层的信号，立即 Pivot 不调参
- 软件测试过 ≠ 内容质量过
