sdd-evolve

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

SDD Evolve Skill

SDD Evolve Skill

Keep specifications in sync with implementation discoveries.
保持规格说明与实现过程中的发现同步。

When to Use

适用场景

  • Implementation reveals new requirements
  • Technical constraints discovered during development
  • Design changes needed based on learnings
  • Edge cases found that weren't in original spec
  • Architecture decisions made during implementation
  • 实现过程中发现新需求
  • 开发期间发现技术约束
  • 根据实践经验需要调整设计
  • 发现了原始规格中未涵盖的边缘情况
  • 实现过程中做出了架构决策

Evolution Protocol

演进流程

Step 1: Identify the Discovery

步骤1:识别发现内容

Categorize the change:
  • Discovery: New information that was unknown
  • Refinement: Clarification of existing requirement
  • Addition: New requirement not in original scope
  • Modification: Change to existing requirement
  • Removal: Requirement no longer needed
对变更进行分类:
  • 发现:之前未知的新信息
  • 细化:对现有需求的澄清
  • 新增:原始范围外的新需求
  • 修改:对现有需求的变更
  • 移除:不再需要的需求

Step 2: Assess Impact

步骤2:评估影响

  1. Which spec files are affected?
  2. Does this change the plan?
  3. Are there downstream impacts?
  4. Should implementation pause for review?
  1. 哪些规格文件会受到影响?
  2. 该变更是否会改变计划?
  3. 是否存在下游影响?
  4. 是否需要暂停实现以进行评审?

Step 3: Document the Change

步骤3:记录变更

Add changelog entry with:
  • What changed
  • Why it changed
  • Impact on existing work
  • Decision made
添加变更日志条目,包含:
  • 变更内容
  • 变更原因
  • 对现有工作的影响
  • 做出的决策

Step 4: Update Specs

步骤4:更新规格说明

Modify the appropriate files:
  • spec.md
    for requirement changes
  • plan.md
    for architecture changes
  • tasks.md
    for task adjustments
  • todo-list.md
    for new/removed items
修改相应的文件:
  • spec.md
    用于需求变更
  • plan.md
    用于架构变更
  • tasks.md
    用于任务调整
  • todo-list.md
    用于新增/移除事项

Change Documentation Format

变更记录格式

Add to the relevant spec file:
markdown
undefined
在相关规格文件中添加以下内容:
markdown
undefined

Changelog

Changelog

[Date] - [Category]: [Brief Description]

[Date] - [Category]: [Brief Description]

Context: [Why this change is needed]
Change: [What specifically changed]
Impact: [How this affects existing work]
Decision: [What was decided and by whom]

[Previous changelog entries...]
undefined
Context: [Why this change is needed]
Change: [What specifically changed]
Impact: [How this affects existing work]
Decision: [What was decided and by whom]

[Previous changelog entries...]
undefined

Evolution Categories

演进分类

Discovery

发现

markdown
undefined
markdown
undefined

[Date] - Discovery: [Title]

[Date] - Discovery: [Title]

Context: During implementation of [task], discovered that [finding] Change: Added [new requirement/constraint] to spec Impact: [minimal/moderate/significant] - [explanation] Decision: Proceeding with [approach]
undefined
Context: During implementation of [task], discovered that [finding] Change: Added [new requirement/constraint] to spec Impact: [minimal/moderate/significant] - [explanation] Decision: Proceeding with [approach]
undefined

Refinement

细化

markdown
undefined
markdown
undefined

[Date] - Refinement: [Title]

[Date] - Refinement: [Title]

Context: Original requirement "[X]" was ambiguous Change: Clarified to mean [specific interpretation] Impact: None - aligns with existing implementation Decision: Updated spec for clarity
undefined
Context: Original requirement "[X]" was ambiguous Change: Clarified to mean [specific interpretation] Impact: None - aligns with existing implementation Decision: Updated spec for clarity
undefined

Addition

新增

markdown
undefined
markdown
undefined

[Date] - Addition: [Title]

[Date] - Addition: [Title]

Context: [Why new requirement is needed] Change: Added requirement for [new feature/constraint] Impact: [New tasks required / timeline adjustment] Decision: [Approved by / scope discussion needed]
undefined
Context: [Why new requirement is needed] Change: Added requirement for [new feature/constraint] Impact: [New tasks required / timeline adjustment] Decision: [Approved by / scope discussion needed]
undefined

Modification

修改

markdown
undefined
markdown
undefined

[Date] - Modification: [Title]

[Date] - Modification: [Title]

Context: Original approach [X] not feasible because [reason] Change: Changed from [old] to [new] Impact: [Rework required / tasks affected] Decision: [Rationale for new approach]
undefined
Context: Original approach [X] not feasible because [reason] Change: Changed from [old] to [new] Impact: [Rework required / tasks affected] Decision: [Rationale for new approach]
undefined

Removal

移除

markdown
undefined
markdown
undefined

[Date] - Removal: [Title]

[Date] - Removal: [Title]

Context: [Why requirement no longer needed] Change: Removed [requirement/feature] Impact: [Tasks that can be skipped / simplification] Decision: [Who approved removal]
undefined
Context: [Why requirement no longer needed] Change: Removed [requirement/feature] Impact: [Tasks that can be skipped / simplification] Decision: [Who approved removal]
undefined

Best Practices

最佳实践

  1. Document immediately - Don't wait until end of implementation
  2. Be specific - Include enough detail to understand later
  3. Link to context - Reference related tasks or discussions
  4. Assess impact - Flag if review is needed before continuing
  5. Preserve history - Never delete, always add changelog
  1. 立即记录 - 不要等到实现结束再记录
  2. 内容具体 - 包含足够的细节以便后续理解
  3. 关联上下文 - 引用相关任务或讨论
  4. 评估影响 - 若需要先评审再继续,需标记出来
  5. 保留历史 - 永远不要删除内容,而是添加变更日志

Integration

集成方式

  • Called during
    sdd-implementer
    subagent work
  • Triggered by
    /evolve
    command
  • Works with
    sdd-verifier
    to validate changes
  • Feeds into future
    /audit
    runs
  • Use the ask question tool if change requires stakeholder input
  • sdd-implementer
    子Agent工作期间调用
  • 通过
    /evolve
    命令触发
  • sdd-verifier
    配合验证变更
  • 为后续的
    /audit
    运行提供数据
  • 若变更需要相关方输入,使用提问工具