{"id":"479e866c-f6fd-4064-856f-3412b2eb1770","shortId":"ySzkAh","kind":"skill","title":"create-bkn","tagline":">-","description":"# Create BKN\n\nGenerate well-formed BKN directories (Markdown + YAML frontmatter) per v2.0.1.\n\n## Works with kweaver-core\n\n**create-bkn** authors the `.bkn` tree; **kweaver-core** runs `kweaver auth login` and `kweaver bkn push` / `pull` after files exist.\n\n## What is BKN\n\nBKN is Markdown + YAML frontmatter for schema; one file per definition under typed subfolders. Details (sections, required tables, types) live in [references/SPECIFICATION.llm.md](references/SPECIFICATION.llm.md).\n\n## Directory layout\n\n```\n{network_dir}/\n├── SKILL.md\n├── network.bkn\n├── CHECKSUM                 # optional; SDK may generate\n├── object_types/\n├── relation_types/\n├── action_types/\n├── concept_groups/\n└── data/                    # optional CSV instance data\n```\n\n## Workflow\n\n1. **Gather requirements** — objects, relations, actions, optional concept groups\n2. **Read spec** — [references/SPECIFICATION.llm.md](references/SPECIFICATION.llm.md) (format rules, sections, frontmatter types)\n3. **Pick templates** — copy/adapt from [assets/templates/](assets/templates/) (`network_type.bkn.template`, `object_type.bkn.template`, …)\n4. **Create `network.bkn`** — root file; align with Network Overview\n5. **Create `object_types/*.bkn`** — one file per object, `{id}.bkn`\n6. **Create `relation_types/*.bkn`** — one file per relation\n7. **Create `action_types/*.bkn`** — one file per action\n8. **Create `concept_groups/*.bkn`** — optional\n9. **Update `network.bkn`** — list all IDs in Network Overview\n10. **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](#delivered-bkn-root-skillmd))\n11. **Review (MUST)** — cross-check [Validation checklist](#validation-checklist) and [Business rules placement](#business-rules-placement); fix IDs, cross-refs, headings\n12. **Validate (MUST)** — `kweaver bkn validate <dir>` (see [Validation](#validation))\n13. **Import** (optional) — `kweaver bkn push <dir>`\n\n## Import (kweaver CLI)\n\nRequires 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.\n\n- **Platform auth** — If you already have a valid token for the target platform (`kweaver auth status`), **do not** run `kweaver auth login` again. If not authenticated, run `kweaver auth login <platform-url>` first.\n- **BKN validation** — If workflow step 12 (`kweaver 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`.\n\n```bash\nkweaver bkn push <dir> [--branch main] [-bd <business-domain>]\n```\n\n`-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`).\n\nExport: `kweaver bkn pull <kn-id> [<dir>]`. More subcommands: `kweaver bkn --help` (see kweaver-core skill if loaded).\n\n## Validation\n\n`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.\n\n## Per-type reference\n\n| Kind | Spec (section) | Template | Example (k8s) |\n|------|------------------|----------|---------------|\n| Network | `knowledge_network` in spec | [assets/templates/network_type.bkn.template](assets/templates/network_type.bkn.template) | [references/examples/k8s-network/network.bkn](references/examples/k8s-network/network.bkn) |\n| Object | `object_type` | [assets/templates/object_type.bkn.template](assets/templates/object_type.bkn.template) | [references/examples/k8s-network/object_types/pod.bkn](references/examples/k8s-network/object_types/pod.bkn) |\n| Relation | `relation_type` | [assets/templates/relation_type.bkn.template](assets/templates/relation_type.bkn.template) | [references/examples/k8s-network/relation_types/pod_belongs_node.bkn](references/examples/k8s-network/relation_types/pod_belongs_node.bkn) |\n| Action | `action_type` | [assets/templates/action_type.bkn.template](assets/templates/action_type.bkn.template) | [references/examples/k8s-network/action_types/restart_pod.bkn](references/examples/k8s-network/action_types/restart_pod.bkn) |\n| Concept group | `concept_group` | [assets/templates/concept_group.bkn.template](assets/templates/concept_group.bkn.template) | [references/examples/k8s-network/concept_groups/k8s.bkn](references/examples/k8s-network/concept_groups/k8s.bkn) |\n\nFull rules and optional sections: [references/SPECIFICATION.llm.md](references/SPECIFICATION.llm.md).\n\n## Naming conventions\n\n- **ID**: lowercase, digits, underscores; **file**: `{id}.bkn` under the matching folder\n- **Headings**: `#` network title, `##` type block, `###` section, `####` logic property\n- **Frontmatter**: at least `type`, `id`, `name` (see spec for each type)\n\n## Business rules placement\n\nRules must sit in spec-defined places so import persists them. Full wording: [references/SPECIFICATION.llm.md](references/SPECIFICATION.llm.md#输出规则).\n\n- **Network-level** — prose in `network.bkn` right after `# {title}` (before structured sections like `## Network Overview`)\n- **Type-level** — prose in each type file after `## ObjectType:` / `## RelationType:` / … and **before** the first `###`; never in frontmatter\n- **Property-level** — in **Data Properties** table **Description** column\n- **No extra sections** — do not add Markdown outside the standard sections; parsers may drop unparsed content on import\n\n## Validation checklist\n\n- [ ] `network.bkn` at root; frontmatter matches spec\n- [ ] Every `.bkn` has valid YAML frontmatter (`type`, `id`, `name`)\n- [ ] Files live under folders matching `type` (`object_types/`, `relation_types/`, …); filename = `{id}.bkn`\n- [ ] Network Overview lists **all** definition IDs — no missing/extra\n- [ ] Relations/actions reference existing object-type IDs; concept groups list only existing objects\n- [ ] Parameter binding `Source` ∈ `property` | `input` | `const`; YAML blocks (e.g. trigger) parse\n- [ ] Heading hierarchy has no skipped levels\n- [ ] Business rules only in allowed places (see [Business rules placement](#business-rules-placement))\n\n## Output rules\n\n1. Emit raw `.bkn` content — do not wrap the whole file in a fenced `markdown` block\n2. Reuse IDs consistently across relations/actions\n3. IDs: lowercase + underscores; display text Chinese unless asked otherwise\n4. Keep heading order per spec\n\n## Examples\n\n- [references/examples/k8s-network/](references/examples/k8s-network/) — modular sample (objects, relations, actions, concept group)\n\n## Delivered BKN: root SKILL.md\n\nWhen 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](references/examples/k8s-network/SKILL.md).","tags":["create","bkn","kweaver","dip","kweaver-ai","agent-skills","agents","digital-worker","ontology","openclaw"],"capabilities":["skill","source-kweaver-ai","skill-create-bkn","topic-agent-skills","topic-agents","topic-digital-worker","topic-ontology","topic-openclaw"],"categories":["kweaver-dip"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/kweaver-ai/kweaver-dip/create-bkn","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add kweaver-ai/kweaver-dip","source_repo":"https://github.com/kweaver-ai/kweaver-dip","install_from":"skills.sh"}},"qualityScore":"0.508","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 117 github stars · SKILL.md body (7,213 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T06:55:19.918Z","embedding":null,"createdAt":"2026-04-18T22:14:44.378Z","updatedAt":"2026-05-02T06:55:19.918Z","lastSeenAt":"2026-05-02T06:55:19.918Z","tsv":"'/.kweaver':387 '/kweaver-sdk':265,272 '/skill.md':751 '1':95,282,687 '10':176 '11':214 '12':239,324 '13':248 '2':104,703 '22':274 '3':114,709 '4':123,719 '5':132 '6':143 '7':152 '8':161 '9':167 'across':707 'action':85,100,154,160,469,470,732,768 'add':177,590,748 'agent':198,771 'agent-fac':197 'ai':264,271 'align':128 'allow':675 'alongsid':755 'alreadi':292,328 'ask':717 'assets/templates':119,120 'assets/templates/action_type.bkn.template':472,473 'assets/templates/concept_group.bkn.template':480,481 'assets/templates/network_type.bkn.template':451,452 'assets/templates/object_type.bkn.template':458,459 'assets/templates/relation_type.bkn.template':465,466 'auth':34,289,302,308,316 'authent':313 'author':25 'automat':377 'bash':354 'bd':360,361,389 'bind':655 'biz':363 'biz-domain':362 'bkn':3,5,10,24,27,38,46,47,136,142,147,156,165,182,194,206,211,243,252,319,326,342,356,393,398,409,422,430,499,612,632,690,736,776 'block':508,661,702 'branch':358 'build':741 'busi':226,230,375,379,523,671,678,682 'business-rules-plac':229,681 'chang':341 'check':219 'checklist':221,224,604 'checksum':76 'chines':715 'cli':256,260,372 'column':584 'concept':87,102,163,476,478,648,733 'config':385 'consist':706 'const':659 'content':600,691 'convent':492 'copy/adapt':117 'copyfil':280 'core':21,31,403 'count':426 'creat':2,4,23,124,133,144,153,162,193 'create-bkn':1,22,192 'cross':218,236 'cross-check':217 'cross-ref':235 'csv':91 'data':89,93,580 'defin':532 'definit':57,637 'deliv':205,210,735 'delivered-bkn-root-skillmd':209 'deliveri':414 'descript':583 'detail':61 'digit':495 'dir':73,747,750 'directori':11,70,183,332,745 'disabl':281 'display':713 'domain':364,376,380 'drop':598 'e.g':662 'emit':688 'env':381 'everi':611 'exampl':444,725,784 'exist':43,643,652 'export':391 'extra':586 'face':199 'failur':428 'fenc':700 'file':42,55,127,138,149,158,196,343,423,431,497,565,620,697,762 'filenam':630 'first':318,572 'fix':233,429 'folder':185,503,623 'form':9 'format':109 'frontmatt':14,51,112,512,575,608,616 'full':484,538 'g':268 'gather':96 'generat':6,80 'group':88,103,164,477,479,649,734 'guid':200 'head':238,504,665,721 'help':399 'hierarchi':666 'id':141,172,234,493,498,516,618,631,638,647,705,710 'import':249,254,535,602 'index':759 'input':658 'instal':267 'instanc':92 'k8s':445 'keep':720 'kind':440 'knowledg':447,743 'kweaver':20,30,33,37,242,251,255,259,263,270,301,307,315,325,355,378,392,397,402,408 'kweaver-ai':262,269 'kweaver-cor':19,29,401 'layout':71 'least':514 'level':545,560,578,670 'like':555 'list':170,635,650 'live':66,621 'load':406,418 'logic':510 'login':35,309,317 'lowercas':494,711 'maco':279 'main':359 'markdown':12,49,591,701 'match':502,609,624 'may':79,597 'missing/extra':640 'modular':728 'must':216,241,411,527 'name':491,517,619 'network':72,130,174,203,446,448,505,544,556,633,744,746,749 'network-level':543 'network.bkn':75,125,169,187,419,548,605,756 'network_type.bkn.template':121 'never':573 'node.js':273 'npm':266 'object':81,98,134,140,455,456,626,645,653,730,764 'object-typ':644 'object_type.bkn.template':122 'objecttyp':567 'omit':369 'one':54,137,148,157 'option':77,90,101,166,250,366,487,779 'order':722 'otherwis':388,718 'output':685 'outsid':592 'overview':131,175,557,634,758 'paramet':654 'pars':664 'parser':596 'pass':412 'path':763,765,767,769 'per':15,56,139,150,159,437,723 'per-typ':436 'persist':536 'pick':115 'place':533,676 'placement':228,232,525,680,684 'platform':288,300,384 'print':425 'properti':511,577,581,657 'property-level':576 'prose':546,561 'public':390 'pull':40,394 'push':39,253,275,338,353,357 'raw':689 're':434 're-run':433 'read':105 'ref':237 'refer':439,642 'references/examples/k8s-network':726,727 'references/examples/k8s-network/action_types/restart_pod.bkn':474,475 'references/examples/k8s-network/concept_groups/k8s.bkn':482,483 'references/examples/k8s-network/network.bkn':453,454 'references/examples/k8s-network/object_types/pod.bkn':460,461 'references/examples/k8s-network/relation_types/pod_belongs_node.bkn':467,468 'references/examples/k8s-network/skill.md':785,786 'references/specification.llm.md':68,69,107,108,489,490,540,541 'relat':83,99,145,151,462,463,628,731,766 'relations/actions':641,708 'relationtyp':568 'repeat':335 'requir':63,97,257 'resolv':373 'reus':704 'review':215 'right':549,775 'root':126,178,207,212,607,737,754 'rout':772 'rule':110,227,231,485,524,526,672,679,683,686 'run':32,306,314,350,435 'sampl':729 'save':383 'scan':778 'scenario':783 'schema':53 'sdk':78 'section':62,111,442,488,509,554,587,595 'see':204,245,400,518,677 'set':284 'short':757 'sibl':421 'sit':528 'sketch':781 'skill':195,404 'skill-create-bkn' 'skill.md':74,179,208,738 'skillmd':213 'skip':669 'sourc':656 'source-kweaver-ai' 'spec':106,441,450,519,531,610,724 'spec-defin':530 'standard':594 'status':303 'step':323 'structur':553 'subcommand':396 'subfold':60 'succeed':329 'success':424 'tabl':64,582,760 'tar':277 'target':299 'templat':116,443 'text':714 'titl':506,551 'token':296 'tool':287 'topic-agent-skills' 'topic-agents' 'topic-digital-worker' 'topic-ontology' 'topic-openclaw' 'topolog':780 'tree':28 'trigger':663 'type':59,65,82,84,86,113,135,146,155,438,457,464,471,507,515,522,559,564,617,625,627,629,646 'type-level':558 'underscor':496,712 'unless':339,716 'unpars':599 'updat':168 'upload':416 'usag':782 'use':276 'v2.0.1':16 'valid':220,223,240,244,246,247,295,320,327,336,348,351,407,410,603,614 'validation-checklist':222 'well':8 'well-form':7 'whole':696 'without':777 'word':539 'work':17 'workflow':94,322 'wrap':694 'yaml':13,50,615,660 'yet':349 '输出规则':542","prices":[{"id":"8d558308-9fdb-4d45-9d22-99839e543096","listingId":"479e866c-f6fd-4064-856f-3412b2eb1770","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"kweaver-ai","category":"kweaver-dip","install_from":"skills.sh"},"createdAt":"2026-04-18T22:14:44.378Z"}],"sources":[{"listingId":"479e866c-f6fd-4064-856f-3412b2eb1770","source":"github","sourceId":"kweaver-ai/kweaver-dip/create-bkn","sourceUrl":"https://github.com/kweaver-ai/kweaver-dip/tree/main/skills/create-bkn","isPrimary":false,"firstSeenAt":"2026-04-18T22:14:44.378Z","lastSeenAt":"2026-05-02T06:55:19.918Z"}],"details":{"listingId":"479e866c-f6fd-4064-856f-3412b2eb1770","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"kweaver-ai","slug":"create-bkn","github":{"repo":"kweaver-ai/kweaver-dip","stars":117,"topics":["agent-skills","agents","ai","business-knowledge-network","digital-worker","ontology","openclaw"],"license":"apache-2.0","html_url":"https://github.com/kweaver-ai/kweaver-dip","pushed_at":"2026-05-01T05:38:33Z","description":"KWeaver DIP is an enterprise-level digital employee platform, built on KWeaver Core. It provides an AI-native environment for developing and managing digital employees on business knowledge networks—for enterprise intelligence that is understandable, executable, and governable.","skill_md_sha":"78b0ec4d68c966f9e2412174d7c4f4aadf5bf2b3","skill_md_path":"skills/create-bkn/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/kweaver-ai/kweaver-dip/tree/main/skills/create-bkn"},"layout":"multi","source":"github","category":"kweaver-dip","frontmatter":{"name":"create-bkn","description":">-"},"skills_sh_url":"https://skills.sh/kweaver-ai/kweaver-dip/create-bkn"},"updatedAt":"2026-05-02T06:55:19.918Z"}}