Communitygithub.com

scaccogatto/okf-skills

OKFツールキット for Claude Code — Open Knowledge Formatバンドルの作成、保守、検証、視覚化を行います。Claude Codeプラグイン + skills.sh。

okf-skills とは?

このスキルは、Claude Codeエージェントに対して、Open Knowledge Format(OKF)仕様に準拠した知識バンドルを作成、保守、消費するための明確なルールと手順を提供します。OKFは、YAMLフロントマターを持つMarkdownファイルのディレクトリとして知識を表現する、最小限の設計が特徴です。スキルは「生成(produce)」「保守(maintain)」「消費(consume)」の3つのモードで構成され、バンドルの検証には専用のチェッカースクリプトを使用します。開発者はこのスキルを使用することで、AIエージェントが仕様に従って一貫性のある知識ベースを構築・更新できるようになります。

対応✓Claude Code~Codex CLI~Cursor
npx skills add scaccogatto/okf-skills

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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)— バンドルを作成または拡張する

  1. reference/SPEC.mdを読みます。
  2. ソースを選択します:コード(ソース、README、ドキュメント文字列、設定から概念を導出)、 ドキュメント/ウィキ(ページを概念に蒸留し、# 引用の下にオリジナルへのリンクを貼る)、 手動(決定事項、プレイブック、メトリクス)。
  3. ドメインごとにディレクトリレイアウトを選択します(例:services/、datasets/、 decisions/)。1ファイル1概念。
  4. templates/concept.mdから各概念を記述します:説明的なtypeを設定し、 推奨フィールドを埋め、関連概念を相互リンクします。
  5. ディレクトリごとにindex.mdを追加/更新します(ルートインデックスには okf_version: "0.1"を設定)。日付を付けてlog.mdにエントリを追加します。
  6. 検証します(以下参照)。終了前にすべてのエラーを修正します。

保守(maintain)— バンドルを現実と同期させる

  1. 変更の影響を受ける概念を特定します(resource、パス、またはトピックで検索)。 この簿記作業はまさにエージェントが得意とするところです — 影響を受けるすべてのファイルに 一度に触れます。
  2. 本文とtimestampを更新します。相互リンクを修正または追加します。新しい資産には 新しい概念を作成します。削除された資産は、黙ってコンテキストを削除するのではなく、 (**非推奨**)とマークします。
  3. 関連するindex.mdファイルを更新し、日付を付けたlog.mdエントリを追加して 変更内容を記述します。
  4. 検証します。

消費(consume)— バンドルをコンテキストとして使用する

  1. まずバンドルルートのindex.mdを読んで段階的に情報を開示し、その後、タスクに関連する 概念のみにリンクをたどります。
  2. リンク切れは、エラーではなくまだ書かれていない知識として扱います。
  3. 作業中に永続的な知識を学んだ場合は、保守モードに切り替えて書き戻します。

検証(完了前に必ず行うこと)

決して目視で準拠性を確認しないでください — 決定論的チェッカーを実行します。 付属の**validate**スキル(/okf:validate <bundle-dir> --strict)を呼び出します。 このスキルにはチェッカーが同梱されています。そのスキルがインストールされていない場合は、 直接実行します:

uv run "${CLAUDE_SKILL_DIR}/../validate/scripts/okf_validate.py" <bundle-dir> --strict

すべてのERROR(厳格な§9違反)を解決します。警告はソフトです。安価に修正できる場合は 修正しますが、ブロックにはなりません。

関連スキル