用途:根据项目现有代码、文档、issue 与 PR,生成 OpenSpec 主规格并写入 openspec/specs/。与 openspec-propose(为未来工作创建 proposal/design/tasks 变更)不同,本技能记录已实现内容。
主要能力:收集项目上下文(AGENTS.md/CONTRIBUTING.md/README.md、docs/ 与 .feature 文件、openspec/config.yaml、src/ 目录结构与关键文件、GitHub issue/PR、已有 specs);识别能力领域并用 AskUserQuestion 确认;对已存在 spec 询问覆盖、合并或跳过;按 OpenSpec 格式生成 spec.md,使用 RFC 2119 关键词与 GIVEN/WHEN/THEN 场景;用 TodoWrite 跟踪进度;运行 openspec validate --specs --json 校验;输出汇总表。
使用方式:可选指定要生成的能力或区域,省略则自动分析全项目。能力名用 kebab-case。写入路径为 openspec/specs/<capability>/spec.md,命令示例:mkdir -p openspec/specs/<capability>;openspec validate --specs --json。
信息优先级:实际代码行为 > 测试断言 > BDD/设计文档 > issue/PR > README/AGENTS.md。
限制与约束:生成前必须与用户确认能力列表;不得编造代码或文档不支持的需求;能力不明确时需询问;合并时保留已有内容,除非用户确认否则不删除;每个 spec 至少含 Purpose 与一条需求;需保持格式一致。具体平台支持与收费信息暂未提供。