SuperAPI AI 工具集

speckit-analyze

测试与质量

查看项目

更新于 10-24 10:10

技能介绍

speckit-analyze 是一个面向规范驱动开发流程的只读分析命令,用于在任务生成后对 spec.md、plan.md 和 tasks.md 进行跨工件一致性、重复性、歧义和规格不足检查。其核心目标是在实施前发现不一致、重复、歧义和未充分指定的条目,确保三个核心工件对齐。

主要能力包括:检测需求重复、标记模糊形容词(如 fast、scalable、secure、intuitive、robust)和未解决占位符、识别缺少对象或可衡量结果的需求、检查与项目章程(constitution.md)中 MUST 原则的冲突、发现需求与任务之间的覆盖缺口、检测术语漂移、数据实体不一致和任务顺序矛盾。分析结果按严重程度分为 CRITICAL、HIGH、MEDIUM、LOW,并输出包含发现项表格、覆盖摘要表、章程对齐问题、未映射任务和指标(总需求数、总任务数、覆盖率、歧义数、重复数、严重问题数)的 Markdown 报告。

使用方式:在仓库根目录运行 .specify/scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks 初始化分析上下文,解析 FEATURE_DIR 和 AVAILABLE_DOCS,推导 SPEC、PLAN、TASKS 路径;若必需文件缺失则中止并提示运行前置命令。随后渐进式加载 spec.md 中的概览、功能需求、成功标准、用户故事和边缘情况,plan.md 中的架构、数据模型、阶段和技术约束,tasks.md 中的任务 ID、描述、阶段分组、并行标记和文件路径,以及 constitution.md 中的原则。接着构建语义模型,包括需求清单、用户故事/动作清单、任务覆盖映射和章程规则集,然后执行检测流程。

该命令还支持扩展钩子:执行前检查 .specify/extensions.yml 中 hooks.before_analyze 下的条目,执行后检查 hooks.after_analyze 下的条目;过滤 enabled 为 false 的钩子,无 condition 或 condition 为空的视为可执行,有非空 condition 的跳过并留给 HookExecutor 处理;将钩子命令名中的点替换为连字符以构造斜杠命令。可选钩子输出提示,强制钩子输出 EXECUTE_COMMAND 并等待结果。

适用场景:在 /speckit-tasks 成功生成完整 tasks.md 后、进入 /speckit-implement 之前,用于质量门禁和一致性审查。限制:严格只读,不修改任何文件;不幻觉缺失章节;不自动应用补救编辑,需用户明确批准;分析范围限于三个核心工件和章程;发现项总数限制为 50 条,超出部分汇总;重复运行应产生一致的 ID 和计数。