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-anchor" ~/.claude/skills/kweaver-ai-kweaver-dip-bkn-anchor && rm -rf "$T"
manifest:
skills/bkn-creator/internal/bkn-anchor/SKILL.mdsource content
Skill 锚定
公约:
../_shared/contract.md
做什么
把
bkn-rules 生成的业务规则 Skill,作为孤悬对象类写入 BKN 网络,
让网络与其规则 Skill 自包含——查网络就能看到配套规则。
输入
:business_rules_skill
的输出bkn-rules
:.bkn 文件所在目录network_dir
锚定方式
为每个业务规则 Skill 创建一个独立 object_type(无关系指向其他业务对象):
object_type: name: "{skill_name}" description: "{规则摘要}" properties: - name: skill_path type: string description: "Skill 文件路径" - name: rule_type type: string description: "规则类型" - name: rule_count type: integer description: "规则条数" - name: source type: string description: "规则来源" - name: related_objects type: string description: "关联业务对象" - name: version type: string description: "版本"
锚定对象需在
network.bkn 的 concept_groups 中引用,归入「业务规则」分组。若该分组不存在,在 network.bkn 中创建:
concept_groups: - id: business_rules name: 业务规则 members: - "{anchored_object_id}"
流程
- 读取
输出的bkn-rulesrule_groups - 为每个 group 生成对应的孤悬 object_type
- 写入 .bkn 文件(直接写入,不走 bkn-backfill)
- 回读校验
输出
anchored_objects: - object_name: "" skill_path: "" rule_count: 0 anchor_status: success | partial | failed
锚定与推送的配合
锚定对象写入 .bkn 文件后随网络整体推送。锚定时需遵守门禁规则:
- 锚定对象的属性类型必须为合法类型(
/string
等)integer - Display Key 不可为空(建议用
)skill_path - 无需 Data Source(孤悬对象无数据视图绑定)
约束
- 孤悬对象不与业务对象建关系
- 不修改已有业务对象定义
- 归入专用 concept_group,便于区分
- 推送前必须通过门禁自检