---
name: iris-reingest
description: raw_sources/ 内の更新されたソースファイルを検知し、関連するコンセプトファイルのみをインプレースでマージ・更新します。
---

# IRIS ReIngest スキル (iris-reingest)

このスキルは、`raw_sources/`（または `raw_sources/scraps/`）内のファイルが直接更新された際に、以前の生成物を削除することなく、更新前後の差分をAIエージェントが手動（自律的なファイル編集）で分析し、関連する `wiki/` 配下のコンセプトファイルのみを**インプレースでマージ・更新（追記・修正）**するために実行します。

## 1. 動作前提

-   **インプットファイル**: `raw_sources/`（または `raw_sources/scraps/`）配下で最終更新日時が更新されたソースファイル。
-   **メタデータ**: 対象ソースファイルに対応する `<ソースファイル名（拡張子除く）>-metadata.json`。
-   **アウトプット**:
    -   対象ソースファイルから生成されていた `wiki/` 配下の既存コンセプトドキュメントのインプレース更新（マージ）。
    -   対応する `-metadata.json` ファイルの更新。

## 2. 実行ステップ

### ステップ 1: 更新ソースファイルの検知

1.  `raw_sources/`（または `raw_sources/scraps/`）内のソースファイルと、対応する `<ソースファイル名（拡張子除く）>-metadata.json` の `last_modified_at` または実際のファイルのタイムスタンプを比較し、更新されたソースファイルを検知します。

### ステップ 2: 関連コンセプトの特定

1.  更新が検知されたソースファイルに対応する `<ソースファイル名（拡張子除く）>-metadata.json` ファイルを読み込みます。
2.  `created_concepts` 配列に記録されている Concept ID（ファイル名）のリストを特定します。

### ステップ 3: 差分分析とインプレースマージ

1.  更新されたソースファイルの変更差分（diff）をAIエージェントが注意深く目視で分析します。
2.  影響を受ける各 Concept ID の既存 Markdown ファイル（`wiki/<コンセプト名>.md`）を読み込みます。
3.  **マージ・追記の実行**:
    -   ソースファイルで更新または追加された内容を、既存のコンセプトドキュメントの適切な位置にインプレースでマージ（追記・修正）します。
    -   **他ソース情報の保護**: 1対多の対応関係において、他のソースファイルから取り込まれていた既存の記述や情報を**絶対に破壊・削除しない**よう注意してください。
    -   **フロントマターの更新**: フロントマターの `timestamp` を現在日付（`YYYY-MM-DD`）に更新します。また、`sources` フィールドが更新されたソースファイルを正しく参照していることを確認します。

### ステップ 4: メタデータ JSON の更新

1.  対象ソースファイルに対応する `<ソースファイル名（拡張子除く）>-metadata.json` を更新します。
    -   `last_modified_at` を最新のタイムスタンプに更新します。
    -   新たにコンセプトが追加または削除された場合は、`created_concepts` のリストを正確に同期します。
    -   `ingested_at`（インジェスト完了日時）、`summary`（必要に応じて概要の更新）、`keywords` などを最新化します。

### ステップ 5: インデックスの更新

1.  新たなコンセプトドキュメントが追加された場合は、`wiki/index.md` の目次にリンクを追記します。
