le-spec v1.0.0:Le SPEC 智能需求分析与 SPEC 生成总控 skill——真实集成 grilling/grill-with-docs(domain-modeling) + think + openspec(CLI 1.16.1 + 7 个 openspec-* skills,均经 skills.sh 装入 ~/.agents/skills 并软链四 runtime);七阶段工作流(识别/十类分拣/Grill 访谈/Think 挑战/反向验收/OpenSpec 生成/四视角审查)复杂度三档自适应;状态 state.md + 调用账本 ledger.jsonl 双持久化支撑中断恢复与真实调用核验;依赖检查 deps_check.py 分级报缺+精确安装命令,ledger.py append/check/tail;四类回合终止停点(批准前不编码为硬约束);测试 A-I 九项全过:两场景 fresh-context 子代理多轮实测(4 轮访谈+变更+中断恢复+strict validate 双项目通过),账本 28 条真实调用(grilling×9/think×2/openspec CLI×14),独立子代理审查实测抓出自审遗漏的 2 blocking;已知限制 7 项如实入库(reports/test-report.md)

This commit is contained in:
leroy
2026-11-08 12:00:02 +08:00
parent 4ec81e253f
commit b47dcf2ff2
12 changed files with 750 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
# Le SPEC
> 智能需求分析与 SPEC 生成总控:把模糊、零散、矛盾的想法,经**真实集成的** Grill 深度访谈、Think 方案挑战、OpenSpec 规格工程,转化为可执行、可测试的正式 SPEC。VibeCoding / AI Coding 工作流的需求工程入口。
**状态**:rigorous 档 | **正式名称 Le SPEC,技术标识 `le-spec`** | 优先适配 Codex,兼容 ZCode / Claude Code
## 它解决什么问题
你有一堆没想清楚的想法(甚至互相矛盾),直接丢给 Coding Agent 会得到一堆它自行猜测的「需求」。Le SPEC 在编码之前接管:先访谈把该想清楚的想清楚,再挑战不合理方案,最后产出结构化的 OpenSpec 规格(产品需求 / 技术设计 / 开发任务三分离),让 Coding Agent 不用猜。
## 架构:真实集成,不是借鉴
| 引擎 | 来源 | 在 Le SPEC 中的职责 | 调用方式 |
|---|---|---|---|
| grilling (+ domain-modeling) | [mattpocock/skills](https://github.com/mattpocock/skills) | Phase 2 深度访谈:design tree / frontier 轮次 / 推荐答案 | Skill 工具按名调用,或 Read 其原始 SKILL.md 遵循原义;记调用账本 |
| think | [tw93/Waza](https://github.com/tw93/Waza) | Phase 3 方案分析:单一推荐、Simplicity Gate、premise collapse | 同上 |
| openspec CLI + skills | [Fission-AI/OpenSpec](https://github.com/Fission-AI/OpenSpec) | Phase 5 规格生成(proposal/specs/design/tasks)、validate、变更与归档 | `openspec` CLI 真实执行(new change / instructions / validate) |
「真实调用」的证据是**调用账本**(项目内 `openspec/le-spec/ledger.jsonl`):每次依赖交互记录 dep/kind/method/cmd/exit。审查与交付阶段核对账本,无账本条目视为未发生。协议细节见 [references/dependencies.md](references/dependencies.md)。
## 安装
```bash
# 1. 依赖(一次性;skills.sh 落 ~/.agents/skills,软链各 runtime)
npx skills@latest add mattpocock/skills --skill grilling grill-me grill-with-docs domain-modeling -g -a claude-code codex
npx skills@latest add tw93/Waza --skill think -g -a claude-code codex
npx skills@latest add Fission-AI/OpenSpec --skill openspec-propose openspec-new-change openspec-update-change openspec-verify-change openspec-archive-change openspec-apply-change openspec-explore -g -a claude-code codex
npm install -g @fission-ai/openspec@latest
# 2. 本 skill(MetaSkill 仓库真源 + 软链)
ln -sfn <本仓库路径>/skills/le-spec ~/.agents/skills/le-spec
# 3. 验证
python3 ~/.agents/skills/le-spec/scripts/deps_check.py # required 全绿 exit 0
```
目标项目无需预装 OpenSpec:Phase 5 检测到无根时会征求用户意见再 `openspec init`。
## 使用
自然语言直接开始,例如:
- 「帮我把这个想法整理成 spec:我想做一个……」(零散长文也行,直接贴)
- 「先 grill 我一下,把这个功能想透」
- 「需求变了,更新之前那个 spec」
中断随时可恢复:状态存 `<项目>/openspec/le-spec/state.md`,新会话说「继续上次的 le-spec 分析」即可。产出批准后:实现交给 Coding Agent(openspec-apply-change 工作流),需求变更走 openspec-update-change,完成归档 openspec-archive-change。
## 工作流(逻辑七阶段,按复杂度自适应压缩)
```
0 识别分级 → 1 需求结构化(十类分拣) → 2 Grill 访谈(动态轮次·每4轮检查点·收敛即停)
→ 3 Think 挑战(有分歧才进) → 4 反向验收(独立工程师视角找"还得猜什么")
→ 5 OpenSpec 生成(validate 通过) → 6 四视角独立审查 → 7 用户批准(硬停点)
```
详见 [SKILL.md](SKILL.md) 与 [references/](references/)。
## 安全边界
- 未经用户明确批准不进入实现(Phase 7 回合终止硬停点)。
- required 依赖缺失 → 停止并给安装命令,不以模拟调用冒充。
- 不编造业务规则/验收标准;AI 推荐方案标 [建议],不冒充已批准。
## 已知限制
见 [reports/test-report.md](reports/test-report.md)(测试 A-I 执行记录与未验证项)。