create-bkn について
create-bknは、MarkdownとYAML frontmatterを使ってBKN v2.0.1準拠のディレクトリと定義ファイルを生成するスキルです。ナレッジネットワークを作成するエージェント向けに、型別ファイルやテンプレート、検証手順を提供し、kweaver-coreでの検証・インポートにもつなげられます。
主な機能
- 01定義型ごとに整理したBKNディレクトリの作成
- 02MarkdownとYAML frontmatterの使用
- 03型別テンプレートと形式ルールの提供
- 04ID、参照、ビジネスルール配置の確認
- 05kweaver CLIによる検証またはインポート
活用シーン
- 01ナレッジネットワーク用のBKN定義ファイル作成
- 02オブジェクト、関係、アクション別の定義
- 03ディレクトリ構成とファイル間参照の確認
- 04BKNを検証してプラットフォームへプッシュ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kweaver-ai/ kweaver-sdk --skill create-bknインストール後、Claude Code で/create-bknを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/templates/action_type.bkn.templateconcept_group.bkn.templatenetwork_type.bkn.templateobject_type.bkn.templaterelation_type.bkn.templatereferences/SPECIFICATION.llm.mdreferences/examples/k8s-network/CHECKSUMnetwork.bknreferences/examples/k8s-network/action_types/cordon_node.bknrestart_pod.bknreferences/examples/k8s-network/concept_groups/k8s.bknreferences/examples/k8s-network/object_types/node.bknpod.bknservice.bknreferences/examples/k8s-network/relation_types/pod_belongs_node.bknservice_routes_pod.bkn詳細
BKN の作成
v2.0.1 に準拠した、正しい形式の BKN ディレクトリ(Markdown + YAML フロントマター)を生成します。
kweaver-core との連携
create-bkn は .bkn ツリーを作成します。ファイルの作成後、kweaver-core が kweaver auth login と kweaver bkn push / pull を実行します。
BKN とは
BKN はスキーマを記述する Markdown + YAML フロントマターです。型ごとのサブフォルダーに定義ごとに 1 ファイルを配置します。詳細(セクション、必須テーブル、型)については、references/SPECIFICATION.llm.md を参照してください。
ディレクトリ構成
{network_dir}/
├── SKILL.md
├── network.bkn
├── CHECKSUM # optional; SDK may generate
├── object_types/
├── relation_types/
├── action_types/
├── concept_groups/
└── data/ # optional CSV instance data
ワークフロー
- 要件を収集する — オブジェクト、リレーション、アクション、任意のコンセプトグループ
- 仕様を読む — references/SPECIFICATION.llm.md(形式ルール、セクション、フロントマターの型)
- テンプレートを選ぶ — assets/templates/(
network_type.bkn.template、object_type.bkn.template、…)からコピーして調整します network.bknを作成する — ルートファイルです。Network Overview と整合させますobject_types/*.bknを作成する — オブジェクトごとに 1 ファイル、{id}.bknrelation_types/*.bknを作成する — リレーションごとに 1 ファイルaction_types/*.bknを作成する — アクションごとに 1 ファイルconcept_groups/*.bknを作成する — 任意network.bknを更新する — Network Overview にすべての ID を記載します- BKN ディレクトリのルートに
SKILL.mdを追加する —network.bknと同じフォルダーに配置します(これは create-bkn のスキルファイルではありません)。そのネットワーク向けのエージェント用ガイドです(納品する BKN:ルートの SKILL.md を参照) - レビューする(必須) — 検証チェックリスト と ビジネスルールの配置を照合し、ID、相互参照、見出しを修正します
- 検証する(必須) —
kweaver bkn validate <dir>(検証を参照) - インポートする(任意)—
kweaver bkn push <dir>
インポート(kweaver CLI)
@kweaver-ai/kweaver-sdk の kweaver CLI が必要です(npm install -g @kweaver-ai/kweaver-sdk、Node.js 22+)。push は tar を使用します。macOS では、ツールによって COPYFILE_DISABLE=1 が設定されます。
- プラットフォーム認証 — 対象プラットフォームの有効なトークンをすでに持っている場合(
kweaver auth status)、kweaver auth loginを再実行しないでください。未認証の場合は、最初にkweaver auth login <platform-url>を実行してください。 - BKN の検証 — ワークフローの手順 12(
kweaver bkn validate <dir>)でこのディレクトリの検証がすでに成功している場合、.bknファイルを変更していない限り、pushの前に検証を繰り返す必要はありません。まだ検証していない場合は、pushの前にvalidateを実行してください。
kweaver bkn push <dir> [--branch main] [-bd <business-domain>]
-bd / --biz-domain は任意です。省略した場合、CLI はビジネスドメインを自動的に解決します(環境変数 KWEAVER_BUSINESS_DOMAIN、次に ~/.kweaver に保存されたプラットフォーム設定、それ以外の場合は bd_public)。
エクスポート:kweaver bkn pull <kn-id> [<dir>]。その他のサブコマンド:kweaver bkn --help(読み込み済みの場合は kweaver-core のスキルを参照)。
検証
kweaver bkn validate <dir> — 納品またはアップロードの前に成功させる必要があります。network.bkn と同じ階層の .bkn ファイルを読み込みます。成功すると件数が表示されます。失敗した場合は .bkn ファイルを修正し、再実行してください。
タイプ別リファレンス
| 種類 | 仕様(セクション) | テンプレート | 例(k8s) |
|---|---|---|---|
| ネットワーク | spec の knowledge_network | assets/templates/network_type.bkn.template | references/examples/k8s-network/network.bkn |
| オブジェクト | object_type | assets/templates/object_type.bkn.template | references/examples/k8s-network/object_types/pod.bkn |
| リレーション | relation_type | assets/templates/relation_type.bkn.template | references/examples/k8s-network/relation_types/pod_belongs_node.bkn |
| アクション | action_type | 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 |
すべてのルールと任意のセクションについては、references/SPECIFICATION.llm.md を参照してください。
命名規則
- ID:小文字、数字、アンダースコアを使用します。ファイル:該当するフォルダー内に
{id}.bknとして配置します - 見出し:
#はネットワークタイトル、##はタイプブロック、###はセクション、####はロジックプロパティに使用します - フロントマター:少なくとも
type、id、nameが必要です(各タイプについては spec を参照)
ビジネスルールの配置
ルールをインポート時に保持するには、仕様で定められた場所に記述する必要があります。全文については、references/SPECIFICATION.llm.md を参照してください。
- ネットワークレベル —
network.bknの# {title}の直後に文章で記述します(## Network Overviewなどの構造化セクションより前) - タイプレベル — 各タイプのファイルで、
## ObjectType:/## RelationType:/ … の後、最初の###より前に文章で記述します。フロントマターには記述しないでください - プロパティレベル — Data Properties テーブルの Description 列に記述します
- 追加セクション禁止 — 標準セクション以外の Markdown を追加しないでください。パーサーはインポート時に解析できないコンテンツを削除する場合があります
検証チェックリスト
- ルートに
network.bknがあり、フロントマターが仕様に準拠している - すべての
.bknに有効な YAML フロントマター(type、id、name)がある - ファイルが
typeに対応するフォルダー(object_types/、relation_types/、…)に配置され、ファイル名が{id}.bknになっている - Network Overview にすべての定義 ID が記載されている(不足や余分な ID がない)
- リレーション/アクションが既存のオブジェクトタイプ ID を参照し、概念グループには既存のオブジェクトのみが列挙されている
- パラメーターのバインディング
Sourceがproperty|input|constのいずれかである。YAML ブロック(例:trigger)が解析できる - 見出し階層に飛び越しがない
- ビジネスルールが許可された場所にのみ記述されている(ビジネスルールの配置 を参照)
出力ルール
- 生の
.bknコンテンツを出力します。ファイル全体をフェンス付きのmarkdownブロックで囲まないでください - リレーション/アクション間で ID を一貫して再利用します
- ID:小文字とアンダースコアを使用します。表示テキストは、特に指定がない限り中国語にします
- 仕様に従って見出しの順序を維持します
例
- references/examples/k8s-network/ — モジュール形式のサンプル(オブジェクト、リレーション、アクション、概念グループ)
提供する BKN:ルートの SKILL.md
ナレッジネットワークディレクトリ {network_dir}/ を作成するときは、ルート(network.bkn と同じ階層)に {network_dir}/SKILL.md を追加してください。概要とファイルパス付きのインデックステーブル(object | path | relation | path | action | path)を記載すると、エージェントはファイルをスキャンせずに適切な .bkn を選択できます。トポロジーの概略図や使用シナリオは任意です。例:references/examples/k8s-network/SKILL.md。