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.mdsource content
多平台分发
公约:
../_shared/contract.md
做什么
将
bkn-rules 生成的业务规则 Skill 文件,安装到用户选择的一个或多个 AI 平台本地目录中,使各平台的 Agent 能加载并使用这些规则。
输入
:skill_artifact_path
输出的 Skill 文件路径列表bkn-rules
:网络唯一标识network_id
:网络名称network_name
(可选):Skill 版本号,来自skill_version
输出bkn-rules
已知平台
| 平台 | 默认路径 | 目录标识 |
|---|---|---|
| Cursor | | |
| Claude | | |
| 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/
→ OpenClawopenclaw/
输出
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. 执行分发
对每个选中的平台:
- 若平台根目录不存在,创建
目录结构{platform_root}/skills/ - 将
中的每个 Skill 文件复制到skill_artifact_path{platform_root}/skills/{network_id}-rules/- 若目标文件已存在,覆盖更新
- 保持源文件名不变
4. 回读校验
对每个平台:
- 确认目标目录下每个 Skill 文件存在且内容非空
- 记录
列表和files_copiedstatus
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