ddd-scope · v1.1.0 · 2026-09-29 · sha256 efa3a121dce356ee
ddd-scope v1.1.0A
Immutable. This exact content never changes and is served at /api/v1/blob/efa3a121dce356ee.
--- name: ddd-scope description: >- DDD scope: converge vague requirements into executable DDD modeling inputs — problem statement, goals/non-goals, constraints, term seeds, and risk list. Use when converging fuzzy requirements into DDD modeling inputs or defining modeling scope. risk: safe source: self tags: "[ddd, discovery, scope]" date_added: "2026-05-08" slug: ddd-scope version: 1.1.0 displayName: ddd-scope --- # DDD Scope > English version: [English](SKILL.en.md) ## 使用时机 - 需求描述模糊,不同角色对问题边界理解不一致。 - 全新项目启动前,需要锁定建模范围、约束与关键风险。 - 后续 Skill 报告"业务价值主张不清晰"时,作为回溯目标重新执行。 ## 输入要求 - **必需**:业务目标或问题描述(允许非结构化文本:口述、PRD 片段、工单描述均可)。 - **可选**:当前系统形态、关键参与方、外部系统依赖、已知约束(时间/合规/性能/团队)。 **输入缺失/不可用时的可观察出口**:若描述为空、或内容与业务无关(如纯技术配置、无业务意图的报错日志),**不要**硬收敛。输出一段补齐请求:引用收到的原文,写明"缺少业务目标或问题描述",并给一个填空模板("我们在 <场景> 遇到 <痛点>,期望 <结果>"),然后停下等待。收到可用的描述后从头重跑流程。 **NOT for(不适用,转交对应技能)**: - 已有清晰需求、要直接做领域发现(事件风暴) → `ddd-discover`。 - 已有事件流、要做子域切分 → `ddd-subdomains`。 - 已明确子域、要划分上下文 → `ddd-contexts`。 - 本技能只收敛建模输入,不产出任何代码或技术方案。 ## 流程 1. 提取业务意图,形成 1 句**问题陈述**(描述痛点)和 1 句**价值陈述**(描述期望结果)。 2. 明确**目标**与**非目标**,建立范围边界——显式声明"不做什么"。 3. 列出**约束与假设**,每条标注"可验证 / 不可验证"及验证方式。 4. 生成**术语种子清单**:从描述中提取名词、动词、状态词,标注歧义点与所属场景。 5. 识别**风险清单**:覆盖业务风险、集成风险、数据一致性风险、交付风险,给出初步缓解建议。 6. 输出**下一步准备清单**:进入 `ddd-discover` 所需的最小信息、参与角色与期望产出。 ## 输出 | 工件 | 结构要求 | | :----------------- | :------------------------------------- | | 问题陈述与价值陈述 | 各 1 句,可被业务方认可 | | 目标 / 非目标 | 列表化,每条包含边界解释 | | 约束与假设 | 表格:约束/假设、可验证性、验证方式 | | 术语种子清单 | 表格:术语、定义候选、歧义点、所属场景 | | 风险清单 | 表格:风险、影响、触发条件、缓解建议 | | 下一步准备清单 | 列表:角色、必要输入、期望产出 | ## 校验清单 - [ ] 目标与非目标互斥且可落地执行 - [ ] 约束与假设均已标注验证方式 - [ ] 术语种子 ≥ 10 个,歧义点已标注(豁免:极小范围的一次性工具类建模,术语天然不足 10 个——写明豁免理由与实际数量,其余四项校验不得豁免) - [ ] 风险清单覆盖业务 / 集成 / 一致性 / 交付四类 - [ ] 问题陈述与价值陈述不含技术实现细节 ## 回溯触发 本 Skill 为体系入口,不触发回溯。但以下情况会被下游触发回溯至此: - `ddd-subdomains` 无法区分核心域与支撑域 → 业务价值主张不清晰,需重新收敛 scope。 ## 示例 ### 调用示例 ```text @ddd-scope 业务描述:我们的订单售后流程非常混乱,跨系统协同困难,客户投诉响应慢。 请帮我收敛为 DDD 建模输入:输出问题陈述、目标/非目标、约束与假设、术语种子、风险清单。 ``` ### 最短真实示例(前置 → 调用 → 产出摘录) 前置:只需一段业务描述(口述、PRD 片段均可),无其他工件依赖。 调用: ```text @ddd-scope 业务描述:我们的会员积分总是对不上账,客服手动调分,运营想上积分商城但没人敢保证分数正确。 ``` 产出摘录(应长这样): ```text 问题陈述:积分账实不一致,人工调分不可审计。 价值陈述:积分变动全程可追溯,支撑积分商城上线。 目标:积分入账/扣减/过期规则统一建模。 非目标:不改造支付通道;不做商城前端。 术语种子(摘录):积分(=营销积分还是抵扣券?歧义)、调分、入账、过期 … 风险清单(摘录):双系统并行期分数漂移(一致性风险)→ 缓解:以积分账本为唯一真源。 ``` ### 另一场景(全新内部平台) 同一技能,输入换成"我们要给 20 家门店做统一排班,现在各店用 Excel"——产出结构相同,但术语种子会集中在"班次/工时/替班"等排班域词汇,且非目标里应显式排除"考勤硬件对接"。业务场景不同不影响流程六步,只影响术语种子与风险清单的内容。 ## 常见错法 → 改法 | 错法 | 改法 | | :--- | :--- | | 描述里没业务意图(纯报错日志/配置)也硬收敛 | 停在补齐请求,引用原文+给填空模板(见"输入缺失/不可用时的可观察出口") | | 问题陈述写成技术方案("引入 Kafka 解耦") | 陈述只描述痛点与期望结果;技术细节留给后续建模技能 | | 非目标空着或写"无" | 显式排除至少一条易蔓延项("不做 X"),否则范围边界不可校验 | | 术语种子不足 10 个就默默过关 | 按校验清单新规:写明豁免理由与实际数量,或追问更多场景描述补齐 | | 约束全部标"不可验证" | 逐条追问可验证性;确实不可验证的保留标注,但须给出触发重估的条件 | | 用户没要求就自动跑 scope 收敛 | 本技能仅在用户点名或下游技能(`ddd-subdomains`)回溯触发时执行,不自主触发 | | scope 定稿后下游发现价值主张不清却原地重跑 | 允许回溯重跑,但须在输出中注明"第 N 次收敛"及本轮变更点,避免无限循环 |