llm-context-packlisted
Install: claude install-skill Forest-Project-Lab/doctrine
# llm-context-pack
## 役割
タスク別の最小の文脈を集める。タスクの要求を満たす最少の文書だけを集め、`llm_context: never` の文書(RESEARCH・ARCHIVE)をすべて除外し、各事実の出所(出所となる文書)を示して、語彙の近い文書を取り違えないようにする。主な要求は R5。
決定論の処理は `${CLAUDE_PLUGIN_ROOT}/scripts/collect-context.py` に委ねる。この技能は、被覆が曖昧なときに最少集合をどう選ぶかの判断を持つ。
## 何に頼るか
- `${CLAUDE_PLUGIN_ROOT}/scripts/collect-context.py` — `llm_context` で絞り、出所つきの最少被覆集合を返す。
- §3.2 の `llm_context` 既定(always/task/never)と、`${CLAUDE_PLUGIN_ROOT}/scripts/dep-graph.py` 経由の `depends_on` グラフを読み、被覆を計算する。
## 手順
1. タスクの記述を取り、触れる要求・仕様を特定する。
2. `collect-context.py` を走らせる。`llm_context: never` の文書(RESEARCH・ARCHIVE。本文は LLM へ渡らない。R5)をすべて除外する。`task` と関係する `always` を候補に入れる。
3. 最少被覆集合(§3.9)。タスクの要求を被覆する最少の文書を入れる。関係しない文書を足さな���。縮める順序(§3.9)は、まず取りこぼしを減らし、次に重複を除く。
4. 出所の表示(§3.9)。各事実にその出所となる文書の id を付け、語彙の近い文書から来た事実を混ぜない。
5. 位置の配慮(§3.9)。最も重要な文書を集合の冒頭と末尾の両方に置く。端は注意を引きやすい。
6. 要点の復唱(§3.9)。長い本文の前に、モデルへ要点を先に書かせ、長い文脈での劣化に抗う。
7. 廃止本文は決して入れない(R5)。関係を超えて入れない。入力が長いこと自体が成功率を下げる(§7)。
8. 刻印(ADR-073)。組んだ文脈から体系外の .md��報告・要約・引き継ぎメモ)を生成して保存するときは、末尾に刻印の一行 `<!-- doctrine:view src=<リポジトリ名> as-of=<版> date=<今日> refs=<集合に入れた文書 id,…> -->` を打つ(書式の正本は audit の ICD-005)。出所は書いた瞬間にしか安く採れない。生成物が後日どこへ移っても、刻印だけが参照時点を運ぶ。
## 常時集合の上限との関係
この��能は**タスク**の文脈を組む。常時集合(SessionStart の契約)の上限と縮小は `inject-contract.py`(Hook)が持ち、上限を超えたら `docs-curate` を促す。この技能は常時集合の結果を受け取るが、上限は持たない。
## 参照
詳細は `references/` に分ける。
- `references/min-set.md` — `dep-graph.py` 経由の被覆計算、取りこぼし優先・重複除去の縮小順序。
- `references/provenance.md` — 出所の表示の形式。
- `references/long-context.md` — §3.9 の