SuperAPI AI 工具集

speckit-analyze-zh

编程与开发

查看项目

更新于 10-15 09:33

技能介绍

用途

speckit-analyze-zh 用于在实现之前,对三个核心工件(spec.md、plan.md、tasks.md)进行非破坏性的跨工件一致性和质量分析,识别不一致、重复、歧义和未充分说明的项目。该命令必须仅在 speckit-tasks 成功生成完整的 tasks.md 后运行。

主要能力

分析覆盖以下检测维度:

  • 重复检测:识别近似重复的要求,标记质量较低的措辞以进行合并。
  • 歧义检测:标记缺乏可测量标准的模糊形容词(快速、可扩展、安全、直观、健壮),以及未解决的占位符(TODO、TKTK、???、<placeholder> 等)。
  • 未充分说明:有动词但缺少对象或可测量结果的要求、缺少验收标准对齐的用户故事、引用未定义文件或组件的任务。
  • 宪章对齐:任何与 MUST 原则冲突的要求或计划元素,缺少宪章中规定的章节或质量门。
  • 覆盖差距:没有关联任务的要求、没有映射要求/故事的任务、未在任务中体现的非功能要求。
  • 不一致:术语漂移、计划中引用但在规格中缺失的数据实体(反之亦然)、任务排序矛盾、冲突的要求。

严重性分为关键、高、中、低四级。关键级别包括违反宪章 MUST、缺少核心规格工件、零覆盖要求;高级别包括重复或冲突的要求、模糊的安全/性能属性、不可测试的验收标准;中级别包括术语漂移、缺少非功能任务覆盖、未充分说明的边缘情况;低级别包括样式/措辞改进、不影响执行顺序的次要冗余。

使用方式

执行步骤包括:

  1. 初始化分析上下文:从仓库根目录运行一次脚本并解析 JSON 以获取 FEATURE_DIR 和 AVAILABLE_DOCS,推导 SPEC、PLAN、TASKS 的绝对路径。如果缺少任何必需文件,则中止并显示错误消息。

脚本命令:

  • sh: .specify/scripts/bash/check-prerequisites.sh --json
  • ps: .specify/scripts/powershell/check-prerequisites.ps1 -Json
  1. 加载工件(渐进式披露):仅加载每个工件的最小必要上下文,包括 spec.md 的概述/上下文、功能要求、非功能要求、用户故事、边缘情况;plan.md 的架构/技术栈选择、数据模型引用、阶段、技术约束;tasks.md 的任务 ID、描述、阶段分组、并行标记 [P]、引用的文件路径;以及 constitution 的 .specify/memory/constitution.md。

  2. 构建语义模型:创建内部表示,包括要求清单、用户故事/动作清单、任务覆盖映射、宪章规则集。

  3. 检测过程:限制总数为 50 个发现,在溢出摘要中聚合其余发现。

  4. 严重性分配:使用启发式方法优先处理发现。

  5. 生成紧凑分析报告:输出 Markdown 报告(不写入文件),包含发现表格、覆盖摘要表、宪章对齐问题、未映射的任务、指标(总要求、总任务、覆盖率%、歧义计数、重复计数、关键问题计数)。

  6. 提供下一步行动:如果存在关键问题,建议在 speckit-implement 之前解决;如果只有低/中等,用户可以继续但提供改进建议。

  7. 提供补救措施:询问用户是否希望为前 N 个问题建议具体的补救编辑,不自动应用。

适用场景

适用于使用规范驱动开发(SDD)流程、需要在实现前对规格、计划和任务文档进行质量检查的团队。触发词包括:speckit-analyze、speckit分析、文档一致性分析、规范分析、质量检查、工件分析、spec分析、plan分析等。

限制

  • 严格只读:不修改任何文件,仅输出结构化分析报告。
  • 宪章权威性:项目宪章在分析范围内不可协商,宪章冲突自动为关键级别。如果原则本身需要更改,必须在 speckit-analyze 之外的单独、明确的宪章更新中进行。
  • 永不虚构缺失部分,如果缺失则准确报告。
  • 必须在 speckit-tasks 成功生成完整 tasks.md 后运行。
  • 对于参数中的单引号,如 "I'm Groot",使用转义语法:例如 'I'''m Groot'(或者如果可能的话使用双引号:"I'm Groot")。
  • 确定性结果:在没有更改的情况下重新运行应产生一致的 ID 和计数。
  • 关于收费、价格、平台支持等具体信息暂未提供。