Kweaver-dip bkn-distribute

将业务规则 Skill 分发到多个 AI 平台本地目录,用户按需选择目标平台。

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-distribute" ~/.claude/skills/kweaver-ai-kweaver-dip-bkn-distribute && rm -rf "$T"
manifest: skills/bkn-creator/internal/bkn-distribute/SKILL.md
source content

多平台分发

公约:

../_shared/contract.md

做什么

bkn-rules
生成的业务规则 Skill 文件,安装到用户选择的一个或多个 AI 平台本地目录中,使各平台的 Agent 能加载并使用这些规则。

输入

  • skill_artifact_path
    bkn-rules
    输出的 Skill 文件路径列表
  • network_id
    :网络唯一标识
  • network_name
    :网络名称
  • skill_version
    (可选):Skill 版本号,来自
    bkn-rules
    输出

已知平台

平台默认路径目录标识
Cursor
.cursor/skills/{network_id}-rules/
.cursor
Claude
.claude/skills/{network_id}-rules/
.claude
OpenClaw
openclaw/skills/{network_id}-rules/
openclaw

安装目录标识为工作区根目录下的平台根文件夹(如

.cursor
.claude
openclaw
)。若某平台根目录不存在,仍可询问用户是否创建。

平台目录结构

各平台统一使用

skills/{network_id}-rules/
子目录,与
.cursor/skills/
结构一致:

{platform_root}/
└── skills/
    └── {network_id}-rules/
        └── {skill_name}.md   # SKILL.md 格式

流程

1. 检测已存在的平台

扫描工作区根目录,识别已知平台目录标识是否存在:

  • .cursor/
    → Cursor
  • .claude/
    → Claude
  • openclaw/
    → OpenClaw

输出

detected_platforms
列表(包含平台名、路径、是否已存在)。

2. 呈现平台选择菜单

向用户展示以下信息:

业务规则 Skill 已生成,请选择安装到哪些 AI 平台:

已检测到平台:
  [x] Cursor (.cursor/skills/)     ← 已存在
  [ ] Claude (.claude/skills/)     ← 未检测到

其他已知平台:
  [ ] OpenClaw (openclaw/skills/)

请输入选项(多选,用逗号分隔,如 A,C),或输入 N 跳过:
  A. Cursor
  B. Claude(将创建 .claude/skills/ 目录)
  C. OpenClaw(将创建 openclaw/skills/ 目录)
  N. 跳过,不安装到任何本地平台
  • 已存在的平台默认选中(用户可取消)
  • 未检测到的平台不默认选中,选择后需确认将创建目录
  • 用户可手动输入平台路径(如
    windsurf/.windsurf/skills/

3. 执行分发

对每个选中的平台:

  1. 若平台根目录不存在,创建
    {platform_root}/skills/
    目录结构
  2. skill_artifact_path
    中的每个 Skill 文件复制到
    {platform_root}/skills/{network_id}-rules/
    • 若目标文件已存在,覆盖更新
  3. 保持源文件名不变

4. 回读校验

对每个平台:

  • 确认目标目录下每个 Skill 文件存在且内容非空
  • 记录
    files_copied
    列表和
    status

5. 输出分发结果

distribution_result:
  platforms:
    - platform: cursor
      platform_root: ".cursor"
      target_path: ".cursor/skills/{network_id}-rules/"
      status: success | failed | skipped
      files_copied:
        - source: "{network_dir}/skills/{network_id}-rules.md"
          target: ".cursor/skills/{network_id}-rules/{network_id}-rules.md"
          verified: true
    - platform: claude
      platform_root: ".claude"
      target_path: ".claude/skills/{network_id}-rules/"
      status: success | failed | skipped
      files_copied: []
  overall_status: all_success | partial | failed | skipped

约束

  • 不修改 Skill 文件内容,仅复制
  • 各平台结构一致,无需格式转换
  • 平台目录下直接覆盖,不归档(归档由
    bkn-rules
    在源头
    {network_dir}/skills/_archived/
    统一管理)
  • 跳过(选 N)不阻断后续流程
  • 分发失败不阻断平台发布(
    kweaver skill register
  • skill_artifact_path
    为空(无规则可分发),输出
    skipped: no_skills
    并停止