openbkn-ai/bkn-sdk

create-bkn

- Guides creation of BKN (Business Knowledge Network) definition files following v2.0.1 spec.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/openbkn-ai/bkn-sdk --skill create-bkn

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

Create BKN

Generate well-formed BKN directories (Markdown + YAML frontmatter) per v2.0.1.

Works with the openbkn skill

create-bkn authors the .bkn tree; the openbkn skill runs openbkn auth login and openbkn 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 sample data; not read by `openbkn bkn validate`/`push`

Workflow

  1. Gather requirements — objects, relations, actions, optional concept groups
  2. Read spec — references/SPECIFICATION.llm.md (format rules, sections, frontmatter types)
  3. Pick templates — copy/adapt from assets/templates/ (network_type.bkn.template, object_type.bkn.template, …)
  4. Create `network.bkn` — root file; align with Network Overview
  5. Create `object_types/.bkn** — one file per object, {id}.bkn`
  6. Create `relation_types/.bkn`** — one file per relation
  7. Create `action_types/.bkn`** — one file per action
  8. Create `concept_groups/.bkn`** — optional
  9. Update `network.bkn` — list all IDs in Network Overview
  10. Add root `SKILL.md` in the BKN directory — same folder as network.bkn (this is not the create-bkn skill file); agent-facing guide for that network (see Delivered BKN: root SKILL.md)
  11. Review (MUST) — cross-check Validation checklist and Business rules placement; fix IDs, cross-refs, headings
  12. Validate (MUST) — openbkn bkn validate <dir> (see Validation)
  13. Import (optional) — openbkn bkn push <dir>

Import (openbkn CLI)

Requires the openbkn CLI from @openbkn/bkn-sdk (npm install -g @openbkn/bkn-sdk; Node.js 22.19.0+). push uses tar; on macOS COPYFILE_DISABLE=1 is set by the tool.

  • Platform auth — Don't pre-check with openbkn auth status; run openbkn bkn push directly (validate is offline and needs no login). Only when it fails with 401 / not authorized, run openbkn auth login <platform-url> and retry.
  • BKN validation — If workflow step 12 (openbkn bkn validate <dir>) already succeeded for this directory, do not repeat validate before push unless you changed .bkn files. If you have not validated yet, run validate before push.
bash
openbkn bkn push <dir> [--branch main]

Export: openbkn bkn pull <kn-id> [<dir>]. More subcommands: openbkn bkn --help (see the openbkn skill if loaded).

Validation

openbkn 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.

A capabilities: section in network.bkn never fails validation or push. Read capabilities.skipped and the warnings instead: an entry listed there binds on no platform, and a malformed section is ignored whole. After push, the answer's capabilities.skipped names what this platform could not resolve.

Per-type reference

Full rules and optional sections: references/SPECIFICATION.llm.md.

Naming conventions

  • ID: lowercase, digits, underscores; file: {id}.bkn under the matching folder
  • Headings: # network title, ## type block, ### section, #### logic property
  • Frontmatter: at least type, id, name (see spec for each type)

Business rules placement

Rules must sit in spec-defined places so import persists them. Full wording: references/SPECIFICATION.llm.md.

  • Network-level — prose in network.bkn right after # {title} (before structured sections like ## Network Overview)
  • Type-level — prose in each type file after ## ObjectType: / ## RelationType: / … and before the first ###; 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

  • [ ] network.bkn at root; frontmatter matches spec
  • [ ] Every .bkn has valid YAML frontmatter (type, id, name)
  • [ ] Files live under folders matching type (object_types/, relation_types/, …); filename = {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 | const; YAML blocks (e.g. trigger) parse
  • [ ] Heading hierarchy has no skipped levels
  • [ ] Business rules only in allowed places (see Business rules placement)

Output rules

  1. Emit raw .bkn content — do not wrap the whole file in a fenced markdown block
  2. Reuse IDs consistently across relations/actions
  3. IDs: lowercase + underscores; display text Chinese unless asked otherwise
  4. Keep heading order per spec

Examples

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.

タスクに関連する項目