Kweaver-dip bkn-doctor

建模质量诊断与多轮收敛。主路径不稳定时介入。

install
source · Clone the upstream repo
git clone https://github.com/kweaver-ai/kweaver-dip
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/kweaver-ai/kweaver-dip "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bkn-creator/internal/bkn-doctor" ~/.claude/skills/kweaver-ai-kweaver-dip-bkn-doctor && rm -rf "$T"
manifest: skills/bkn-creator/internal/bkn-doctor/SKILL.md
source content

建模诊断

公约:

../_shared/contract.md

做什么

bkn-extract
产出的清单不稳定时,通过多轮对话诊断问题、收敛对象/关系/动作清单。

触发条件(满足任一)

  • 输入模糊:对象/关系边界不清
  • 领域冲突:候选领域分差小且未确认
  • 待确认对象 >= 3
  • 清单质量不足:方向冲突、主键缺失、命名异常

输入

  • problem_signal
    :ambiguous_input / domain_conflict / too_many_pending / draft_quality_low
  • current_material
    :原始文本 + 当前候选清单

三步收敛

1. 识别问题 → 范围/对象/关系/动作/质量,哪个不稳定?

2. 稳定骨架 → 先锁定:网络范围 + 核心 3-5 对象 + 关键 2-3 关系/动作。未稳定不进细节。

3. 修正交付 → 逐项修正后输出结构化清单 + 稳定/待确认标记。

建模准则

判断规则
对象 vs 属性简单特征值 → 属性;独立业务实体 → 对象
关系 vs 对象仅表示连接 → 关系;连接有业务属性 → 升级为对象
Action vs 关系结构关联 → 关系;状态改变/业务动作 → Action
主键字符串、稳定可复算、优先业务单号

交互原则

  • 每次只追问一个关键问题
  • 先收敛范围与核心对象,再讨论关系/动作
  • 冲突时并列候选,不强行裁决
  • 未稳定前只输出"候选 + 原因 + 待确认"

输出

所有键名使用中文,便于非技术人员阅读:

澄清摘要: {问题, 解决方案}
稳定建模清单:
  显式对象: []
  推断对象: []
  待确认对象: []
  关系清单: []
  动作候选: []
问题解决记录: [{问题, 状态, 解决方案}]
待解决建议: []

质量自检(每轮输出前)

  • 状态枚举误建为对象?
  • 无主键对象?
  • 关系方向未标注?
  • pending 无处理建议?
  • 未稳定写成确定? 任一失败先修正再输出。