بنقرة واحدة
stdd-spec
STDD Phase 2: 规格设计 — 将 proposal 转化为可测试的 spec Scenario
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
STDD Phase 2: 规格设计 — 将 proposal 转化为可测试的 spec Scenario
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
STDD Phase 4: TDD 实现 — 逐切片实现并通过测试
STDD Phase 5: 质量验证 — 运行测试、覆盖率、lint 等质量检查
STDD Phase 6: 交付 — 归档 change、合并 specs、更新文档
STDD Phase 3: 切片规划 — 将 spec 拆分为可实现的开发切片
STDD Phase 1: 需求理解与确认 — 将模糊需求转化为清晰、可验证的变更提案(proposal.md)
| name | stdd-spec |
| description | STDD Phase 2: 规格设计 — 将 proposal 转化为可测试的 spec Scenario |
将 proposal 转化为精确的技术规格和测试方案。这是整个 STDD 流程中最重要的阶段。
.stdd.yaml 中 phases.understand.status == "completed"proposal.md,理解变更范围和边界python bin/stdd extract-proposal --format json
title, capabilities (new + modified), what_changes, success_criteria, impact在生成 specs 之前,从经验库加载可能相关的失败模式,用于交叉检查生成的 spec:
python bin/stdd experience list --language <project.language> --format jsondetection_trigger 和 fix_template,在生成 Scenario 时用作检查清单:
先读取模板:.stdd/templates/design.md
按模板生成 design.md:
先读取模板:.stdd/templates/spec-draft.md
为每个 Capability 生成一个 spec 草稿文件(specs/<capability>/spec.md):
自动生成流程(AI 主导,用户角色从"写 spec"变为"审 spec"):
extract-proposal 输出中提取 capability 名称和描述spec-draft.md 模板为每个 capability 生成 spec 草稿<!-- confidence: high --> — 所有 GIVEN/WHEN/THEN 要素可从 proposal 中直接找到<!-- confidence: medium --> — 部分要素需从上下文推断<!-- confidence: low --> — 几乎完全由 AI 推断,proposal 只提供了能力名称置信度原则:
执行条件:proposal 的 Critical 勾选了"关键变更"或 risk_assessment 中有任意 true。
AI 评估 spec 的自由度:
计算最低锚定等级需求:
判断:
输出:
先读取模板:.stdd/templates/test-plan.md
从 specs 映射生成 test-plan.md:
Spec → Test 映射规则:
spec Scenario test-plan TC Case
─────────────────────────────────────────
GIVEN: <前置条件> → 预置条件(Arrange)
WHEN: <触发动作> → 输入(Act)
THEN: <预期结果> → 预期结果(Assert)
AND: <附加结果> → 额外的 Assert
TC-ID 命名规则:TC-<CAPABILITY>-<NNN>
必须包括的章节:
在提交用户确认之前,自动审查 design.md 和 specs 的质量:
需求覆盖检查:
Scenario 完备性检查:
TC-ID 一致性检查:
文档一致性检查:
审查发现问题后自动修复,然后进入 Step 6 用户确认。
向用户展示完整的 Phase 2 产出后,必须等待用户明确确认:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
STDD Phase 2: SPEC — 等待确认
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 产出物:
✅ design.md — 技术设计
✅ specs/<capability>/spec.md (N 个文件) — 行为规格(AI 草稿)
✅ test-plan.md — 测试方案
📊 关键指标:
- Spec Requirements: N
- Spec Scenarios: N
- 置信度分布: ✓高:N ⚠中:N ⚠低:N
- TC Cases: N
- P0: N / P1: N / P2: N
🧠 经验库交叉检查(Step 2):
匹配经验: N 条 | 命中相关模式: N 条
(如命中经验提示了某个失败模式,对应的 Scenario 已加入预防措施)
🔍 自动审查结果(Step 5.5 设计审查):
审查维度:需求覆盖 / Scenario 完备性 / TC-ID 一致性 / 文档一致性
发现问题:N 项 | 已自动修复:N 项
审查结论:✅ 全部通过 / ⚠️ N 项已修复 / ❌ N 项待处理
⚠️ 你的角色:审 spec,不是写 spec:
1. ✓ 高置信度 Scenario(N 个)— 快速过目即可
2. ⚠ 低置信度 Scenario(N 个)— **必须详细审核**(AI 可能理解有误)
3. 技术方案是否合理?(design.md)
4. 测试覆盖是否充分?(test-plan.md)
5. TC 案例优先级是否合理?
👉 确认无误请回复,或提出修改意见。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
如果用户提出修改意见 → 根据反馈修订文档 → 重新展示等待确认 如果用户确认 → 锁定所有 Phase 2 文档
未确认前,绝对不允许进入 Phase 3。
确认门模板参见:
.stdd/skills/_shared/confirm-gate.md
用户确认后:
design.mdspecs/<capability>/spec.md(每个 capability 一个文件)test-plan.md.stdd.yaml(phase: spec → completed, confirmed_at 时间戳)Phase 2 文档已锁定。在进入 Phase 3 之前,必须选择 Phase 3-5 的执行模式。此步骤不可跳过。
无论 .stdd/config.d/long_range.yaml 中 recommended 配置如何,必须使用 AskUserQuestion 向用户展示模式选择:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
STDD Phase 3-5 执行模式选择
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 全自动长程模式 [推荐]
· 一次性预授权所有交互点(流程决策 + 操作授权)
· Phase 3-5 连续自动执行,无需交互
· 仅 Gate 3 结束时等待确认(Gate 3 不自动跳过)
📋 普通交互模式
· 重大设计偏离时暂停确认
· 技术阻塞时暂停询问
· 迭代达到上限时暂停报告
· Gate 3 等待手动确认
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
→ 用户选择长程模式:进入 Step 8a 一次性预授权流程 → 用户选择普通模式:进入 Step 8b,直接启动 Phase 3
.stdd/templates/long-range-auth.mddesign.md 中的技术决策,识别可能的偏离风险点test-plan.md 中的测试范围,识别可能的技术阻塞点━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
STDD 长程模式 — 一次性交互授权
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A. 流程决策授权
① 小设计偏离 → 自动记录,继续
② 大设计偏离 → 自动记录并继续(在 test-report 中汇总)
③ 技术阻塞 → 尝试绕过方案,记录到 pending-adjustments.md
④ 迭代上限 → 扩展为 10 轮,达上限后在 test-report 中汇总
B. 操作类授权
⑤ 目录操作 → 允许
⑥ 文件写入 → 允许
⑦ 命令执行(pytest/ruff/mypy)→ 允许
⑧ 脚本执行 → 允许
⑨ 网络访问 → 允许
⑩ 文件读取 → 允许
⑪ Git 只读操作 → 允许
C. Gate 确认
⑫ Gate 3 → 强制等待用户确认(不自动跳过)
⚠️ 降级条件:连续自动修复 3 次失败 / 测试通过率 < 95% / 安全相关问题
👉 回复「确认全部」进入全自动长程模式
👉 回复「普通模式」切换为常规交互模式
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
.claude/settings.local.jsonpermissions.allow 数组中添加以下规则:
Bash(pytest *), Bash(ruff *), Bash(python *), Bash(pip *), Bash(git *), Bash(mkdir *), Bash(cp *), Bash(ls *)Write(changes/**), Edit(changes/**), Write(app/**), Edit(app/**), Write(tests/**), Edit(tests/**), Write(.stdd/**), Edit(.stdd/**), Write(.claude/skills/**), Edit(.claude/skills/**)Read(.stdd/**), Read(**/*.md), Read(**/*.yaml), Read(**/*.py), Read(**/*.json)Glob(**), Grep(**)Skill(stdd-slice), Skill(stdd-build), Skill(stdd-verify), Skill(stdd-deliver)settings.local.json,不影响全局配置.stdd.yaml,记录长程模式状态:
long_range:
enabled: true
mode: "full_auto"
pre_auth_completed: true
pre_auth_timestamp: "<当前时间>"
.stdd.yaml:
long_range:
enabled: false
mode: "normal"
design.md — 技术设计文档specs/<capability>/spec.md — 行为规格test-plan.md — 测试方案(含 TC-ID 映射、覆盖矩阵、回归风险).stdd.yaml — 更新状态(含 long_range 模式选择结果)完成前确认:
Phase 2 确认完成 + 模式选择完成 → 进入 Phase 3: SLICE(切片规划)