원클릭으로
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 페이지를 검토하고 설치를 진행할 수 있습니다.
STDD Phase 4: TDD 实现 — 逐切片实现并通过测试
STDD Phase 5: 质量验证 — 运行测试、覆盖率、lint 等质量检查
STDD Phase 6: 交付 — 归档 change、合并 specs、更新文档
STDD Phase 3: 切片规划 — 将 spec 拆分为可实现的开发切片
STDD Phase 1: 需求理解与确认 — 将模糊需求转化为清晰、可验证的变更提案(proposal.md)
SOC 직업 분류 기준
| 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(切片规划)