SuperAPI AI 工具集

kiro-spec-init

编程与开发

查看项目

更新于 10-15 22:39

技能介绍

用途:初始化一个新的规格(specification),为某个功能生成 spec.json 和 requirements.md,作为后续需求、设计、任务流程的起点。

主要能力与流程:

  1. 检查 .kiro/specs/{feature-name}/brief.md 是否存在(由 $kiro-discovery 创建),若存在则读取其中的问题、方案、范围与约束,用于预填项目描述并跳过已解答的澄清问题。
  2. 澄清意图:requirements.md 的项目描述需包含三要素——谁遇到问题、当前状况、应改变什么。若 brief.md 已覆盖则跳过;否则向用户提问,不自行假设填补空白。
  3. 检查唯一性:查看 .kiro/specs/ 是否有命名冲突;若目录已存在且仅有 brief.md(无 spec.json),则沿用该目录。
  4. 创建目录 .kiro/specs/[feature-name]/(若已存在则跳过)。
  5. 使用模板初始化文件:读取 .kiro/settings/templates/specs/init.json;根据项目描述来源(brief.md 内容或用户输入语言)检测语言代码,不确定时默认 ja;选择对应需求骨架 requirements-init.md(ja)或 requirements-init.en.md(en),不支持的语言则停止。
  6. 替换占位符:{{FEATURE_NAME}}、{{TIMESTAMP}}(ISO 8601)、{{PROJECT_DESCRIPTION}}(来自 brief.md 或 $ARGUMENTS)、{{LANGUAGE}},并确保语言代码与骨架语言一致后写入 spec.json 与 requirements.md。

输出:按 spec.json 中指定的语言输出,包含生成的功能名及理由、项目摘要、创建的文件路径列表,以及下一步命令 $kiro-spec-requirements <feature-name>。使用 Markdown 标题,命令置于代码块,总输出控制在 250 词以内。

限制:本技能只创建 spec.json 和 requirements.md,不生成需求、设计或任务内容。功能名不明确时提供 2-3 个选项让用户选择;模板缺失时报告具体路径;语言不支持时停止;目录冲突时追加数字后缀并通知;写入失败时报告路径并建议检查权限或磁盘空间。

适用场景:在 Kiro 规格驱动开发流程中,作为发现(discovery)之后、需求编写之前的初始化步骤使用。