ingest について
ingestは、`raw/`内のファイルを構造化された相互リンク付きのwikiページにまとめるワークフロースキルです。元ファイルを変更せず、重複や無関係なページを避けて既存内容を必要な範囲で更新します。
主な機能
- 01元ファイルを変更せずに読み取り
- 02事実・決定・概念の抽出
- 03wikiページの作成と局所的な更新
- 04wikilinks・インデックス・ログの管理
- 05出力レポートの下書き
活用シーン
- 01新しい仕様をプロジェクトwikiに反映
- 02ソース資料に基づく既存ページの更新
- 03ソースとwiki変更内容の記録
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ rheinmir/ setup --skill ingestインストール後、Claude Code で/ingestを入力して読み込まれたか確認します。
詳細
スキル:取り込み
WHAT
目的とコンテキスト
- 目的:
raw/にある新しいファイルを処理し、知識を wiki に集約します。1 回の取り込みで 10~15 個の wiki ファイルに触れます。 - トリガー(呼び出すタイミング):
raw/に新しいファイルが現れたときに自動的に呼び出します。 - 対象外:
raw/内のファイルは変更しません。ソースが実際に紹介していないもののページは作成しません。ソースの内容に基づくコードの記述や実装は行いません(それは/propose→/planの役割です)。
メンタルモデル
raw/<file> (不変) → takeaways (facts · decisions · entities · concepts) → docs-impact-plan → concept/entity ページ (canonical home) + source ページ → wikilinks → index + log → draft output report
入力と出力の契約
| フィールド | 必須? | 意味 | |
|---|---|---|---|
| In | raw/ 内のファイルパス | はい | ソース全体を読み取ります。読み取り専用です |
| Out | wiki/concepts/ · wiki/entities/ のページ | ソースに応じて | OKF のフロントマターと ## Origin を含めて、新規作成または必要な箇所のみ更新します |
| Out | wiki/sources/<...>.md のページ | はい | ソースを要約し、raw/ へのリンクを記載します |
| Out | wiki/index.md + wiki/log.md | はい | 作成・編集したファイルごとに index に 1 行追加します。ログは ## YYYY-MM-DD — ingest — <filename> の形式です |
| Out | wiki/sources/draft/DDMMYY-<ten>.md | はい(artifact が 0 件の場合を除く) | 出力レポート |
ルールと機能
- RULE-01 (MUST): OKF v0.1 (R9): すべての wiki ページは、空でない
type(例:concept、entity、source)と、任意のtitle/tags/timestamp/resourceを含む YAML フロントマターブロック(---)で始めます。該当する_template.mdをコピーします。## Originの本文セクションを維持します(R2)。 - RULE-02 (MUST):
raw/内のファイルは決して変更しません。読み取り専用です。 - RULE-03 (MUST): ソースが実際にそのエンティティまたはコンセプトを紹介していない限り、wiki ページを作成しません。
- RULE-04 (MUST): 重複ページを作成するより、既存ページの更新を優先します。
- RULE-05 (MUST): 正規のホーム: 各コンセプトにつき、正規のページを 1 つ設けます。詳細はそのページに記載し、ほかのページでは短く触れて
[[wikilink]]を付けます。同じ説明を複数のページに重複して記載しないでください。 - RULE-06 (MUST): 既存ページの必要な箇所のみ更新: 更新時は、古くなった文だけを置き換え、正しい部分は書き直しません。内容が誤っていない場合、書式だけの編集(表や空行の再整形、文言の変更)は禁止します。
- 機能:
raw/の読み取り、wiki/(concepts · entities · sources · draft)+ index + log への書き込み。raw/への書き込みやネットワークアクセスは行いません。
失敗時の境界
- ソースファイルを読み取れない、または空の場合 → blocked。パスを報告し、ページを作成しません。
- ソースが新しい concept/entity を紹介していない場合 → source ページ + index + log のみ作成します(限定的に succeeded)。不要なページは作成しません。
- ソースが既存の wiki ページと矛盾する場合 → source ページに矛盾を記録し、正しい内容の文を置き換える前にユーザーに確認します(clarify)。
HOW
主なワークフロー
| ステップ | 種類 | 入力 | アクション | 出力/終了条件 | 失敗時/次の処理 |
|---|---|---|---|---|---|
| W01 | effect | ファイル raw/ | ソース全体を読み、早まって要約しない | 全内容 | 読み取りエラー → blocked |
| W02 | judgment | 内容 | 要点を抽出し、docs-impact-plan を作成する | 影響を受けるページの一覧。各ページはソース内の特定箇所にたどれる | ソースにたどれないページ → 対象外 |
| W03 | effect | impact-plan | 既存ページを更新/新しいコンセプト・エンティティを作成する | wiki ページ | — |
| W04 | effect | ソース | wiki/sources/ 内のソースページから raw/ へリンクする | ソースページ | — |
| W05 | effect | 変更したページ | Wikilinks + wiki/index.md + wiki/log.md | index/log が一致 | index の行が不足 → 修正して繰り返す |
| W06 | effect | 結果 | 出力レポートのドラフトを作成する(Delivery セクション) | ドラフト + index + log | アーティファクトが 0 件 → スキップ |
各ステップの詳細(W01~W06 の信頼できる唯一の情報源):
raw/内のソースファイルを最後まで読む。早まって要約しない。- 重要な要点を抽出する:ソースに含まれる事実、決定事項、エンティティ、コンセプト。
その後、書き込む前に docs-impact-plan を作成する(openwiki 060726 を抽出):
ソース内の新しい点 → 影響を受けるページ → 何を修正/作成するか → その理由。ソース内の特定箇所にたどれないページには手を加えない。 - 各エンティティまたはコンセプトについて:
- wiki ページがある場合:開いて、関連情報を追加/修正する。
- ページがない場合:
wiki/concepts/またはwiki/entities/に作成する。
- ソースの概要ページを
wiki/sources/に作成または更新する(raw/ファイルにリンクする)。 - 新規作成/更新したすべてのページ間に
[[wikilinks]]を追加する。 - 作成または変更したすべてのファイルについて、
wiki/index.mdを更新する。 wiki/log.mdに## YYYY-MM-DD — ingest — <filename>を追記し、変更したページをすべて箇条書きにする。
分岐
| ID | 種類 | 条件 | 動作 | スキップ/失敗 | 再合流 |
|---|---|---|---|---|---|
| B01 | conditional_required | エンティティ/コンセプトのページがすでにある | ページを開き、該当する文だけを追加/修正する(必要最小限の変更) | — | W04 |
| B02 | conditional_required | エンティティ/コンセプトのページがまだない | _template.md を使って wiki/concepts/ または wiki/entities/ に作成する | ソースで実際に紹介されていない → 作成しない | W04 |
検証と停止条件
新しい各ページには、空でない type を含む frontmatter と ## Origin が必要です(R2/R9 は hook が確認します)。作成/変更した各ファイルには wiki/index.md の行が必要です(R3)。impact-plan のすべての項目が処理されるか、理由を添えて除外された時点で終了します。
例
- 適切な例:
raw/prd/X-PRD.mdを追加し、新しい標準を紹介する →wiki/concepts/<標準>.mdとwiki/sources/DDMMYY-x-prd.mdを作成し、関連するコンセプト内の文を 1 つ修正して、index + log + レポートのドラフトを追加する。 - 境界/失敗例: raw ファイルが、読み取れる文字のないスクリーンショットのみ → blocked としてユーザーに報告し、空のページは作成しない。
Delivery — 出力レポート
スキルの主なタスクがすべて完了したら、wiki に提案ドラフトを作成します。
手順
1. ファイル名を作成する:
- 形式:
DDMMYY-<ten>.md DDMMYY= 今日の日付(例:2026 年 6 月 2 日の場合は020626)<ten>= 実施内容を要約する 2~4 個の kebab-case の単語(例:landing-page-coteccons、brand-kit-fintech、ingest-auth-spec)
2. llmwiki/wiki/sources/draft/DDMMYY-<ten>.md に書き込む:
---
type: draft
title: "DDMMYY-<ten>"
status: proposed
tags: [<skill-name>, output-report]
timestamp: YYYY-MM-DD
---
# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** <skill-name>, output-report
**Proposed:** YYYY-MM-DD
## What
<One sentence — what this skill invocation produced or decided>
## Output
<Key artefacts, files created/modified, or decisions made>
## Files
| File | Action |
|------|--------|
| `path/to/file` | created / modified |
## Notes
- Invoked via: `/<skill-name>` skill
## Origin
- **Draft:** `wiki/sources/draft/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_
3. wiki の index と log を更新する:
llmwiki/wiki/index.md— 次の行を 1 行追記する:| [DDMMYY-<ten>](sources/draft/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |llmwiki/wiki/log.md— 次の行を追記する:## YYYY-MM-DD — <skill-name> — <ten>
スキルがアーティファクトも決定事項も生成しない場合に限り、スキップします(例:
/caveman-statsのような表示専用モード)。
コメント
Markdown 対応