Open Knowledge Format (OKF) スキル
OKFは、YAMLフロントマターを持つMarkdownファイルのディレクトリとして知識を表現します。 スキーマレジストリ、ランタイム、SDKはなく、最小限の設計です。あなたの仕事は、 あなたの記憶ではなく、仕様に準拠したOKFバンドルを生成、保守、消費することです。
重要な作業の前には、必ず正規の仕様を読んでください: reference/SPEC.md。これはOKF v0.1仕様の原文であり、 以下のすべてのルールの信頼できる情報源です。
唯一の厳格なルール
バンドルが準拠している(§9)ための条件:すべての非予約.mdファイルがパース可能な
YAMLフロントマトリックブロックを持ち、かつそのブロックすべてに**空でないtype**フィールドが
あること。その他はすべてソフトなガイダンスです。コンシューマは、オプションフィールドの欠落、
未知のタイプ、リンク切れを許容しなければなりません — それらを理由にバンドルを拒否してはいけません。
適用する慣習
- 1つの概念 = 1つのファイル。 ファイルパス(
.mdを除く)が概念IDです。 - フロントマター:
typeは必須です。title、description、tags、timestamp(ISO 8601)は消費に役立つ場合に追加します。resource(正規のURI)は、 実際の資産に紐づく概念にのみ追加し、抽象的な概念では省略します。 - 本文: 構造的なMarkdown(見出し、テーブル、リスト、フェンスコード)を推奨します。
慣例的な見出し:
# スキーマ、# 例、# 引用。 - 相互リンク: 標準的なMarkdownリンク。バンドル相対形式(
/services/auth-api.md)を推奨します。 リンクは関係性を表明します。その種類はリンク内ではなく、周囲の散文で表現します。 - 予約ファイル:
index.md(ディレクトリ一覧、フロントマターなし — ただし、バンドルルートの indexはokf_versionのみ保持可能)とlog.md(ISO日付の変更履歴、最新が先)。これらの名前を 概念に使用してはいけません。
コピー用テンプレート:concept、index、 log。
デフォルトのバンドル場所
プロジェクトがすでに別の場所を使用していない限り、リポジトリルートの.okf/を使用します。
それが記述するコードと一緒にコミットします — 知識をコードとして扱います。
モード
生成(produce)— バンドルを作成または拡張する
- reference/SPEC.mdを読みます。
- ソースを選択します:コード(ソース、README、ドキュメント文字列、設定から概念を導出)、
ドキュメント/ウィキ(ページを概念に蒸留し、
# 引用の下にオリジナルへのリンクを貼る)、 手動(決定事項、プレイブック、メトリクス)。 - ドメインごとにディレクトリレイアウトを選択します(例:
services/、datasets/、decisions/)。1ファイル1概念。 - templates/concept.mdから各概念を記述します:説明的な
typeを設定し、 推奨フィールドを埋め、関連概念を相互リンクします。 - ディレクトリごとに
index.mdを追加/更新します(ルートインデックスにはokf_version: "0.1"を設定)。日付を付けてlog.mdにエントリを追加します。 - 検証します(以下参照)。終了前にすべてのエラーを修正します。
保守(maintain)— バンドルを現実と同期させる
- 変更の影響を受ける概念を特定します(
resource、パス、またはトピックで検索)。 この簿記作業はまさにエージェントが得意とするところです — 影響を受けるすべてのファイルに 一度に触れます。 - 本文と
timestampを更新します。相互リンクを修正または追加します。新しい資産には 新しい概念を作成します。削除された資産は、黙ってコンテキストを削除するのではなく、 (**非推奨**)とマークします。 - 関連する
index.mdファイルを更新し、日付を付けたlog.mdエントリを追加して 変更内容を記述します。 - 検証します。
消費(consume)— バンドルをコンテキストとして使用する
- まずバンドルルートの
index.mdを読んで段階的に情報を開示し、その後、タスクに関連する 概念のみにリンクをたどります。 - リンク切れは、エラーではなくまだ書かれていない知識として扱います。
- 作業中に永続的な知識を学んだ場合は、保守モードに切り替えて書き戻します。
検証(完了前に必ず行うこと)
決して目視で準拠性を確認しないでください — 決定論的チェッカーを実行します。
付属の**validate**スキル(/okf:validate <bundle-dir> --strict)を呼び出します。
このスキルにはチェッカーが同梱されています。そのスキルがインストールされていない場合は、
直接実行します:
uv run "${CLAUDE_SKILL_DIR}/../validate/scripts/okf_validate.py" <bundle-dir> --strict
すべてのERROR(厳格な§9違反)を解決します。警告はソフトです。安価に修正できる場合は
修正しますが、ブロックにはなりません。