wiki-agent
ユーザーが `/wiki-claude`、`/wiki-codex`、`/wiki-hermes`、`/wiki-openclaw`、`/wiki-copilot` を(検索トピックの有無にかかわらず)呼び出したときに起動する、特定エージェントの履歴から目的のトピックを絞り込んで取り込むスキル。`wiki-history-ingest` が全件を一括取り込むのと異なり、このスキルは指定エージェントの履歴から特定トピックに関するセッションだけを検索・取得し、現在のセッションですぐに活用できる形で要約して返す。「codex で X をどう解決したかを今の作業に活かしたい」「claude のセッションから Y を探したい」「hermes での Z に関する知見を引き込みたい」といったクロスリファレンス用途に使用する。
description の原文を見る
> Query-driven targeted ingest from a specific AI agent's raw history. Use this skill when the user invokes /wiki-claude, /wiki-codex, /wiki-hermes, /wiki-openclaw, /wiki-copilot — with or without a search topic. Different from wiki-history-ingest (which bulk-ingests everything new): this skill finds sessions about a SPECIFIC TOPIC in a specific agent's history and ingests just those, then returns a synthesized answer immediately usable in the current session. Primary use case: you're working in agent A and want to pull in how you solved X in agent B's history. Cross-referencing, not archiving. Also trigger on: "what did I work on in codex about X", "search my claude sessions for Y", "pull in hermes knowledge about Z", "find that conversation where I did X in codex".
SKILL.md 本文
Wiki Agent — ターゲット別クロスエージェント履歴検索 + 取り込み
あなたは1つの特定のAIエージェントの生会話履歴からクエリ駆動型のターゲット取り込みを行っています。通常、ユーザーは現在異なるエージェントで作業中であり、別のエージェントの過去のセッションからコンテキストを取得したいと考えています。
これは一括取り込みではありません。特定のトピックに関するセッションを見つけ、関連するブロブを抽出して、それをwikiに蒸留し、ユーザーが即座に行動できる総合的な回答を返します。
コマンドルーティング
呼び出しを解析してターゲットエージェントとオプションのクエリを決定します:
| コマンド | ターゲット | 例 |
|---|---|---|
/wiki-claude [query] | Claude Code履歴 | /wiki-claude "how did I set up auth middleware" |
/wiki-codex [query] | Codex CLI履歴 | /wiki-codex "rust ownership patterns" |
/wiki-hermes [query] | Hermesエージェント履歴 | /wiki-hermes "memory architecture" |
/wiki-openclaw [query] | OpenClaw履歴 | /wiki-openclaw "project planning approach" |
/wiki-copilot [query] | Copilot チャット履歴 | /wiki-copilot "test strategy for API routes" |
クエリが指定されない場合は、最近のセッションモードがデフォルトになります:そのエージェントから未処理の最後の5セッションを取り込み、見つかったものの概要を返します。これはそのエージェントのみを対象とした焦点的なwiki-history-ingestに相当します。
開始前に
- 設定を解決 —
llm-wiki/SKILL.mdの設定解決プロトコルに従います(CWDをウォークして.env→~/.obsidian-wiki/config→ プロンプト設定)。これによりOBSIDIAN_VAULT_PATHが得られます。 $OBSIDIAN_VAULT_PATH/.manifest.jsonを読む → 既に取り込まれたものを把握$OBSIDIAN_VAULT_PATH/hot.mdが存在する場合は読む → 最近のwiki活動についてのウォームコンテキスト
ステップ1:エージェントの履歴ルートを見つける
| エージェント | デフォルトパス | 設定オーバーライド |
|---|---|---|
claude | ~/.claude + ~/Library/Application Support/Claude/local-agent-mode-sessions/ | .env の CLAUDE_HISTORY_PATH |
codex | ~/.codex | .env の CODEX_HISTORY_PATH |
hermes | ~/.hermes | 環境変数またはの .env の HERMES_HOME |
openclaw | ~/.openclaw | .env の OPENCLAW_HOME |
copilot | ~/.copilot | .env の COPILOT_HISTORY_PATH |
履歴ルートが存在しない場合は、ユーザーに次のように伝えて停止します:「<path> に <agent> 履歴が見つかりません。このマシンで <agent> を実行したことはありますか?.env の <CONFIG_VAR> でカスタムパスを設定できます。」
ステップ2:セッションインベントリを構築
各エージェントについて最安のインデックスソースを使用します。どのセッションが関連しているかが明らかになるまで、セッションファイルを開かないでください。
Claude
プライマリインデックス: ~/.claude/projects/ (ディレクトリ = プロジェクト、ファイル = セッション)
セッションファイル: ~/.claude/projects/*/*.jsonl
デスクトップインデックス: find ~/Library/Application Support/Claude/local-agent-mode-sessions -name "local_*.json"
シグナルフィールド: sessionId、cwd、startedAt、title (local_*.json内)
セッションのリストを構築:{path, project_dir, modified_at, already_ingested}。
Codex
プライマリインデックス: ~/.codex/session_index.jsonl
セッションファイル: ~/.codex/sessions/**/rollout-*.jsonl
シグナルフィールド: thread_id、name/title、updated_at (session_index.jsonl内)
session_index.jsonl をインベントリとして読みます。各行:{thread_id, name, updated_at}。ディレクトリ名を照合してthread IDをロールアウトファイルにマップします。
Hermes
プライマリインデックス: ~/.hermes/memories/*.md (スキャンが高速)
セッションファイル: ~/.hermes/sessions/**/*.jsonl
シグナルフィールド: ファイル名、メモリタイトル、各メモリの最初の3行
まずメモリファイル名をスキャン(トピックによってタイトルされていることが多い)。セッション列挙にフォールバックします。
OpenClaw
プライマリインデックス: ~/.openclaw/workspace/memory/MEMORY.md (構造化長期メモリ)
デイリーノート: ~/.openclaw/workspace/memory/YYYY-MM-DD.md
セッションインデックス: ~/.openclaw/agents/*/sessions/sessions.json
セッションファイル: ~/.openclaw/agents/*/sessions/*.jsonl
最初に MEMORY.md セクションを読みます。すべてが事前にコンパイルされた概要です。デイリーノートは最近性シグナルを提供します。
Copilot
プライマリインデックス: セッションファイル名 / ディレクトリリスト
セッションファイル: クライアントによって異なります (VS Code: ~/.copilot/sessions/*.jsonl など)
シグナルフィールド: セッションタイムスタンプ、ファイル名
ステップ3:クエリに対するセッションをスコアリング
クエリが指定された場合、セッションファイル全体を開かずにインベントリ内の各セッションをスコアリング:
- 名前/タイトルマッチ — セッション名またはスレッドタイトルにクエリ用語が含まれていますか?スコア:+3
- CWD/プロジェクトマッチ — 作業ディレクトリが正しいプロジェクトを示唆していますか?スコア:+2
- 最近性 — 過去90日間のセッションはより古いセッションより高いスコアです。スコア:30日間の最近性ブラケットあたり+1 (最大+3)
- 既に取り込まれている — このセッションが以前取り込まれており、wikiページがすでにクエリをカバーしている場合(
hot.md+index.mdを確認)、「カバー済み」とフラグを立てますが、依然として結果に表示します
スコアの上位3–5セッションを選択します。クエリが指定されない場合は、最新の未処理の5セッションを選択します。
ステップ4:関連するブロブを抽出
選択した各セッションファイルを開き、クエリに関連するコンテンツのみを抽出します。ファイルが大きい場合は完全に読まないでください。ターゲット抽出を使用します。
エージェントごとの抽出戦略
Claude (JSONL会話):
- 各行:
{role, content, timestamp, ...} - 検索:
grep -i "<query terms>" <session.jsonl>で関連行を見つける - 抽出:周辺の会話ウィンドウ(各ヒットの前10行 + 後20行)
- 特別なシグナル:ツール呼び出し(Read/Write/Bash/Edit)は実際に行われたことを明らかにします。キーワードマッチがなくても、関連ウィンドウ内にあればこれらを抽出します
Codex (ロールアウトJSONL):
- 各行:
{type: "session_meta|turn_context|event_msg|response_item", ...} - フィルター:
type: "event_msg"(ユーザーターン)およびtype: "response_item"(モデル出力) - 検索:
grep -i "<query terms>" <rollout.jsonl> - 抽出:マッチングターン + その親コンテキスト(マッチの前の
turn_context) - スキップ:
session_metaイベント(操作メタデータ、知識ではない)
Hermes (メモリファイル + セッションJSONL):
- メモリファイルの場合:完全なファイルを読む(短い — 通常<500単語各)
- セッションJSONLの場合:
grep -i "<query terms>"+ 周辺ウィンドウ - タイトルマッチのメモリファイル → 完全に読む;その他 → grepのみ
OpenClaw (MEMORY.md + デイリーノート + セッションJSONL):
MEMORY.md:クエリ用語を含むセクションヘッダーをgrepします → そのセクションを抽出- デイリーノート:最近30日間をgrepしてクエリ用語を見つけます → マッチングパラグラフを抽出
- セッションJSONL:Claudeと同じgrepウィンドウアプローチ
- MEMORY.md/デイリーノートをセッションJSONLより優先(事前に総合)
Copilot (セッションJSONL):
- Claudeと同じgrepウィンドウアプローチ
- 利用可能な場合、チェックポイントファイルを確認(事前要約)
ステップ5:ブロブをWikiページに蒸留
抽出されたブロブごとに、wikiのどこに属しているかを判断:
- wikiページがこれをすでにカバーしているかを確認 —
index.mdおよびページfrontmatterをgrepしてトピックを見つけます。はいの場合は、新しいページを作成するのではなく既存ページを更新します。 - 標準ルールを使用してカテゴリを決定 (
llm-wiki/SKILL.mdから):- テクニック / ハウツー →
skills/ - 抽象概念 / パターン →
concepts/ - ツール / ライブラリ / 人物 →
entities/ - 横断的なインサイト →
synthesis/
- テクニック / ハウツー →
- 必須frontmatterを使用してページを書くまたは更新 :
エージェントプレフィックスで--- title: <topic> category: skill|concept|entity|synthesis tags: [tag1, tag2] sources: [<agent>://<path/to/session>] created: <date> updated: <date> confidence: high|medium|low lifecycle: stable|draft ---sourcesを設定して、memory-bridgeが後で見つけられるようにします。 - クロスリンクを追加
index.mdで見つかった関連wikiページへ。
蒸留ルール(すべての取り込みスキルと同じ):
- 操作テレメトリではなく、永続的な知識を抽出
- セッション1つごとではなく、概念1つごとにwikiページ1ページ
- 既存ページへマージするのではなく複製
- シグナルを保持:決定された、パターンが発見された、機能したテクニック、バグが説明された
ステップ6:総合的な回答を返す
取り込み後、新しく取り込まれた + 既存のwikiコンテンツから即座に総合的な回答を返します:
## From <agent> history: "<query>"
**Found in:** <N> sessions (<session names/titles>)
**Key insights:**
<総合的な回答 — 最も有用な知識の3–5項目>
**Wiki pages updated/created:**
- [[page-name]] — <何が追加されたか>
- [[page-name]] — <何が追加されたか>
**Sessions ingested:**
| Session | Date | Relevance |
|---------|------|-----------|
| <name> | <date> | <選択された理由の1行> |
**Gaps:** <セッションがカバーしていないが関連性がある可能性のあること>
クエリは指定されたが関連するセッションが見つからない場合、明示的に述べます:「<agent> 履歴で '<query>' についてのセッションは見つかりません。最近のセッションがカバーしたトピック:<最後の3セッションのトピックリスト>。」
ステップ7:トラッキングファイルを更新
処理された各セッションファイルについて .manifest.json を更新:
{
"<path>": {
"ingested_at": "<now>",
"source_type": "<agent>_conversation",
"modified_at": "<file mtime>",
"pages_created": [...],
"pages_updated": [...]
}
}
log.md に追記:
- [TIMESTAMP] WIKI-AGENT agent=<agent> query="<query>" sessions_searched=N sessions_ingested=M pages_created=X pages_updated=Y
hot.md を何が取り込まれたかの1行要約で更新。
クロスエージェント使用パターン
このスキルが設計されている主なユースケース:
「Codexにいます。ClaudeでXについて何を理解しましたか?」
→ /wiki-claude "X" — XについてのClaudeセッションを見つけ、取り込み、回答を返す
「Hermesで先週バグを解決しました。今Claude Codeでそのコンテキストが必要です。」
→ /wiki-hermes "bug description" — Hermesセッションを浮上させて取り込む
「ツール全体でXについて試したすべてのアプローチは何ですか?」
→ /wiki-claude "X"、/wiki-codex "X"、/wiki-hermes "X" を順番に実行 — それぞれがそのスライスを取り込み、wikiがクロスエージェント画像を蓄積し、その後 /memory-bridge diff が各ツールが一意に貢献したものを示す
クエリなし — 単に「最近のCodex作業を教えてください」
→ /wiki-codex — 最後の5つのCodexセッションを取り込み、概要を返す
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- ar9av
- リポジトリ
- ar9av/obsidian-wiki
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/ar9av/obsidian-wiki / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。