material-retrieve について
ローカルの素材ライブラリを、キーワード、タグ、種類、感情、再利用度で検索するスキルです。結果を順位付けし、最大 10 件の全文を読み込みます。
主な機能
- 01複数条件を組み合わせた検索
- 02キーワードとタグのあいまい一致
- 03関連度と再利用度による順位付け
- 04一致した素材の全文読み込み
- 05最大 10 件の結果表示
活用シーン
- 01テーマに沿った執筆素材の検索
- 02種類や感情による素材の絞り込み
- 03再利用度の高い素材の検索
- 04素材ライブラリ内の関連項目の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ simonwong/ skills --skill material-retrieveインストール後、Claude Code で/material-retrieveを入力して読み込まれたか確認します。
詳細
素材検索
素材ライブラリから条件に合う素材を検索します。
データパス
素材ライブラリは ./writing-workspace/materials/ にあります:
index.jsonl— 素材インデックス(JSONL 形式。各行に {id, summary, tags, type, source_title, reusability} を含みます)entries/{id}.json— 素材の全内容
実行フロー
1. インデックスを読み込む
./writing-workspace/materials/index.jsonl を読み込みます。
- ファイルが存在しない、または空の場合:ユーザーに「素材ライブラリはまだ空です。material-ingest スキルを使って、記事をいくつか登録できます。」と伝えて終了します。
- 内容がある場合:検索を続行します。
2. ユーザーのクエリを解析する
ユーザーの入力から検索条件を抽出します。以下の各項目を任意に組み合わせて指定できます。
| 項目 | 例 |
|---|---|
| キーワード | 「起業に関する素材」→ キーワード「起業」 |
| タグ | 「タグがAIのもの」→ タグ「AI」に一致 |
| 種類 | 「事例をいくつか探して」→ type=case |
| 感情 | 「鋭い意見はありますか」→ sentiment=provocative |
| 再利用度 | 「そのまま使えるものを探して」→ reusability=high |
ユーザーがテーマの単語だけを指定した場合は、キーワードとタグの両方で照合します。
3. 複数の項目で照合する
index.jsonl 内のすべての項目を調べ、以下のロジックで照合します。
キーワード照合(あいまい):
- summary と tags に、検索語またはその類義語が含まれているかを確認します。
- 「起業」は「スタートアップ企業」「起業家」「startup」にも一致します。
- 「AI」は「人工知能」「大規模言語モデル」「LLM」にも一致します。
タグ照合(完全一致+あいまい一致):
- 完全一致を優先します。
- 同義語のタグも一致とみなします(上記の例を参照)。
種類/感情/再利用度の照合(完全一致):
- フィールドの値を直接比較します。
4. 並べ替える
照合結果を以下の優先順位で並べ替えます。
- 関連度(一致する項目が多いほど上位)
- 再利用度(high > medium > low)
- 時間(新しいものを優先)
5. 全内容を読み込む
並べ替えた結果の上位 10 件について、entries/{id}.json を読み込み、content 全体を取得します。
6. 結果を表示する
## 素材检索结果
查询:关于"创业"的素材
匹配:共 X 条
| # | ID | 类型 | 摘要 | 标签 | 复用度 |
|---|-----|------|------|------|--------|
| 1 | mat_xxx | viewpoint | ... | 创业, AI | high |
| 2 | mat_xxx | case | ... | 初创公司 | medium |
---
### 详细内容
**1. mat_xxx** [viewpoint] — 来自《原文标题》
> 完整内容...
**2. mat_xxx** [case] — 来自《原文标题》
> 完整内容...
照合結果がない場合は、ユーザーに「関連する素材が見つかりませんでした」と伝え、検索範囲を広げるか、記事を追加で登録するよう提案します。
注意事項
- 結果は 10 件以内にします。照合結果が多すぎる場合は、関連度の高い上位 10 件のみを表示し、総件数をユーザーに伝えます。
- 全内容を表示する際は、原文の表現を保ち、書き換えないでください。
- ユーザーのクエリが曖昧すぎる場合(「素材を探して」のような場合)は、具体的なテーマや方向性を尋ねてください。
コメント
Markdown 対応