Summary
中文功能规范创建工具,用于将自然语言功能描述转换为结构化的功能规范文档。支持自动生成分支名称、创建Git分支、初始化规范文件和质量验证。触发词包括:"speckit规范"、"功能规范"、"创建规范"、"功能描述转换"、"speckit-specify"。当用户需要将功能想法转换为结构化规范时使用此技能。
forztf/open-skilled-sdd
中文功能规范创建工?
npx skills add forztf/open-skilled-sdd --skill speckit-specify-zh
中文功能规范创建工具,用于将自然语言功能描述转换为结构化的功能规范文档。支持自动生成分支名称、创建Git分支、初始化规范文件和质量验证。触发词包括:"speckit规范"、"功能规范"、"创建规范"、"功能描述转换"、"speckit-specify"。当用户需要将功能想法转换为结构化规范时使用此技能。
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Create or update the feature specification from a natural language feature description.
52 installsExecute the implementation planning workflow using the plan template to generate design artifac…
52 installsCreate or update the project constitution from interactive or provided principle inputs.
50 installsGenerate an actionable, dependency-ordered tasks.md for the feature based on available design a…
50 installsExecute the implementation plan by processing and executing all tasks defined in tasks.md
50 installsIdentify underspecified areas in the current feature spec by asking up to 5 highly targeted cla…
50 installsOther skills from forztf/open-skilled-sdd · top by installs.
npx skills add forztf/open-skilled-sdd
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Alternate registries and mirrors of this skill.
npx skills add smithery/forztf --skill speckit-specify-zh
main
Files included with this skill beyond the listing page.
SKILL.md
11,026 B
SUMMARY.md
412 B
$ARGUMENTS
在继续之前,您必须考虑用户输入(如果非空)。
触发消息中用户在触发词后键入的文本就是功能描述。假设在此对话中始终可以使用该功能描述,即 $ARGUMENTS。除非用户提供了一个空命令,否则不要要求用户重复。
根据该功能描述,请执行以下操作:
assets/specify/ 所有文件(包括子目录)按原目录结构复制到仓库根目录下的.specify 目录,跳过已有文件,不能覆盖原有同名文件。cp命令的 -n(--no-clobber)选项可以防止覆盖已存在的文件。在此阶段,您的项目文件夹内容应类似于以下内容:
仓库根目录
└── .specify
├── memory
│ └── constitution.md
├── scripts
│ ├──bash
│ │ ├── check-prerequisites.sh
│ │ ├── common.sh
│ │ ├── create-new-feature.sh
│ │ ├── setup-plan.sh
│ │ └── update-claude-md.sh
│ ├──powershell
│ │ ├── check-prerequisites.ps1
│ │ ├── common.ps1
│ │ ├── create-new-feature.ps1
│ │ ├── setup-plan.ps1
│ │ └── update-claude-md.ps1
├── specs
│ └── 001-create-taskify
│ └── spec.md
└── templates
├── plan-template.md
├── spec-template.md
└── tasks-template.md
- 分析功能描述并提取最有意义的关键词 - 创建一个2-4个词的短名称,捕捉功能的本质 - 尽可能使用动词-名词格式(例如:"add-user-auth"、"fix-payment-bug") - 保留技术术语和缩写(OAuth2、API、JWT等) - 保持简洁但足够描述性,以便一目了然地理解功能 - 示例: - "我想添加用户认证" → "user-auth" - "为API实现OAuth2集成" → "oauth2-api-integration" - "创建分析仪表板" → "analytics-dashboard" - "修复支付处理超时错误" → "fix-payment-timeout"
a. 首先获取所有远程分支以确保拥有最新信息:
``bash git fetch --all --prune ``
b. 查找短名称在所有来源中的最高功能编号:
- 远程分支:git ls-remote --heads origin | grep -E 'refs/heads/[0-9]+-<short-name>$' - 本地分支:git branch | grep -E '^[ ][0-9]+-<short-name>$' - 规范目录:检查匹配 specs/[0-9]+-<short-name> 的目录
c. 确定下一个可用编号:
- 提取所有三个来源的所有数字 - 找到最大数字N - 对于新分支使用N+1
d. 使用计算出的编号和短名称运行脚本 create-new-feature.ps1 -Json "$ARGUMENTS":
- 传递 --number N+1 和 --short-name "your-short-name" 以及功能描述 - Bash示例:create-new-feature.sh -Json "$ARGUMENTS" --json --number 5 --short-name "user-auth" "添加用户认证" - PowerShell示例:create-new-feature.ps1 -Json "$ARGUMENTS" -Json -Number 5 -ShortName "user-auth" "添加用户认证"
重要:
- 检查所有三个来源(远程分支、本地分支、规范目录)以找到最高编号 - 只匹配具有确切短名称模式的分支/目录 - 如果未找到具有此短名称的现有分支/目录,则从编号1开始 - 每个功能只能运行一次此脚本 - JSON在终端中作为输出提供 - 始终参考它来获取您正在查找的实际内容 - JSON输出将包含BRANCHNAME和SPECFILE路径 - 对于参数中的单引号如"I'm Groot",使用转义语法:例如'I'\''m Groot'(或者如果可能的话使用双引号:"I'm Groot")
.specify/templates/spec-template.md 以了解必需的部分。1. 解析来自输入的用户描述 如果为空:错误"未提供功能描述" 2. 从描述中提取关键概念 识别:参与者、动作、数据、约束 3. 对于不清楚的方面: - 基于上下文和行业标准做出有根据的猜测 - 仅在以下情况下标记[需要澄清:具体问题]: - 选择显著影响功能范围或用户体验 - 存在多种合理解释且有不同的含义 - 不存在合理的默认值 - 限制:最多总共3个[需要澄清]标记 - 按影响优先排序:范围 > 安全/隐私 > 用户体验 > 技术细节 4. 填写用户场景与测试部分 如果没有清晰的用户流程:错误"无法确定用户场景" 5. 生成功能性需求 每个需求都必须是可测试的 对未指定的详细信息使用合理的默认值(在假设部分记录假设) 6. 定义成功标准 创建可测量的、技术无关的结果 包括定量指标(时间、性能、数量)和定性措施(用户满意度、任务完成度) 每个标准必须在没有实现细节的情况下可验证 7. 识别关键实体(如果涉及数据) 8. 返回:成功(规范已准备好进行规划)
a. 创建规范质量检查清单:使用检查清单模板结构在 FEATURE_DIR/checklists/requirements.md 生成一个检查清单文件,参考:[assets/quality-checklist-template.md](assets/quality-checklist-template.md)
b. 运行验证检查:针对每个检查清单项目审查规范:
- 对于每个项目,确定它是通过还是失败 - 记录发现的具体问题(引用相关的规范部分)
c. 处理验证结果:
- 如果所有项目都通过:标记检查清单完成并进入步骤6
- 如果有项目失败(不包括[需要澄清]):
1. 列出失败的项目和具体问题 2. 更新规范以解决每个问题 3. 重新运行验证直到所有项目通过(最多3次迭代) 4. 如果在3次迭代后仍然失败,在检查清单注释中记录剩余问题并向用户发出警告
- 如果存在[需要澄清]标记:
1. 从规范中提取所有[需要澄清:...]标记
2. 限制检查:如果存在超过3个标记,则只保留按范围/安全/用户体验影响最重要的3个,并对其余的做出有根据的猜测
3. 对于每个需要澄清的问题(最多3个),参考[assets/clarification-template.md](assets/clarification-template.md)向用户呈现选项。
4. 关键 - 表格格式化:确保markdown表格正确格式化:
- 使用一致的间距,管道对齐 - 每个单元格应在内容周围留有空格:| 内容 | 而不是 |内容| - 表头分隔符必须至少有3个破折号:|--------| - 测试表格在markdown预览中是否正确渲染
5. 按顺序编号问题(Q1、Q2、Q3 - 最多总共3个)
6. 在等待响应之前一起呈现所有问题
7. 等待用户响应他们对所有问题的选择(例如:"Q1: A, Q2: 自定义 - [详情], Q3: B")
8. 通过用用户的选定或提供的答案替换每个[需要澄清]标记来更新规范
9. 在所有澄清解决后重新运行验证
d. 更新检查清单:每次验证迭代后,使用当前通过/失败状态更新检查清单文件
speckit-clarify 或 speckit-plan)的准备情况。注意:脚本会创建并检出新分支并在写入前初始化规范文件。
从用户提示创建此规范时:
- 显著影响功能范围或用户体验的关键决策 - 具有多种合理解释且不同含义的情况 - 缺乏任何合理默认值的情况
- 功能范围和边界(包括/排除特定用例) - 用户类型和权限(如果存在多个冲突的解释可能性) - 安全/合规要求(当法律/财务上重要时)
合理默认值示例(不要询问这些):
成功标准必须:
良好示例:
不良示例(实现导向):