需求验证器 validate-requirements

需求验证器是一个自动化质量检查工具,用于在项目开发流程的初始阶段,根据预设的项目标准对用户输入的需求、描述和源材料进行系统化验证。该技能通过检查需求的完整性、清晰度、格式规范、上下文充分性以及与项目标准的对齐度,确保开发团队获得高质量、可执行的输入,从而提升后续开发效率,减少返工。核心功能包括标准库集成、结构化验证报告、智能问题识别和澄清建议。关键词:需求验证、质量标准、项目规范、输入检查、开发流程、自动化验证、质量保证、需求管理、软件开发工具、AI辅助开发。

测试 0 次安装 0 次浏览 更新于 3/1/2026

name: validate-requirements description: 根据用户为项目类型保存的标准,验证输入是否满足先决条件。在任何质量管道的开始使用,确保用户提供了足够的需求。

验证需求技能

目的

确保用户的输入(需求、描述、源材料)满足为此项目类型在其标准中定义的先决条件。这是质量管道中的第一道关卡。

检查内容

基于用户为项目类型保存的标准,验证:

  1. 完整性 - 信息是否足够?

    • 示例:“描述组件的用途”、“解释需要哪些重构”、“提供博客主题”
  2. 清晰度 - 描述是否清晰具体?

    • 避免模糊:“写点东西” → 需要细节
    • 具体:“创建一个带键盘导航的下拉组件” → 清晰
  3. 格式 - 是否为可识别的格式?

    • 提供了代码示例吗?有要重构的现有代码吗?
    • 有资源链接吗?有内容主题大纲吗?
  4. 充分性 - 是否有足够的上下文?

    • 用户解释了“为什么”吗?
    • 提到了约束/需求吗?
  5. 标准对齐 - 是否符合其定义的验证规则?

    • 读取项目类型的保存标准(来自standards.json)
    • 根据其validationRules部分进行检查

流程

  1. 读取用户的输入/需求
  2. 使用StandardsRepository加载他们为此项目类型的标准
  3. 根据其定义的验证规则进行检查
  4. 扫描常见问题:
    • 空或最少的描述
    • 冲突的需求
    • 缺少关键上下文
  5. 清晰地报告发现

使用标准

通过StandardsRepository访问标准:

const standards = standardsRepository.getStandards(context.projectType)
if (standards && standards.validationRules) {
  // 根据其验证规则检查输入
  checkAgainstRules(input, standards.validationRules)
} else {
  // 尚无自定义标准,使用通用验证
  performGeneralValidation(input)
}

有关接口详情,请参阅.claude/lib/standards-repository.md

输出

返回结构化的验证结果:

{
  "status": "valid" 或 "invalid",
  "issues": [
    "发现的具体问题列表",
    "例如:'缺少要重构的示例代码'",
    "例如:'不清楚成功标准是什么'"
  ],
  "validationDetails": {
    "clarity": "pass" 或 "needs_clarification",
    "completeness": "pass" 或 "incomplete",
    "contextSufficient": "pass" 或 "needs_more_context"
  },
  "recommendation": "proceed_to_next_step" 或 "ask_user_to_clarify_X",
  "summary": "验证结果的简要描述"
}

成功标准

✓ 状态为“valid” ✓ 未发现关键问题 ✓ 输入与其标准对齐 ✓ 有足够的信息继续生成

验证示例

项目类型:React组件

用户输入:“创建一个下拉组件”

验证流程

  1. 加载React组件标准
  2. 检查:“必须描述组件的用途”
    • 失败:用户只说“下拉组件”
  3. 检查:“应指定必需和可选的属性”
    • 失败:未提及任何属性
  4. 输出:
    {
      "status": "invalid",
      "issues": [
        "需要更多关于组件用途的细节(例如,将在哪里使用?)",
        "应指定下拉组件需要哪些属性",
        "应描述下拉行为(打开/关闭、键盘导航等)"
      ],
      "recommendation": "在生成前请用户提供更多细节"
    }
    

用户更新后的输入:“创建一个用于选择团队成员的可搜索下拉组件。它应具有键盘导航(箭头键、回车选择)。属性:选项(数组)、onSelect(回调)、占位符(字符串)。”

验证结果

{
  "status": "valid",
  "issues": [],
  "summary": "需求清晰、具体且完整"
}

实施注意事项

  • 如果用户的标准尚不存在,则使用通用验证(是否有足够的内容可以处理?)
  • 始终具体说明缺少什么,而不仅仅是“无效”
  • 当建议澄清时,提出具体问题
  • 如果输入接近有效,请提出1-2个澄清问题,而不是拒绝它