Skill: youxiyin/wave-project-evaluator (version 0.2.0)

--- name: project-evaluator description: | 对项目进行结构化评估与优化，借鉴达尔文技能的质量方法论。 2026-05-14 v0.2.0: 新增过程级评估维度（借鉴 AgentLens 方法论）。 Trigger: "评估项目", "项目健康检查", "project review", "项目评分", "优化项目", "项目质量检查" Best for: 评估项目交付质量、识别改进方向、项目收口把关 Not for: 代码审查（用原生工具）、项目管理（用 JIRA/其他） Version: 0.2.0 --- # Project Evaluator — 项目评估优化器 v0.2.0 将达尔文的评估→改进→验证→棘轮方法论应用到项目任务。不只是给项目打分，更要指出具体改什么、怎么改、改完验证。 > **v0.2.0 新特性**：借鉴 AgentLens 论文（微软×伯克利，arXiv:2605.12925），引入**过程级评估** > 发现 10.7% 的「幸运通过」——只看结果不看过程会产生错误的可靠性判断。 --- ## 评估 Rubric（9 维度，总分 110） ### 1. 目标锚定 (权重 10) — 方向是否清晰 评分标准： - 项目目标可验证（有明确 success criteria） - "不做什么"有定义（避免 scope creep） - 用户/受众明确 | 1分 | 5分 | 10分 | |-----|-----|------| | 目标模糊，无验收标准 | 有大致目标，但无法定量验证 | 目标可衡量、不做什么明确、成功标准量化 | ### 2. 架构可运行 (权重 15) — 能否跑起来 评分标准： - 代码/构建无崩溃级错误 - 依赖完整可安装 - 核心路径可执行 | 1分 | 5分 | 10分 | |-----|-----|------| | 代码有崩溃 bug，无法运行 | 能运行但有报错 | 构建通过、核心功能端到端可用 | ### 3. 边界条件覆盖 (权重 10) — 异常处理 评分标准： - 错误/异常路径有处理 - 已知限制有文档 - 用户误操作有恢复路径 | 1分 | 5分 | 10分 | |-----|-----|------| | 无任何错误处理 | 部分关键路径有处理 | 完整错误处理 + 边界文档 | ### 4. 交付完成度 (权重 10) — 是不是成品 | 1分 | 5分 | 10分 | |-----|-----|------| | 只有概念/设计稿，无可运行产出 | 有部分实现但有 TODO/占位符残留 | 核心功能完整、无残留标记、输出可直接交付 | ### 5. 质量水位 (权重 10) — 代码/文档质量 | 1分 | 5分 | 10分 | |-----|-----|------| | 命名混乱、冗余严重、无测试 | 大部分一致但偶有冲突、有基本验证 | 风格统一、有测试、用户界面/术语完全一致 | ### 6. 迭代纪律 (权重 10) — 能否识别"够了" | 1分 | 5分 | 10分 | |-----|-----|------| | 无限加功能、无止境、无收口计划 | 有收口意识但执行不彻底 | 明确的冻结→收口→交付节奏，能判断"够了"的时机 | ### 7. 工具匹配度 (权重 10) — 用对工具了吗 | 1分 | 5分 | 10分 | |-----|-----|------| | 技术栈不合适、重复造轮子 | 部分合理但可优化 | 技术选型最优、已安装 skill 充分利用 | ### 8. 可维护性 (权重 10) — 后续能续 | 1分 | 5分 | 10分 | |-----|-----|------| | 无文档、无注释、无结构 | 有基本说明但缺少深入记录 | 完整文档+知识已沉淀（Memory Wiki）、新成员可上手 | ### 9. 过程质量 (权重 15，v0.2.0 新增) — 不是只看结果 > 借鉴 AgentLens（微软×伯克利，arXiv:2605.12925）方法论。 > 通过项目/产物中有 10.7% 属于「幸运通过」——结果正确但过程有问题。 > 只看最终结果不看过程，会产生错误的可靠性判断。 评分标准： - 过程中的决策路径可追溯、可审计 - 无回归循环（反复在同一个问题上打转） - 无盲目重试（失败后不是换参数再试，而是先诊断根因） - 验证环节完整（修改后有验证，不是"看起来对了就行"） - 中间状态可复现（不是"跑了一次出了结果，但没法再跑一次"） | 1分 | 5分 | 10分 | |-----|-----|------| | 过程不可追溯，结果全靠运气 | 部分步骤可追溯但验证缺失 | 完整可追溯、无盲目重试、全部验证通过 | **AgentLens 轨迹分级参考**： | 等级 | 特征 | 判定 | |------|------|------| | 🎲 Lucky | 通过了但轨迹有回归循环、盲目重试、验证缺失 | <5分 | | 🟢 Solid | 过程干净，验证完整，可复现 | 5-8分 | | 🔷 Ideal | 过程最优，无冗余步骤，每步都有明确目的 | 9-10分 | --- ## 工作流 ### Phase 0: 项目扫描 读取项目目录结构，确定项目类型： ```bash ls -la projects/<project-name>/ ``` 识别： - 是否有 README / 产品说明书 - 代码文件类型（JS/Python/HTML 等） - 依赖清单（package.json / requirements.txt） - 测试文件 - 上次修改时间（是否活跃） ### Phase 1: 启动评分 **第一次评估**：跑全 9 维度。输出评分卡： ``` ┌──────────────────────┬──────┬──────────────────────────────┐ │ 维度 │ 得分 │ 短板 / 幸运通过风险 │ ├──────────────────────┼──────┼──────────────────────────────┤ │ 1. 目标锚定 │ X │ ... │ │ 2. 架构可运行 │ X │ ... │ │ 3. 边界条件 │ X │ ... │ │ 4. 交付完成度 │ X │ ... │ │ 5. 质量水位 │ X │ ... │ │ 6. 迭代纪律 │ X │ ... │ │ 7. 工具匹配度 │ X │ ... │ │ 8. 可维护性 │ X │ ... │ │ 9. 过程质量 │ X │ Lucky? 有回归/盲目重试？ │ ├──────────────────────┼──────┼──────────────────────────────┤ │ 总分 │ XX │ 最低维度: X │ ├──────────────────────┼──────┼──────────────────────────────┤ │ 幸运通过风险 │ 低/中/高 │ 过程质量评分 <5 时警告 │ └──────────────────────┴──────┴──────────────────────────────┘ ``` ### Phase 2: 诊断 → 改进 找到最低分维度，生成 1 个具体改进方案： | 维度 | 常见改进方向 | |------|------------| | 目标锚定低 | 定义验收标准、明确不做什么 | | 架构可运行低 | 修复崩溃 bug、补依赖 | | 边界条件低 | 加 try/catch、补错误提示、加 fallback | | 交付完成度低 | 补 TODO、补数据源、移除占位符 | | 质量水位低 | 统一命名/风格、加测试 | | 迭代纪律低 | 冻结功能、进入收口模式 | | 工具匹配度低 | 替换成更合适的 skill/工具 | | 可维护性低 | 写 README、沉淀知识到 Memory Wiki | | **过程质量低** | **识别回归循环 → 诊断根因 → 清除盲目重试 → 补充验证步骤 → 让过程可复现** | **检查点**：展示改进方案给用户确认再执行。展示修改预览（diff 或具体改了什么）后等待用户确认。 ### Phase 3: 执行改进 → 重评 1. 执行改进（改代码/文档/配置） 2. git commit（`message: "project-eval: {项目名} 改进 {维度}"`） 3. 重新评分 **棘轮**： - 新分数 > 旧分数 → 保留 - 否则 → git revert（回滚） - 棘轮保证分数只升不降 ### Phase 4: 报告生成 输出结构化报告（同时写入 `memory/project-evals/<project>-<date>.md`）： ```markdown # 项目评估报告 — [项目名] 评估时间: 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 |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)