sdd-riper-one
SKILL.md
SDD-RIPER-ONE Skill
核心定位
- 先读一次:
references/sdd-riper-one-protocol.md - 总纲:
Pre-Research -> RIPER,全程遵循 SDD 并持续维护 Spec - 三条底线:
No Spec, No Code、Spec is Truth、Reverse Sync create_codemap/build_context_bundle是 Pre-Research 输入准备;sdd_bootstrap是 RIPER 启动命令(进入 Research 第一步,同时完成 Pre-Research 收口)- RIPER 主流程:
Research -> (Innovate, 可选) -> Plan -> Execute -> Review - 不要在每轮对话里重载整份 Skill / Spec;默认只回读当前阶段需要的小节
推荐流程(直接执行)
- 标准流(中大型任务):
create_codemap -> build_context_bundle -> sdd_bootstrap -> Research -> (Innovate, 可选) -> Plan -> Execute -> Review
- 快速流(小任务/需求模糊):
sdd_bootstrap -> (按需补)create_codemap/build_context_bundle -> Research -> Plan -> Execute -> Review
- 门禁:
- 首版 spec 落盘前,不进入实现
- 未收到精确字样
Plan Approved,禁止进入Execute Review不通过,回到Research/Plan修正
上下文装配规则
SDD是完整持久化上下文与记忆层:必须完整落盘、持续维护,但不要求每轮整份常驻输入RIPER是审批驱动状态机:必须在每轮保持当前phase、当前批准状态与下一步动作清晰可见- 裁剪目标是减少重复重放,不是减少约束或弱化门禁
热上下文(每轮必带)
- 当前
phase - 当前
approval status - 当前
spec path - 当前
Goal - 当前
In Scope / Out of Scope - 当前活跃
Checklist - 当前
Open Questions - 当前风险与
Next Action - 热上下文只用于当前轮聚焦,不替代完整 spec;与 spec 冲突时,永远以 spec 为准
温上下文(切阶段或高风险动作前加载)
Research -> Plan:Research Findings、关键事实、方案结论Plan -> Execute:File Changes、Signatures、原子ChecklistExecute -> Review:Validation、实际改动摘要、偏差说明- 执行
review_spec/review_execute时,回读对应评审区块
冷上下文(默认不带,命中再加载)
- 全量
Change Log - 历史
Research细节 - 完整
codemap - 完整
context bundle MULTI/DEBUG/ARCHIVE的完整扩展规则- 长示例、长模板、长 quick reference
硬门禁(不可因裁剪而削弱)
- 没有 spec,不进入代码实现
phase与approval status必须是显式状态,不允许根据语气、倾向或不完整表述推断- 没有精确字样
Plan Approved,不进入Execute - phase 切换前,必须回读对应 spec 区块;不能只靠热上下文跨阶段推进
Review时必须基于 plan 与 validation,而不是只看聊天摘要- 发现冲突、字段缺失、摘要过期或记忆不确定时,立即回读完整 spec 或相关原文区块
回读触发矩阵
- 每轮必带:
phase、approval status、spec path、Goal、In Scope / Out of Scope、当前活跃Checklist、Open Questions、当前风险、Next Action Research -> Plan:回读Research Findings、关键事实、方案结论Plan -> Execute:回读File Changes、Signatures、原子ChecklistExecute -> Review:回读Validation、实际改动摘要、偏差说明review_spec:至少回读Plan相关区块;必要时补充目标、范围、验收、风险与回滚review_execute:至少回读Plan + Validation + Review相关区块- 必须全量或大区块回读:阶段切换失败或有争议、批准状态不明确、摘要与 spec 冲突、长对话后出现遗忘迹象、
MULTI、DEBUG、高风险改动、最终Review - 禁止事项:不能用热上下文替代完整 spec,不能根据模糊语气推断
Plan Approved,不能只靠聊天摘要跨阶段推进,不能长期不回读 spec 原文
多项目协作(自动发现 + 作用域隔离)
- 目标:多项目场景下保持"局部理解 + 局部执行 + 显式边界",用户零额外配置。
- 详细协议:
references/sdd-riper-one-protocol.md→MULTI-PROJECT PROTOCOL段 - Spec 模板:
references/spec-template.md→ 多项目模板
自动发现(Auto-Discovery)
- 触发:
sdd_bootstrap: mode=multi_project或触发词MULTI / 多项目 - Agent 自动扫描
workdir下子目录,通过标志文件识别子项目:- JS/TS:
package.json| Java/Kotlin:pom.xml,build.gradle| Go:go.mod| Python:pyproject.toml,setup.py| Rust:Cargo.toml| 通用:.git - Monorepo: 额外检查
workspaces、settings.gradle、pnpm-workspace.yaml
- JS/TS:
- 产出
Project Registry(§0.1),报告给用户确认后继续 - 用户也可显式提供
projects=[...]跳过自动发现 - 智能降级:仅 1 个子项目 → 自动降级为单项目模式;0 个子项目 → workdir 本身作为单项目
自动 Codemap
- 发现项目后,自动为每个子项目检查/生成
create_codemap(project) - 产物路径:
mydocs/codemap/YYYY-MM-DD_hh-mm_<project_id>项目总图.md
作用域隔离规则(必须)
- 每轮先声明
active_project与active_workdir - 默认
change_scope=local,只允许修改active_project下的文件 - 仅在显式
change_scope=cross(或触发词CROSS / 跨项目)时允许跨项目改动 - 始终
codemap-first:切换到任何项目前,必须先加载该项目的 codemap/context - 跨项目执行后,在 spec
§6.1 Touched Projects记录改动项目、文件、原因
跨项目依赖与契约
- 跨项目改动时,必须在 spec
§4.4 Contract Interfaces记录:Provider → Interface → Consumer → 是否 Breaking Change → 迁移方案 - 跨项目 Plan 的 checklist 按项目分组,Provider 优先于 Consumer 执行
- 修改前检查目标项目是否有活跃 Spec,有冲突则 STOP 等待用户决策
多项目 Review(扩展)
- 校验跨项目契约一致性(Provider 与 Consumer 接口匹配)
- 校验 Touched Projects 完整性
- 校验无孤立改动(所有改动文件都在已注册项目内)
- 按项目分别评估回归风险
触发词
MULTI / 多项目→ 进入多项目模式,运行自动发现CROSS / 跨项目→ 当前轮change_scope=crossSWITCH <project_id> / 切换 <project_id>→ 切换active_project,自动加载 codemapREGISTRY / 项目列表→ 显示当前 Project RegistrySCOPE LOCAL / 回到本地→ 重置为change_scope=local
最小启动示例
sdd_bootstrap: mode=multi_project, task=<任务名>, goal=<目标>, requirement=<需求文档或描述>
- 无需手动列项目,Agent 自动发现并确认。
- 也可显式指定:
projects=[{id:web-console,path:./web-console},{id:api-service,path:./api-service}]
原生命令动作(可直接输入)
1) create_codemap
- 用途:生成代码索引地图,支持
feature/project(默认feature) - 本质:CodeMap 是代码上下文索引,用于后续按需加载,而不是每轮全仓扫描。
- 输入:
scope(建议明确);mode可选;goal可选 - 输出:
feature:mydocs/codemap/YYYY-MM-DD_hh-mm_<feature>功能.mdproject:mydocs/codemap/YYYY-MM-DD_hh-mm_<project>项目总图.md
- 要点:
feature关注入口、核心链路、依赖、风险project关注架构层、核心模块、跨模块流程、外部依赖;图示建议优先 Mermaid(受限可降级为结构化文字图)
2) build_context_bundle
- 用途:整理需求上下文,替用户读资料并提炼细节
- 输入:目录路径
- 解析策略:best effort,支持文本/文档/图片;不可解析文件进入
Unparsed Sources,不阻塞产出 - 输出:
mydocs/context/YYYY-MM-DD_hh-mm_<task>_context_bundle.md - 输出级别:
Lite:Source Index、Requirement Snapshot、Open Questions、Next ActionsStandard:Requirement Facts、Business Rules、Acceptance Criteria、Constraints、Conflicts & Ambiguities等
3) sdd_bootstrap
- 用途:RIPER 启动命令(进入 Research 第一步,并产出第一版 spec)
- 输入:只要是“有意义且真实的需求”即可(口述/文档/聊天记录/context bundle 均可)
- 执行动作:
- 汇总用户输入 + 代码事实 + 历史资产(codemap/context/spec)
- 冲突处理:先落首版 spec 标记冲突,再给
Option A/B和推荐决策 - 形成首版研究结论与下一步动作
- 输出:
mydocs/specs/YYYY-MM-DD_hh-mm_<TaskName>.md - 首版最小内容:
Context Sources、Codemap Used、Research Findings、Open Questions、Next Actions
4) review_spec
- 用途:在
Plan完成后、Execute前进行 spec 质量评审(建议性,不阻塞执行) - 输入:
spec:spec 文件路径(可选,默认当前活跃 spec)scope:plan_only(默认)或full
- 评审重点:
- 目标/范围/验收标准是否清晰且可验证
Plan是否可执行(文件、签名、checklist 是否原子化)- 风险、回滚、跨项目契约(如有)是否充分
- 分阶段原则:
- 仅评审“当前阶段应当具备”的章节,不要求一次性覆盖全 spec
- 对尚未到阶段的章节只做
Reminder,不计入NO-GO
- 输出:
Spec Review Matrix(逐项PASS/FAIL/PARTIAL+ 证据)Readiness Verdict:GO/NO-GO(建议性结论)Risks & Suggestions(若继续执行需关注项)Phase Reminders(按阶段待补齐项)
- 约束:
NO-GO不构成硬阻塞;若用户坚持执行,允许继续- 用户选择继续时,必须在 spec 记录
User Decision: Proceed despite NO-GO
5) review_execute
- 用途:在
Execute后执行结构化评审,输出可回写 spec 的审查结论 - 输入:
spec:spec 文件路径(可选,默认当前活跃 spec)scope:changed_only(默认)或full(全量评审)
- 评审三轴(必须全部输出):
- Spec 质量与目标达成:spec 是否写清目标、范围、验收标准;需求是否完成
- Spec-代码一致性:代码是否忠实执行
Plan(文件、签名、checklist、行为) - 代码自身质量:脱离 spec 后,代码在正确性、鲁棒性、可维护性、测试、风险上的质量
- 输出:
Review Matrix(三轴逐项PASS/FAIL/PARTIAL+ 证据)Overall Verdict(PASS/FAIL)与Blocking IssuesPlan-Execution Diff(偏差与原因)
- 门禁:
- 轴 1 或轴 2 任一
FAIL->Review FAIL,回到Research/Plan - 轴 3 存在高风险问题 ->
Review FAIL,回到Plan
- 轴 1 或轴 2 任一
6) archive
- 用途:对指定 spec/codemap(或目录)做归档沉淀,将“中间产物”提炼为可复用知识
- 输入:
targets:文件或目录路径(支持多个)kind:spec/codemap/mixedaudience:human/llm/both(默认both)mode:snapshot(单任务归档,默认)/thematic(跨任务主题归档)topic:归档主题名(可选,默认从 targets 推断)
- 输出:
human:mydocs/archive/YYYY-MM-DD_hh-mm_<topic>_human.md(汇报视角)llm:mydocs/archive/YYYY-MM-DD_hh-mm_<topic>_llm.md(后续开发参考视角)- 每个归档文档必须包含
Trace to Sources(结论 -> 来源文件)避免失真
- 门禁:
- 有活跃执行中的 spec(未完成 Review)时,禁止归档该 spec
- 默认只归档不删除原文件;删除/移动需用户显式授权
- 自动化脚本(推荐):
python3 scripts/archive_builder.py --targets mydocs/specs mydocs/codemap --kind mixed --audience both --mode thematic --topic <主题>- 如需强制归档活跃 spec:追加
--allow-active-spec(仅在用户明确确认后使用)
阶段约束(最小集合)
- 每轮先同步 spec 再推进阶段
- 默认不在每轮对话中重载整份 spec;优先回读当前阶段区块、活跃 checklist、
Open Questions、最近一次Change Log / Validation - 仅在切换阶段、执行
review_spec/review_execute、发现冲突或明显遗忘时,全量回读 spec codemap/context bundle按需读取,不作为每轮固定输入Innovate可选:复杂任务建议 2-3 方案;小任务可跳过但要写原因Plan必须可执行:文件路径 + 签名 + 原子 checklistPlan后建议执行review_spec;其NO-GO为建议项,不是强制门禁Review必须按三轴评审并回写结论:Review Matrix、Overall Verdict、Plan-Execution Diff- 任务闭环后建议执行
archive,沉淀 human/llm 双视角知识
Debug 模式(日志驱动排查与功能验证)
- 用途:基于日志 + Spec + 代码三角定位 Bug,或用全链路日志验证功能是否正常
- 触发词:
DEBUG / 排查 / 日志分析 / 验证功能 - 输入:
log_path:日志文件或日志目录路径(必须)issue:发现的问题描述 / 报错信息(可选,排查模式时建议提供)spec:关联的 Spec 文件路径(可选,验证模式时建议提供)
- 两种子模式:
- 排查模式(默认):用户提供日志 + 问题描述,Agent 结合 Spec 和代码定位可能的 Bug 根因
- 验证模式:用户提供全链路日志 + Spec,Agent 逐条比对 Spec 中的预期行为与日志中的实际行为,确认功能是否正常
- 工作流:
- 读取日志文件/目录,提取关键错误、异常、调用链信息
- 加载关联的 Spec 和 CodeMap(如有),建立"预期行为 vs 实际行为"的对照
- 定位代码中的可疑逻辑(结合 CodeMap 索引精准跳转)
- 输出结论:Bug 根因分析 / 功能验证报告
- 如需修复,自动进入 RIPER 流程(Research → Plan → Execute → Review)
- 约束:
- Debug 模式本身不直接改代码,只做分析和定位
- 需要改代码时,必须走 RIPER 流程(或 FAST 通道处理小修复)
- 分析结论回写到 Spec 的
§ Debug Log段(如有活跃 Spec)
触发词
MAP / Code Map / 链路梳理 / 只看代码->create_codemap(feature)PROJECT MAP / 全局地图 / 项目总图 / MAP ALL->create_codemap(project)MULTI / 多项目-> 多项目轻量模式(父目录 workdir + 局部执行)CROSS / 跨项目-> 允许跨项目改动(强制记录Touched Projects)FAST / 快速 / >>-> 小改快速通道(改后同步 spec)REVIEW SPEC / 评审规格 / 计划评审-> 执行review_spec(建议性预审)REVIEW EXECUTE / 代码评审 / 实现复盘-> 执行review_execute(三轴审查)ARCHIVE / 归档 / 沉淀-> 执行archive(总结、合并、精炼)DEBUG / 排查 / 日志分析 / 验证功能-> Debug 模式(日志驱动排查与功能验证)EXIT SDD / 退出协议-> 退出状态机
命名规则(统一时间前缀)
- 时间前缀:
YYYY-MM-DD_hh-mm_ create_codemap(feature):mydocs/codemap/YYYY-MM-DD_hh-mm_<feature>功能.mdcreate_codemap(project):mydocs/codemap/YYYY-MM-DD_hh-mm_<project>项目总图.mdbuild_context_bundle:mydocs/context/YYYY-MM-DD_hh-mm_<task>_context_bundle.mdsdd_bootstrap:mydocs/specs/YYYY-MM-DD_hh-mm_<TaskName>.mdarchive(human):mydocs/archive/YYYY-MM-DD_hh-mm_<topic>_human.mdarchive(llm):mydocs/archive/YYYY-MM-DD_hh-mm_<topic>_llm.md
参考
references/sdd-riper-one-protocol.mdreferences/spec-template.mdreferences/workflow-quickref.mdreferences/usage-examples.mdreferences/archive-template.md
Weekly Installs
7
Repository
huisezhiyin/sdd-riperGitHub Stars
19
First Seen
6 days ago
Security Audits
Installed on
qoder5
claude-code4
github-copilot4
codex4
kimi-cli4
gemini-cli4