规范评分工具

一个用于评估技术规范完整性的工具,通过四个维度(完整性、清晰度、约束性和具体性)对规范进行评分,并提供改进建议。

  • by openpoem
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 openpoem/spec-score-mcp

使用说明

MCP规格评分

在Claude构建之前,先对你的规格进行评分。

平衡的规范产生平衡的代码。不平衡的规格会产生创造性的小说。

问题

当你的规范在某些方面很详细,但在其他方面很模糊时,克劳德不会要求澄清——它会填补空白。结果编译成功,测试通过,但这不是你的意思。

这个工具在你开始构建之前就捕捉到了这一点。它在4个轴上给你的规格打分,告诉你哪一个最弱,并给你一个具体的提示来修复它。

4轴

Axis 它回答的问题
完整性 克劳德能理解要构建什么的全部范围吗?
清晰 只有一种方法可以解释这个规范吗?
约束 克劳德知道不应该建造什么吗?
特异性 是否有具体的、可测试的细节?

每个轴的得分为0.0到1.0。这个 平衡分数 测量4个轴覆盖的均匀程度。

平衡比个人分数更重要。 在所有4个轴上得分为0.50的规格(平衡:0.97)将比得分为0.95/0.95/0.20/0.90(平衡:0.58)的规格产生更好的输出。为什么?这个弱轴——0.20的约束——正是克劳德即兴发挥的地方。你详细描述了要构建什么,但忘了说什么超出了范围。所以Claude构建了你要求的一切,以及你没有的功能。

在雷达图上:一颗均匀的钻石胜过一颗锋利的尖刺。

裁定

判决 这意味着什么
出货 规范已经准备好了——克劳德知道该构建什么,不该构建什么
几乎 在开始之前,一个轴需要稍作修复
草稿 多轴需要工作,但结构就在那里
模糊的 组织良好,但过于抽象,无法采取行动
无界的 目标明确,但没有界限——克劳德会过度建设
过约束 规则很多,但不清楚实际目标是什么
草图 起点——需要大多数轴的详细信息

还没发货?该工具告诉您哪个轴最弱以及要添加什么。修复该轴,重新评分,重复。大多数规格在2-3轮内到达SHIP IT。

安装

git clone https://github.com/openpoem/spec-score-mcp.git
cd spec-score-mcp && npm install && npm run build
claude mcp add spec-score -- node $(pwd)/dist/mcp.js

这3个工具现在在每个Claude Code会话中都可用。

用法

斜杠命令

克隆此仓库以获取内置的斜线命令:

/project:scan my-feature-spec.md

读取文件,对其进行评分,并写入 my-feature-spec.md.scored.md 有分数、判决、提示和雷达图。

/project:compare blueprint.md implementation.md

对两个文件进行评分并写入 compared.scored.md 并排的雷达图。

直接使用工具

这3个MCP工具适用于任何Claude Code对话:

工具 它做什么
spec_score 在4个轴上对规格进行评分,返回平衡分数和判决
spec_visualize 根据分数生成SVG雷达图
spec_compare 两个评分规格的并排比较

问克劳德: “给这个规格打分”, “给我看看雷达图”,或 “比较这两个规格”.

示例:从UNBOUNDED到SHIP IT

这个工具有自己的评分标准——四轮,每轮都固定最弱的轴:

第一轮:想法

构建一个规格评分工具

UNBOUNDED  0.12  Tip: What does 'scoring' mean? What axes? What output?

一个轴很高(清晰度——目标很明确),其他所有轴都接近于零。克劳德会建造。…任何东西。网络应用程序?CLI?VS代码扩展?没办法知道。

第二轮:添加上下文

构建一个MCP服务器,在4个轴上对规格进行评分:完整性、清晰度、, 约束、特异性。每个轴为0.0-1.0。返回平衡分数和判决。

ALMOST  0.67  Tip: What are the verdicts? What does the tool NOT do?

现在克劳德知道该建什么了。但约束仍然很弱——它可能会添加自动修复、CI集成和数据库。

第三轮:添加边界

三个工具:spec_score、spec_visualize和spec_compare。 非目标:无自动修复、无CI集成、无存储。

SHIP IT  0.84  Tip: Add testable criteria — what balance maps to which verdict?

跨过了门槛。克劳德现在知道该建造什么,不该建造什么。特异性仍然是最弱的轴。

第四轮:添加可测试的细节

平衡=1-sqrt(方差)/平均值。出货量>0.75,几乎>0.60, 加上基于模式的判决。Node.js、MCP SDK、stdio传输。

SHIP IT  0.95  Spec is ready for implementation.

四轮:0.12→ 0.67 → 0.84 → 0.95. 每一轮只固定一件事。

数学

  1. 克劳德对每个轴进行评分(0.0-1.0)
  2. 对向量进行归一化: v / ||v||
  3. 余额: 1 - sqrt(variance) / mean
  4. 判断:平衡阈值+轴图案匹配

评分智能来自克劳德,而不是算法。该算法仅测量平衡。

项目结构

src/
  mcp.ts        # MCP server (3 tools)
  score.ts      # Scoring engine
  visualize.ts  # SVG radar charts
.claude/
  commands/
    scan.md     # /project:scan command
    compare.md  # /project:compare command

OpenPoem --规格得分mcp

MIT许可证。

©2026 OpenPoem。info@openpoem.org