Kweaver-dip create-bkn
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/create-bkn" ~/.claude/skills/kweaver-ai-kweaver-dip-create-bkn && rm -rf "$T"
manifest:
skills/create-bkn/SKILL.mdsource content
Create BKN
Generate well-formed BKN directories (Markdown + YAML frontmatter) per v2.0.1.
Works with kweaver-core
create-bkn authors the
.bkn tree; kweaver-core runs kweaver auth login and kweaver bkn push / pull after files exist.
What is BKN
BKN is Markdown + YAML frontmatter for schema; one file per definition under typed subfolders. Details (sections, required tables, types) live in references/SPECIFICATION.llm.md.
Directory layout
{network_dir}/ ├── SKILL.md ├── network.bkn ├── CHECKSUM # optional; SDK may generate ├── object_types/ ├── relation_types/ ├── action_types/ ├── concept_groups/ └── data/ # optional CSV instance data
Workflow
- Gather requirements — objects, relations, actions, optional concept groups
- Read spec — references/SPECIFICATION.llm.md (format rules, sections, frontmatter types)
- Pick templates — copy/adapt from assets/templates/ (
,network_type.bkn.template
, …)object_type.bkn.template - Create
— root file; align with Network Overviewnetwork.bkn - Create
— one file per object,object_types/*.bkn{id}.bkn - Create
— one file per relationrelation_types/*.bkn - Create
— one file per actionaction_types/*.bkn - Create
— optionalconcept_groups/*.bkn - Update
— list all IDs in Network Overviewnetwork.bkn - Add root
in the BKN directory — same folder asSKILL.md
(this is not the create-bkn skill file); agent-facing guide for that network (see Delivered BKN: root SKILL.md)network.bkn - Review (MUST) — cross-check Validation checklist and Business rules placement; fix IDs, cross-refs, headings
- Validate (MUST) —
(see Validation)kweaver bkn validate <dir> - Import (optional) —
kweaver bkn push <dir>
Import (kweaver CLI)
Requires the
kweaver CLI from @kweaver-ai/kweaver-sdk (npm install -g @kweaver-ai/kweaver-sdk; Node.js 22+). push uses tar; on macOS COPYFILE_DISABLE=1 is set by the tool.
- Platform auth — If you already have a valid token for the target platform (
), do not runkweaver auth status
again. If not authenticated, runkweaver auth login
first.kweaver auth login <platform-url> - BKN validation — If workflow step 12 (
) already succeeded for this directory, do not repeat validate beforekweaver bkn validate <dir>
unless you changedpush
files. If you have not validated yet, run.bkn
beforevalidate
.push
kweaver bkn push <dir> [--branch main] [-bd <business-domain>]
-bd / --biz-domain is optional. If you omit it, the CLI resolves the business domain automatically (KWEAVER_BUSINESS_DOMAIN env, then saved platform config in ~/.kweaver, otherwise bd_public).
Export:
kweaver bkn pull <kn-id> [<dir>]. More subcommands: kweaver bkn --help (see kweaver-core skill if loaded).
Validation
kweaver bkn validate <dir> — must pass before delivery or upload. It loads network.bkn and sibling .bkn files. Success prints counts; on failure fix .bkn files and re-run.
Per-type reference
| Kind | Spec (section) | Template | Example (k8s) |
|---|---|---|---|
| Network | in spec | assets/templates/network_type.bkn.template | references/examples/k8s-network/network.bkn |
| Object | | assets/templates/object_type.bkn.template | references/examples/k8s-network/object_types/pod.bkn |
| Relation | | assets/templates/relation_type.bkn.template | references/examples/k8s-network/relation_types/pod_belongs_node.bkn |
| Action | | assets/templates/action_type.bkn.template | references/examples/k8s-network/action_types/restart_pod.bkn |
| Concept group | | assets/templates/concept_group.bkn.template | references/examples/k8s-network/concept_groups/k8s.bkn |
Full rules and optional sections: references/SPECIFICATION.llm.md.
Naming conventions
- ID: lowercase, digits, underscores; file:
under the matching folder{id}.bkn - Headings:
network title,#
type block,##
section,###
logic property#### - Frontmatter: at least
,type
,id
(see spec for each type)name
Business rules placement
Rules must sit in spec-defined places so import persists them. Full wording: references/SPECIFICATION.llm.md.
- Network-level — prose in
right afternetwork.bkn
(before structured sections like# {title}
)## Network Overview - Type-level — prose in each type file after
/## ObjectType:
/ … and before the first## RelationType:
; never in frontmatter### - Property-level — in Data Properties table Description column
- No extra sections — do not add Markdown outside the standard sections; parsers may drop unparsed content on import
Validation checklist
-
at root; frontmatter matches specnetwork.bkn - Every
has valid YAML frontmatter (.bkn
,type
,id
)name - Files live under folders matching
(type
,object_types/
, …); filename =relation_types/{id}.bkn - Network Overview lists all definition IDs — no missing/extra
- Relations/actions reference existing object-type IDs; concept groups list only existing objects
- Parameter binding
∈Source
|property
|input
; YAML blocks (e.g. trigger) parseconst - Heading hierarchy has no skipped levels
- Business rules only in allowed places (see Business rules placement)
Output rules
- Emit raw
content — do not wrap the whole file in a fenced.bkn
blockmarkdown - Reuse IDs consistently across relations/actions
- IDs: lowercase + underscores; display text Chinese unless asked otherwise
- Keep heading order per spec
Examples
- references/examples/k8s-network/ — modular sample (objects, relations, actions, concept group)
Delivered BKN: root SKILL.md
When you build a knowledge network directory
{network_dir}/, add {network_dir}/SKILL.md at the root (alongside network.bkn). Short overview + index tables with file paths (object | path | relation | path | action | path) so agents route to the right .bkn without scanning. Optional: topology sketch, usage scenarios. Example: references/examples/k8s-network/SKILL.md.