From omni
Creates or updates feature specifications from natural language business intents, automating branch creation, impact analysis, context generation, and quality validation.
npx claudepluginhub zte-aicloud/co-omnispec --plugin omniThis skill uses the workspace's default tool permissions.
本技能对应 `/specify` 命令, 下文基本为**原命令说明的原文**, 仅作为技能文档直接复用, 不对内容做额外改写或拆分。
Creates or updates feature specifications from natural language descriptions. Generates git branch names, checks existing branches and specs directories, and logs events to vault session.
Generates structured feature specs from natural language descriptions by creating numbered git branches, populating templates with user stories, functional requirements, success criteria, and running quality validation.
Generates structured feature specifications with demoable units, functional requirements, and proof artifacts. Invoke when starting new features to define scope before coding.
Share bugs, ideas, or general feedback.
本技能对应 /specify 命令, 下文基本为原命令说明的原文, 仅作为技能文档直接复用, 不对内容做额外改写或拆分。
$ARGUMENTS
在继续之前, 你必须考虑用户输入(如果不为空).
用户在触发消息中 /specify 后输入的文本就是 业务意图. 假设你始终可以在本次对话中访问它, 即使下面字面上显示 $ARGUMENTS. 除非用户提供了空命令, 否则不要要求用户重复.
基于该 业务意图, 执行以下操作:
注意: 此命令会自动执行上下文收集和规范生成的完整流程. 它会扫描反构文档、计算关联度、构建关联关系图、进行架构分析, 生成上下文中间态文件, 然后基于上下文生成功能规范.
start_timecreate-branchcontext.mdSPEC_FILE0.1 开始执行步骤之前,需要进行一些打点记录工作,记录本skill的执行时间到 start_time字段:
Get-Date -Format "yyyy-MM-dd HH:mm:ss"
linux: date +"%Y-%m-%d %H:%M:%S"start_timecreate-branch skill,创建特性分支
create-branch 必须被完整调用并等待返回,不允许跳过、截断执行或使用本地推断结果替代其输出。create-branch 返回的 BRANCH_NAME、FEATURE_DIR、SPEC_FILE 作为后续步骤的唯一基准。FEATURE_DIR 必须位于仓库根目录 changes/ 下(即满足 {REPO_ROOT}/changes/<feature> 结构)。FEATURE_DIR 不在 changes/ 下(例如落到 .infra/、specs/ 或其他路径),不得继续后续步骤;必须重走 create-branch 重新生成合法路径,直到通过校验后再继续。1.1 分支安全检查(创建/复用后立即执行):
create-branch 输出的 BRANCH_NAME、FEATURE_DIR;git for-each-ref refs/heads --format='%(refname:short)'git for-each-ref refs/remotes --format='%(refname:short)'master、main、develop、devrelease/*、hotfix/*(按前缀匹配)BRANCH_NAME 必须存在且非空;BRANCH_NAME 不得命中受保护分支集合;BRANCH_NAME 在“已提交分支集合”中存在,允许复用同名特性分支,但仍必须满足规则2;create-branch 流程重新创建/选择特性分支;BRANCH_NAME、FEATURE_DIR 覆盖旧值并继续后续步骤;获取文档目录配置:
scripts/powershell/check-prerequisites.ps1 --json --paths-only
linux:scripts/bash/check-prerequisites.sh --json --paths-onlySPECIFY_DOC_DIR 或 .infra/config 文件配置需求波及分析(使用 spec-impact-analyze技能):
spec-impact-analyze 返回的结构化内容写入 FEATURE_DIR/context.md加载上下文:
.infra/templates/spec-template.md 和 .infra/memory/constitution.mdFEATURE_DIR/context.md 作为上下文参考业务意图直接生成规范(不使用上下文)遵循此执行流程:
业务意图
如果为空: 错误 "未提供业务意图"FEATURE_DIR/context.md) 中的架构分析、可复用模式、术语对齐等信息业务意图和上下文中提取关键概念,识别: 参与者、操作、数据、约束specify-requirement skill,获取需求变更内容,并追加到 FEATURE_DIR/spec.md 末尾specify-scenario skill,获取场景变更内容,并追加到 FEATURE_DIR/spec.md 末尾使用模板结构将规范写入 SPEC_FILE, 用 业务意图和上下文文件派生的具体细节替换占位符, 同时保持章节顺序和标题.
执行测试分析与设计(仅当 $ENABLE_E2E=true 时执行)
$ENABLE_E2E 参数
$ENABLE_E2E=true:执行本步骤$ENABLE_E2E=false 或未设置:跳过本步骤,直接进入步骤8e2e-specify 技能文件中定义的流程执行,不得跳过或修改任何步骤。e2e-specify skilltest-analysis.md:测试分析报告(包含 KYM、TCO、MFQ 建模、测试点清单、Issues)e2e-test.md:黑盒测试用例文档(包含用例清单、用例详情、测试数据、追溯性矩阵)注意: 如果测试分析与设计验证失败且无法继续(如 agent 执行失败、文档未生成),应记录错误信息并继续执行步骤8(不阻塞整体流程)。
规范质量验证: 编写初始规范后, 根据质量标准进行验证:
a. 创建规范质量检查清单: 加载 .infra/templates/requirements-template.md获取 验证项目模版信息,使用 验证项目模版在 FEATURE_DIR/checklists/requirements.md 生成检查清单文件
b. 运行验证检查: 根据每个检查清单项目审查规范:
c. 处理验证结果:
如果所有项目都通过: 标记检查清单完成并继续步骤 9
如果项目失败(不包括 [NEEDS CLARIFICATION]):
如果 [NEEDS CLARIFICATION] 标记仍然存在:
从规范中提取所有 [NEEDS CLARIFICATION: ...] 标记
限制检查: 如果存在超过 3 个标记, 仅保留 3 个最关键的(按范围/安全/用户体验影响)并为其余部分做出有根据的猜测
对于每个需要的澄清(最多 3 个), 以以下格式向用户呈现选项:
## 问题 [N]: [主题]
**上下文**: [引用相关规范章节]
**我们需要了解**: [来自 NEEDS CLARIFICATION 标记的具体问题]
**建议答案**:
| 选项 | 答案 | 含义 |
| ------ | ---------------- | ------------------------ |
| A | [第一个建议答案] | [这对功能意味着什么] |
| B | [第二个建议答案] | [这对功能意味着什么] |
| C | [第三个建议答案] | [这对功能意味着什么] |
| 自定义 | 提供你自己的答案 | [解释如何提供自定义输入] |
**你的选择**: _[等待用户响应]_
关键 - 表格格式: 确保 markdown 表格格式正确:
| 内容 | 而不是 |内容||--------|按顺序编号问题(Q1、Q2、Q3 - 最多 3 个)
在等待响应之前一起呈现所有问题
等待用户响应所有问题的选择(例如, "Q1: A, Q2: 自定义 - [详情], Q3: B")
通过用用户选择或提供的答案替换每个 [NEEDS CLARIFICATION] 标记来更新规范
在所有澄清解决后重新运行验证
d. 更新检查清单: 每次验证迭代后, 使用当前的通过/失败状态更新检查清单文件
AI 质量评测: 加载 evaluation-rubric skill 的四维量规评测 SPEC_FILE:
FEATURE_DIR/.runs/evaluations/evaluation-report.yaml(stage: specify)报告完成情况
/clarify 或 /design)的准备就绪状态.--e2e),应在报告中明确说明:
design 阶段也会相应跳过 e2e-design(因为缺少 e2e-test.md 依赖)/specify --e2e 或在执行 design 前单独执行 e2e-specifyrunlog-record skill,请将前面获取到的start_time的值作为参数传入runlog-record skill注意:
FEATURE_DIR/context.md 文件当从用户提示创建此规范时:
合理默认值的示例(不要询问这些):
成功标准必须是:
好的示例:
坏的示例(以实现为中心):