---
name: iris-sweep
description: ソースファイルに紐づいていない孤立した古いコンセプトファイルを検知・削除し、目次とログを更新します。
---

# IRIS Sweep スキル (iris-sweep)

このスキルは、ナレッジベース内の不要になったコンセプトファイル（どのメタデータファイルの `created_concepts` にも登録されていない古いファイル）を検出し、安全に削除してインデックスを更新するために実行します。

## 1. 動作前提

-   **スキャン対象**:
    -   `wiki/` 配下のすべてのコンセプトファイル（Markdown）。
    -   `raw_sources/` 配下のすべてのメタデータファイル（`*-metadata.json`）。
-   **利用ツール**: ファイル一覧取得、ファイル読み書き、検索（grep）、ファイル削除ツール等。
-   **アウトプット先**: `.bundle/sweep.md` （削除候補リスト一時保存用）。

## 2. 実行ステップ

### ステップ 1: コンセプトファイルとメタデータの収集

1.  `wiki/` 配下のすべてのコンセプトファイル（Markdown）を列挙し、Concept ID のリストを作成します。

2.  `raw_sources/` 配下のすべてのメタデータファイル（`<ソース名>-metadata.json`）を読み込み、そこに記録されている `created_concepts` 配列に登録されている Concept ID のリストを収集します。

### ステップ 2: 削除候補コンセプトファイルの抽出

1.  ステップ 1 で集計した結果を元に、どのメタデータファイル（ソース）にも紐づいていない（登録されていない）コンセプトファイルを抽出します。

2.  抽出された削除候補リストを、以下のフォーマットで `.bundle/sweep.md` （フロントマターなし）に出力します。
    -   検出日時
    -   削除候補のコンセプトファイル一覧（相対パス）
    -   紐づいていない理由の簡単な説明

### ステップ 3: ユーザーへの削除確認

1.  エージェントは自律的にファイルを即座に削除するのではなく、`.bundle/sweep.md` を提示した上で、ユーザーに「リストのコンセプトファイルを削除してよろしいですか？」と確認の問い合わせを行います。

### ステップ 4: コンセプトファイルの削除とインデックス更新

1.  ユーザーから削除の許可が得られた場合、リストアップされた該当コンセプトファイルを `wiki/` から物理削除します。

2.  削除したコンセプトファイルが登録されている `wiki/index.md` の目次から、該当ファイルへのリンクを削除し、目次を更新します。

3.  すべての削除作業とインデックス更新作業が終了した後、一時的なリスト保存ファイルである `.bundle/sweep.md` を削除します。

