bkn-doctor

$npx mdskill add kweaver-ai/kweaver-dip/bkn-doctor

通过多轮对话诊断和稳定清单中的对象、关系及动作

  • 识别并解决清单中不稳定的问题,包括模糊的对象/关系边界、领域冲突等。
  • 依赖于`bkn-extract`产出的原始文本和当前候选清单进行分析。
  • 通过多轮对话逐步锁定核心对象、关系和动作,并提供稳定或待确认建议。
  • 最终输出结构化且稳定的清单及问题解决记录,便于非技术人员阅读。

SKILL.md

.github/skills/bkn-doctorView on GitHub ↗
---
name: bkn-doctor
description: 建模质量诊断与多轮收敛。主路径不稳定时介入。
---

# 建模诊断

公约:`../_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 |
| 主键 | 字符串、稳定可复算、优先业务单号 |

## 交互原则

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

## 输出

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

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

## 质量自检(每轮输出前)

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

More from kweaver-ai/kweaver-dip