返回顶部
s

sdd-archive归档功能规格

将已完成的 feature spec 归档到全局知识库。提取关键决策,更新约束和领域索引,然后将 feature 目录移到 spec/archive/。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
155
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

sdd-archive

技能名称: sdd-archive
详细描述:

SDD Archive — Feature 归档与领域综合

概述

将已完成的 feature spec 归档到项目的全局知识库(spec/global/)。此技能从 feature 的设计文档实际代码中提取关键决策,使用 4 部分领域文档结构执行增量领域综合,更新全局约束和概述文档,然后将整个 feature 目录移到 spec/archive/。

触发方式: 手动触发,用户运行 /sdd-archive

启动时声明: 我正在使用 sdd-archive 技能来归档 feature spec。

第 0 步:模型检查

检查当前模型是否为 Opus(检查 system prompt 中的模型信息)。如果不是 Opus,输出以下纯文本提示并继续(非阻塞):

⚠️ 当前模型不是 Opus,归档提取需要较强的理解和摘要能力,建议切换到 Opus。输入 /model 切换模型。

第 1 步:前置条件检查

检查 spec/global/ 目录是否存在。

  • - 如果不存在: 显示 全局 spec 目录不存在,请先运行 /sdd-global-init 初始化。 并停止
  • 如果存在: 继续第 2 步。

第 2 步:Feature 选择

  1. 1. 扫描 spec/ 中匹配 feature_* 模式的目录
  2. 排除: spec/archive/ 和 spec/global/
  3. 按目录修改时间排序(最新优先)
  4. 通过 AskUserQuestion 展示最新的 3 个 feature 目录:
- 每个选项显示目录名 - 用户可以通过 Other 输入自定义路径 - 所有问题文本用中文:选择要归档的 feature:
  1. 5. 读取选中 feature 的 spec-design.md

边界情况:未找到 feature 目录

显示:未找到可归档的 feature 目录。spec/ 下没有 feature_* 目录。
停止。

边界情况:未找到 spec-design.md

显示:所选 feature 目录中未找到 spec-design.md,无法提取摘要。请确认该 feature 已完成设计阶段。
停止。

第 3 步:完成度检查(严格模式)

检查 feature 的完成状态:

3.1 检查 spec-plan.md

  • - 如果存在,读取 spec/{feature}/spec-plan.md
  • 统计总复选框数(- [ ] 和 - [x])和已完成复选框数(- [x])
  • 计算完成百分比

3.2 检查 spec-human-verify.md

  • - 如果存在,读取 spec/{feature}/spec-human-verify.md
  • 检查 [!](失败)和 [ ](待处理)项目
  • 汇总:通过/失败/待处理数量

3.3 决策逻辑

  • - 全部完成(计划 100% + 验证全部通过): 静默继续
  • 部分完成或存在失败: 显示警告:

⚠️ 该 feature 尚未完全完成:
- 执行计划完成度: XX%
- 验收结果: X 通过 / Y 失败 / Z 待验收

使用 AskUserQuestion:「继续归档」/「取消」
- 如果取消 → 停止

  • - 没有计划或验证文件: 显示警告:

⚠️ 该 feature 缺少执行计划或验收文件,可能尚未经过完整 SDD 流程。

使用 AskUserQuestion:「继续归档」/「取消」
- 如果取消 → 停止

第 4 步:知识提取 + 用户确认

读取 feature 的 spec-design.md 并扫描与 feature 相关的实际代码文件

4.1 信息来源

  • - spec-design.md: 设计决策、架构选择、权衡的主要来源
  • 实际代码文件: 扫描实现文件以验证决策并发现设计文档中未捕获的实现细节(例如实际文件路径、组件名称、工具函数、使用的模式)

4.2 一句话摘要

描述此 feature 做什么的简洁中文句子(最多 30 个字符)。

4.3 关键决策列表

提取 feature 中做出的 3-7 个关键技术或设计决策。每个决策是一个短bullet point,例如:

  • - 认证方式: JWT + Refresh Token
  • 存储: Redis 缓存 token,PostgreSQL 存用户

