Install
openclaw skills install wave-project-evaluator对项目进行结构化评估与优化,借鉴达尔文技能的质量方法论。 2026-05-14 v0.2.0: 新增过程级评估维度(借鉴 AgentLens 方法论)。 Trigger: "评估项目", "项目健康检查", "project review", "项目评分", "优化项目", "项目质量检查" Best for: 评估项目交付质量、识别改进方向、项目收口把关 Not for: 代码审查(用原生工具)、项目管理(用 JIRA/其他) Version: 0.2.0
openclaw skills install wave-project-evaluator将达尔文的评估→改进→验证→棘轮方法论应用到项目任务。不只是给项目打分,更要指出具体改什么、怎么改、改完验证。
v0.2.0 新特性:借鉴 AgentLens 论文(微软×伯克利,arXiv:2605.12925),引入过程级评估 发现 10.7% 的「幸运通过」——只看结果不看过程会产生错误的可靠性判断。
评分标准:
| 1分 | 5分 | 10分 |
|---|---|---|
| 目标模糊,无验收标准 | 有大致目标,但无法定量验证 | 目标可衡量、不做什么明确、成功标准量化 |
评分标准:
| 1分 | 5分 | 10分 |
|---|---|---|
| 代码有崩溃 bug,无法运行 | 能运行但有报错 | 构建通过、核心功能端到端可用 |
评分标准:
| 1分 | 5分 | 10分 |
|---|---|---|
| 无任何错误处理 | 部分关键路径有处理 | 完整错误处理 + 边界文档 |
| 1分 | 5分 | 10分 |
|---|---|---|
| 只有概念/设计稿,无可运行产出 | 有部分实现但有 TODO/占位符残留 | 核心功能完整、无残留标记、输出可直接交付 |
| 1分 | 5分 | 10分 |
|---|---|---|
| 命名混乱、冗余严重、无测试 | 大部分一致但偶有冲突、有基本验证 | 风格统一、有测试、用户界面/术语完全一致 |
| 1分 | 5分 | 10分 |
|---|---|---|
| 无限加功能、无止境、无收口计划 | 有收口意识但执行不彻底 | 明确的冻结→收口→交付节奏,能判断"够了"的时机 |
| 1分 | 5分 | 10分 |
|---|---|---|
| 技术栈不合适、重复造轮子 | 部分合理但可优化 | 技术选型最优、已安装 skill 充分利用 |
| 1分 | 5分 | 10分 |
|---|---|---|
| 无文档、无注释、无结构 | 有基本说明但缺少深入记录 | 完整文档+知识已沉淀(Memory Wiki)、新成员可上手 |
借鉴 AgentLens(微软×伯克利,arXiv:2605.12925)方法论。 通过项目/产物中有 10.7% 属于「幸运通过」——结果正确但过程有问题。 只看最终结果不看过程,会产生错误的可靠性判断。
评分标准:
| 1分 | 5分 | 10分 |
|---|---|---|
| 过程不可追溯,结果全靠运气 | 部分步骤可追溯但验证缺失 | 完整可追溯、无盲目重试、全部验证通过 |
AgentLens 轨迹分级参考:
| 等级 | 特征 | 判定 |
|---|---|---|
| 🎲 Lucky | 通过了但轨迹有回归循环、盲目重试、验证缺失 | <5分 |
| 🟢 Solid | 过程干净,验证完整,可复现 | 5-8分 |
| 🔷 Ideal | 过程最优,无冗余步骤,每步都有明确目的 | 9-10分 |
读取项目目录结构,确定项目类型:
ls -la projects/<project-name>/
识别:
第一次评估:跑全 9 维度。输出评分卡:
┌──────────────────────┬──────┬──────────────────────────────┐
│ 维度 │ 得分 │ 短板 / 幸运通过风险 │
├──────────────────────┼──────┼──────────────────────────────┤
│ 1. 目标锚定 │ X │ ... │
│ 2. 架构可运行 │ X │ ... │
│ 3. 边界条件 │ X │ ... │
│ 4. 交付完成度 │ X │ ... │
│ 5. 质量水位 │ X │ ... │
│ 6. 迭代纪律 │ X │ ... │
│ 7. 工具匹配度 │ X │ ... │
│ 8. 可维护性 │ X │ ... │
│ 9. 过程质量 │ X │ Lucky? 有回归/盲目重试? │
├──────────────────────┼──────┼──────────────────────────────┤
│ 总分 │ XX │ 最低维度: X │
├──────────────────────┼──────┼──────────────────────────────┤
│ 幸运通过风险 │ 低/中/高 │ 过程质量评分 <5 时警告 │
└──────────────────────┴──────┴──────────────────────────────┘
找到最低分维度,生成 1 个具体改进方案:
| 维度 | 常见改进方向 |
|---|---|
| 目标锚定低 | 定义验收标准、明确不做什么 |
| 架构可运行低 | 修复崩溃 bug、补依赖 |
| 边界条件低 | 加 try/catch、补错误提示、加 fallback |
| 交付完成度低 | 补 TODO、补数据源、移除占位符 |
| 质量水位低 | 统一命名/风格、加测试 |
| 迭代纪律低 | 冻结功能、进入收口模式 |
| 工具匹配度低 | 替换成更合适的 skill/工具 |
| 可维护性低 | 写 README、沉淀知识到 Memory Wiki |
| 过程质量低 | 识别回归循环 → 诊断根因 → 清除盲目重试 → 补充验证步骤 → 让过程可复现 |
检查点:展示改进方案给用户确认再执行。展示修改预览(diff 或具体改了什么)后等待用户确认。
message: "project-eval: {项目名} 改进 {维度}")棘轮:
输出结构化报告(同时写入 memory/project-evals/<project>-<date>.md):
# 项目评估报告 — [项目名]
评估时间: YYYY-MM-DD HH:mm
项目路径: projects/[项目名]/
## 评分
| 维度 | 分数 | 改进前 | 说明 |
|------|------|--------|------|
| 1. 目标锚定 | X | Y | ... |
| 9. 过程质量 | X | Y | Lucky/Solid/Ideal? 回归循环? |
总分: XX/110(改进前 YY,Δ +Z)
幸运通过风险: 低/中/高
## 主要改进
1. [改了什么]
## 待办
- [ ] 可继续改进项
| 场景 | 触发 |
|---|---|
| 项目交付前检查 | "评估一下 XX 项目" |
| 项目健康度周报 | "项目健康检查" / 每周自审触发 |
| 需要决定是否继续 | "XX 项目值得继续吗"(评分 <60 建议暂停) |
| 回顾总结 | "给 XX 项目打分" |
| 类型 | 评估重点 |
|---|---|
| 小程序/Web 应用 | 架构可运行 + 质量水位 + 过程质量 |
| 文档/说明书 | 交付完成度 + 目标锚定 |
| 工具/CLI | 边界条件 + 可维护性 + 过程质量 |
| AI Skill | 用达尔文评估(本 skill 不适用) |
| 场景 | 处理 |
|---|---|
| 项目目录不存在 | 提示目录不存在 |
| 只有 README 没有代码 | 按文档类项目评估 |
| 项目长期未更新 (>30天) | 标注"可能已停滞",降低可维护性分 |
| 项目本身就是 skill | 建议用 darwin-skill 而非本 skill |
| 多个项目需要评估 | 逐个评估,每个有独立报告 |
| 无 git 仓库 | 跳过棘轮机制,每次改进前手动备份当前状态 |
| 维度 | darwin-skill | project-evaluator |
|---|---|---|
| 评估对象 | SKILL.md | 项目目录(代码+文档+结构) |
| Rubric | 8 维度 skill 专用 | 9 维度项目专用(含过程质量) |
| 改进方式 | 编辑 SKILL.md | 改代码/文档/配置 |
| 测试方法 | test-prompts 子 agent 跑 | 实际运行验证 |
| 输出 | results.tsv + 评分卡 | 评估报告 markdown |