
Openspec Proposal Creation Cn
用 OpenSpec 规范驱动方法起草中文变更提案、任务清单与 ADDED/MODIFIED/REMOVED 规范差异,在写代码前锁定范围。
Overview
Openspec-proposal-creation-cn 是代理技能,主要在 Validate(亦用于 Build 前期 PM)阶段,用 OpenSpec 方法生成 proposal.md、tasks.json 与 spec-delta.md 的结构化中文变更提案。
Install
npx skills add https://github.com/forztf/open-skilled-sdd --skill openspec-proposal-creation-cnWhat is this skill?
- 三件套输出:proposal.md(为什么/做什么/影响)、tasks.json 编号实施清单、spec-delta.md 正式需求差异
- 8 步规划进度清单:审阅现有规范 → 变更 ID → 目录脚手架 → 起草 → 差异 → 验证 → 用户审批
- 变更 ID 命名约定:add-/fix-/update-/remove- 前缀且 URL 安全,含冲突检查命令
- spec-delta 使用 ADDED/MODIFIED/REMOVED 语义,对齐规范驱动开发(SDD)
- 触发词覆盖「openspec提案」「规划变更」「新需求」「设计规范」等中文口语
- 8-step planning checklist in the workflow
- 3 deliverable artifacts: proposal.md, tasks.json, spec-delta.md
Adoption & trust: 776 installs on skills.sh; 9 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
你有新功能想法但缺少统一的变更 ID、规范差异与可执行任务清单,代理容易直接写代码导致范围漂移。
Who is it for?
采用 OpenSpec/SDD 目录的中文团队或独立开发者,在加功能、改 API 或下线能力前需要正式提案与需求差异。
Skip if: 没有 spec/ 规范树的一次性脚本项目,或规格已定、只需直接提交 PR 的微小修复。
When should I use this skill?
触发词包括 openspec提案、规划、创建提案、规划变更、规范功能、新功能、新特性、新需求、添加功能规划、设计规范。
What do I get? / Deliverables
产出经结构验证的 OpenSpec 变更目录与用户审批前的完整提案包,批准后再进入实施与编码。
- proposal.md change summary
- tasks.json numbered implementation list
- spec-delta.md with ADDED/MODIFIED/REMOVED requirements
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Validate/scope is the canonical shelf: the skill produces proposal and spec deltas before full Build implementation is committed. Scope subphase fits planning new capabilities, sizing impact, and aligning requirements—not frontend pixels or deploy runbooks.
Where it fits
将「用户认证」新需求落成 add-user-auth 变更包并列出影响面。
批准后把 tasks.json 交给代理按编号实施,避免遗漏子任务。
grep 现有 Requirement 条目,确认提案不与并行变更冲突。
How it compares
规范驱动的变更提案工作流,而不是通用头脑风暴或单次 implementation plan 英文模板。
Common Questions / FAQ
Who is openspec-proposal-creation-cn for?
Solo builders and small teams using Chinese workflows with an OpenSpec-style spec/ tree who want agents to draft proposals instead of skipping straight to code.
When should I use openspec-proposal-creation-cn?
在 Validate 阶段界定新特性或变更范围时;在 Build 的 PM 子阶段启动开发流程前;当触发词如「openspec提案」「规划变更」「新需求」出现时。
Is openspec-proposal-creation-cn safe to install?
技能会引导读写 spec/ 与 git 相关命令示例;请在本页 Security Audits 面板核对上游仓库与权限,避免在生产秘密或未备份规范库上自动执行删除类差异。
SKILL.md
READMESKILL.md - Openspec Proposal Creation Cn
# 规范提案创建 遵循规范驱动开发方法,生成完整的变更提案。 ## 快速开始 创建规范提案包含三类输出: 1. **proposal.md** - 为什么、做什么、影响摘要 2. **tasks.json** - 编号的实施清单 3. **spec-delta.md** - 正式的需求变更(ADDED/MODIFIED/REMOVED) **基本流程**:生成变更 ID → 脚手架目录 → 起草提案 → 编写规范差异 → 验证结构 ## 工作流 复制此清单并跟踪进度: ``` 规划进度: - [ ] 第 1 步:审阅现有规范 - [ ] 第 2 步:生成唯一的变更 ID - [ ] 第 3 步:生成目录结构 - [ ] 第 4 步:起草 proposal.md(为什么、做什么、影响摘要) - [ ] 第 5 步:创建 tasks.json 实施清单 - [ ] 第 6 步:编写 spec-delta.md 规范差异(ADDED/MODIFIED/REMOVED) - [ ] 第 7 步:验证提案结构 - [ ] 第 8 步:向用户展示并请求审批 ``` ### 第 1 步:审阅现有规范 在创建提案前,了解当前状态: ```bash # 列出所有现有规范 find spec/specs -name "spec.md" -type f # 列出进行中的变更以避免冲突 find spec/changes -maxdepth 1 -type d -not -path "*/archive" # 搜索相关需求 grep -r "### Requirement:" spec/specs/ ``` ### 第 2 步:生成唯一的变更 ID 选择具描述性、URL 安全的标识符: **格式**:`add-<feature>`、`fix-<issue>`、`update-<component>`、`remove-<feature>` **示例**: - `add-user-authentication` - `fix-payment-validation` - `update-api-rate-limits` - `remove-legacy-endpoints` **校验**:检查是否冲突: ```bash ls spec/changes/ | grep -i "<proposed-id>" ``` ### 第 3 步:生成目录结构 按标准结构创建变更目录: ```bash # 将 {change-id} 替换为实际 ID mkdir -p spec/changes/{change-id}/specs/{capability-name} ``` **示例**: ```bash mkdir -p spec/changes/add-user-auth/specs/authentication ``` ### 第 4 步:起草 proposal.md 以 [templates/proposal.md](templates/proposal.md) 为起点。 **必需章节**: - **Why**:驱动变更的问题或机会 - **What Changes**:修改项清单 - **Impact**:受影响的规范、代码、API、用户 **语气**:清晰、简洁、面向决策。避免不必要背景。 ### 第 5 步:创建 tasks.json 实施清单 将实现拆分为具体、可测试的任务。使用 [templates/tasks.json](templates/tasks.json)。 **格式**: ```markdown # 实施任务 ```json [ { "number": 1, "category": "阶段 1:基础设施", "task": "环境搭建任务 - 数据库架构、依赖等", "steps": [ { "step": "初始化 Git 仓库并配置 .gitignore", "completed": false }, { "step": "创建并激活 Python 虚拟环境", "completed": false }, { "step": "创建 requirements.txt 或 pyproject.toml 并安装依赖 (FastAPI, SQLAlchemy, Pydantic, Alembic 等)", "completed": false }, { "step": "设计初始数据库 ER 图", "completed": false }, { "step": "配置数据库连接字符串和环境变量 (.env)", "completed": false }, { "step": "初始化 Alembic 迁移环境", "completed": false } ], "passes": false } ] **最佳实践**: - 每个任务可独立完成 - 为每个主要组件添加测试任务 - 为每个主要组件添加测试任务 - 包含测试与验证任务 - 按依赖排序(数据库先于 API 等) - 通常 5-15 个任务;更多时应拆分 - 每次仅处理1个step ``` ### 第 6 步:以 EARS 格式编写规范差异 这是最关键步骤。规范差异使用 **EARS 格式**(易于需求语法)。 **完整 EARS 指南**见 [reference/EARS_FORMAT.md](reference/EARS_FORMAT.md) **差异操作**: - `## ADDED Requirements` - 新增能力 - `## MODIFIED Requirements` - 行为变更(包含完整更新文本) - `## REMOVED Requirements` - 弃用功能 **基本需求结构**: ```markdown ## ADDED Requirements ### Requirement: 用户登录 WHEN 用户提交有效凭据, 系统 SHALL 认证用户并创建会话。 #### Scenario: 登录成功 GIVEN 用户邮箱为 "user@example.com" 且密码为 "correct123" WHEN 用户提交登录表单 THEN 系统创建已认证会话 AND 重定向至仪表盘 ``` **用于验证的模式**见 [reference/VALIDATION_PATTERNS.md](reference/VALIDATION_PATTERNS.md) ### 第 7 步:验证提案结构 在展示给用户前运行以下检查: ```markdown 结构清单: - [ ] 目录存在:`spec/changes/{change-id}/` - [ ] proposal.md 包含 Why/What/Impact - [ ] tasks.json 含编号任务列表(5-15 项) - [ ] 规范差异包含操作标题(ADDED/MODIFIED/REMOVED) - [ ] 需求遵循 `### Requirement: <name>` 格式 - [ ] 场景使用 `#### Scenario:` 格式(四个井号) ``` **自动化检查**: ```bash # 统计差异操作(应 > 0) grep -c "## ADDED\|MODIFIED\|REMOVED" spec/changes/{change-id}/specs/**/*.md # 验证场景格式(显示行号) grep -n "#### Scenario:" spec/changes/{change-id}/specs/**/*.md # 检查需求标题 grep -n "### Requirement:" spec/changes/{change-id}/specs/**/*.md ``` ### 第 8 步:提交用户评审 清晰总结提案: ```markdown ## Proposal Summary **Change ID**:{change-id} **Scope**:{简要描述} **创建的文件**: - spec/changes/{change-id}/proposal.md - spec/changes/{change-id}/tasks.json - spec/changes/{change-id}/specs/{capability}/spec-delta.md **下一步**: 请评审提案。如认可或修正后,请回复 "openspec开发" 或 "按顺序完成任务" 开始实施。 ``` ## 进阶主题 **EARS 格式细节**:见 [reference/EARS_FORMAT.md](reference/EARS_FORMAT.md) **验证模式**:见 [reference/VALI