从 spec-design.md 和实际代码模式中获取决策。

4.4 领域分类

  • - 确定主要领域(例如 auth、marketplace、payment、user、notification 等)
  • 如果 feature 跨领域边界,识别相关领域
  • 领域名使用小写英文 kebab-case

4.5 展示给用户确认

展示提取结果,使用 AskUserQuestion:「确认」/「需要修改」

如果用户选择 需要修改:

  • - 询问要修改什么(纯文本)
  • 应用修改
  • 通过 AskUserQuestion 重新确认

第 5 步:约束演进检查

  1. 1. 读取 spec/global/constraints.md
  2. 将 feature 的关键决策与现有约束比较
  3. 识别:
- 约束中不存在的新技术/模式(例如 feature 引入了 Redis 但约束中未提及) - 与现有约束的冲突(例如 feature 使用 GraphQL 但约束规定 RESTful) - 无变化 — feature 与所有现有约束一致

如果发现新技术或冲突:

显示每个发现:

🔍 约束演进检查:

  • - [新增] 缓存技术: Redis(当前约束中未记录)
  • [冲突] API 风格: feature 使用 GraphQL,但约束记录为 RESTful

对于每个发现,使用 AskUserQuestion:

  • - 新技术: 「更新约束」/「跳过(不更新)」
  • 冲突: 「更新为新值」/「保留原值」/「两者并存」

将确认的更改应用到 spec/global/constraints.md 并追加更新页脚:



最后更新: YYYY-MM-DD — 由 {featuredirectoryname} 归档时更新

如果无变化:

显示:约束检查通过,无需更新。

第 5.5 步:概况文档演进检查

约束演进检查后,对概况文档进行轻量级检查。

  1. 1. 读取 spec/global/overview.md、spec/global/architecture.md、spec/global/features.md
  2. 将新归档 feature 的关键决策和范围与这些文档比较
  3. 识别潜在更新:
- 新模块或功能点 → 更新 features.md - 新外部依赖或系统边界变化 → 更新 overview.md 和/或 architecture.md - 架构变化(新组件、新数据流) → 更新 architecture.md

如果检测到变化:

显示每个发现:

🔍 概况文档演进检查:

  • - [features.md] 新增功能点: {description}
  • [architecture.md] 新组件: {description}
  • [overview.md] 新外部依赖: {description}

对于每个需要更新的文档,使用 AskUserQuestion:「更新」/「跳过」

对于确认的更新:

  • - 将更改应用到对应文档
  • 更新页脚:最后更新: YYYY-MM-DD — 由 {featuredirectoryname} 归档时更新

如果无变化:

显示:概况文档检查通过,无需更新。

第 6 步:写入全局 Spec 文件 + 领域综合

6.1 更新 spec/global/index.md

在功能表顶部插入新行(最新优先):

markdown
| {featureid} | {一句话摘要} | {primarydomain} | {YYYY-MM-DD} |

更新底部的领域索引部分 — 添加或更新具有正确 feature 计数的领域条目。

6.2 使用 4 部分结构更新/创建领域文件

文件: spec/global/domains/{primary_domain}.md

如果文件不存在 — 创建新领域文档

使用领域文档模板(见下面的模板部分)创建新的领域文档,所有 4 个部分根据此 feature 填充。

如果文件已存在 — 增量综合

执行增量领域综合:

  1. 1. Feature 附录: 在 ## Feature 附录 下追加新的 feature 条目
  2. 领域综述: 如果新 feature 改变了领域的范围、责任或边界,审查并调整概述
  3. 核心流程: 如果新 feature 添加或修改了工作流,审查并更新核心流程
  4. 技术方案总结: 如果新 feature 引入了新的技术选择、模式或更改了现有技术,审查

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 sdd-archive-1776361945 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 sdd-archive-1776361945 技能

通过命令行安装

skillhub install sdd-archive-1776361945

下载

⬇ 下载 sdd-archive v1.0.0(免费)

文件大小: 6.53 KB | 发布时间: 2026-4-17 16:01

v1.0.0 最新 2026-4-17 16:01
初始版本

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部