knowledge について
プロジェクトの知識を、作業項目、アーキテクチャ上の決定、エージェントメモリとは区別された、型付きで引用可能なレコードとして扱うスキルです。`doctrine` コマンドラインで分類や状態、関連を管理します。
主な機能
- 017種類の知識レコードを分類
- 02コマンドラインでレコードを操作
- 03レコードと関連する作業をリンク
- 04知識、バックログ、メモリを区別
活用シーン
- 01未検証の前提を仮定として記録
- 02範囲の限られた運用上の選択を記録
- 03質問や検証可能な主張を追跡
- 04証拠や外部制約を引用
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davidlee/ doctrine --skill knowledgeインストール後、Claude Code で/knowledgeを入力して読み込まれたか確認します。
詳細
ナレッジ
ナレッジレコードは、プロジェクトが信じていること、選択したこと、疑問に思っていること、観察したこと、または従う義務のあることを表す、型付きで引用可能なエンティティであり、認識論的な拠り所です。 レコードは作業の形を整えるものであり、作業項目そのものになることはありません。
4つの拠り所を1行で表すと、作業の意図 → バックログ、認識論的な状態 → ナレッジレコード、アーキテクチャ上の決定 → ADR、エージェントへのガイダンス → メモリです。lib:reference/using-doctrine.md § Which home for which record を参照してください。
正確なフラグと各種の状態を示す語彙については、CLI が信頼できる情報源です。doctrine knowledge --help を参照してください。
種類の選び方
| 表現の形 | 種類 |
|---|---|
| 「X であるかのように進めている」(未検証の前提) | assumption (ASM) |
| 「Y ではなく X を選んだ」(範囲が限定された/運用上の判断) | decision (DEC) |
| 「未解決 — X?」(回答が必要) | question (QUE) |
| 「X に従う義務がある」(外部から課された制限) | constraint (CON) |
| 「X を観察した」(引用可能な観察) | evidence (EVD) |
| 「検証可能な主張 X」(証拠待ち) | hypothesis (HYP) |
| 「安定したメンタルモデル/用語 X」 | concept (CPT) |
DEC と ADR のどちらを選ぶべきですか? プロジェクト全体に関わり、アーキテクチャに影響する場合 → doctrine adr new。範囲が限定されている、または運用上の判断の場合 → DEC。
動詞
動詞の一覧とフラグについては、doctrine knowledge --help(および doctrine link --help / doctrine supersede --help)を参照してください。レコードが形を整える作業には shapes を使ってリンクし、そのレコードが引き起こした作業には spawns を使います。証拠に関するエッジには supports または disputes を使います。
別の拠り所ではありませんか?
- 作業の意図(バグ/改善/雑務/リスク/アイデア) →
/backlog。 - 再利用可能なエージェント向けガイダンス、手順、または注意点 →
/record-memory。
判別のポイント:ナレッジレコードは関係グラフ内の、引用可能な認識論的エンティティです。ほかのエンティティと関連付けたり、ゲート条件にしたり、後継レコードで置き換えたりできます。メモリは、エージェント向けの検索レイヤーのガイダンスです。同じ区別は、CPT とメモリの concept にも当てはまります。CPT はほかのエンティティが引用する、安定したプロジェクトの概念に名前を付けます。メモリは、考え方や作業の進め方を説明します。
ゲート — 関連付けはゲートではありません
ナレッジレコードのゲート機構(needs、ブロック解除への移行)については、lib:reference/using-doctrine.md § Which home for which record を参照してください。
ルール
doctrine knowledge show --helpを参照してください。読み取りと状態遷移では、ID の接頭辞から種類が判別されます。- Capture は種類ごとのデフォルト状態(held、proposed、open、active、…)を設定します。
- レコードの TOML を直接編集しないでください(
lib:reference/using-doctrine.md§ storage tiers)。動詞を使ってください。本文(*.md)は手動で編集します。