
Wiki Agent
Pull topic-specific answers from another agent’s conversation history into your Obsidian wiki while you work in a different coding agent.
Overview
Wiki Agent is a journey-wide agent skill that searches one AI agent’s conversation history for a topic, ingests matching sessions into an Obsidian wiki, and returns a synthesized answer—usable whenever you need another a
Install
npx skills add https://github.com/ar9av/obsidian-wiki --skill wiki-agentWhat is this skill?
- Query-driven search in one agent’s raw history—not full vault bulk ingest
- Routes /wiki-claude, /wiki-codex, /wiki-hermes, /wiki-openclaw, /wiki-copilot with optional topic
- Extracts relevant session blobs, distills into wiki, returns synthesized answer for the current session
- Optimized for cross-referencing while working in agent A and pulling context from agent B
- Contrasts with wiki-history-ingest for incremental everything-new archiving
- 5 routed slash commands: claude, codex, hermes, openclaw, copilot
Adoption & trust: 1.3k installs on skills.sh; 1.8k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are coding in one agent but the solution or decision lives buried in another agent’s session history and bulk ingest would flood your vault.
Who is it for?
Builders maintaining an Obsidian wiki who routinely switch between Claude, Codex, Copilot, Hermes, or OpenClaw and need topic-precise recall.
Skip if: First-time vault setup with no wiki pipeline, or users who only want one-shot chat without structured wiki storage.
When should I use this skill?
User invokes /wiki-claude, /wiki-codex, /wiki-hermes, /wiki-openclaw, or /wiki-copilot with optional topic; or asks to search one agent’s history for a specific subject.
What do I get? / Deliverables
Relevant history is distilled into the wiki and you get an actionable summary in the current session without full-history ingestion.
- Topic-targeted wiki entries from selected sessions
- Synthesized answer usable in the current agent session
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Reuse a Codex debugging thread on Core Data while implementing the fix in Claude Code.
Pull prior Hermes chats about MVP scope before rewriting the spec.
Find the OpenClaw session where you patched a production webhook regression.
Recover messaging angles you tested in Copilot history for a launch post.
Cross-check earlier Claude research on a niche before starting a new repo.
How it compares
Use for targeted topic ingest and immediate answers; use wiki-history-ingest when you want to archive everything new in bulk.
Common Questions / FAQ
Who is wiki-agent for?
Solo builders using multiple AI coding agents plus an Obsidian wiki who need to pull specific past conversations into today’s task.
When should I use wiki-agent?
During Build when reusing a fix from Codex while in Claude; during Grow or Operate when you need prior support or analytics decisions; anytime you say what did I work on in codex about X or search my claude sessions for Y.
Is wiki-agent safe to install?
It reads local agent history and writes to your wiki—check the Security Audits panel on this page and restrict paths so only intended vault and history directories are exposed.
SKILL.md
READMESKILL.md - Wiki Agent
# Wiki Agent — Targeted Cross-Agent History Search + Ingest You are doing a **query-driven targeted ingest** from one specific AI agent's raw conversation history. The user is typically working in a *different* agent right now and wants to pull in context from another agent's past sessions. This is not bulk ingest. You find sessions about a specific topic, extract the relevant blobs, distill them into the wiki, and return a synthesized answer the user can act on immediately. ## Command Routing Parse the invocation to determine the target agent and optional query: | Command | Target | Example | |---|---|---| | `/wiki-claude [query]` | Claude Code history | `/wiki-claude "how did I set up auth middleware"` | | `/wiki-codex [query]` | Codex CLI history | `/wiki-codex "rust ownership patterns"` | | `/wiki-hermes [query]` | Hermes agent history | `/wiki-hermes "memory architecture"` | | `/wiki-openclaw [query]` | OpenClaw history | `/wiki-openclaw "project planning approach"` | | `/wiki-copilot [query]` | Copilot chat history | `/wiki-copilot "test strategy for API routes"` | If no query is given, default to **recent sessions mode**: ingest the last 5 unprocessed sessions from that agent and return a summary of what was found. This is equivalent to a focused `wiki-history-ingest` for that agent only. ## Before You Start 1. **Resolve config** — follow the Config Resolution Protocol in `llm-wiki/SKILL.md` (walk up CWD for `.env` → `~/.obsidian-wiki/config` → prompt setup). This gives `OBSIDIAN_VAULT_PATH`. 2. Read `$OBSIDIAN_VAULT_PATH/.manifest.json` → know what's already ingested. 3. Read `$OBSIDIAN_VAULT_PATH/hot.md` if it exists → warm context on recent wiki activity. --- ## Step 1: Locate the Agent's History Root | Agent | Default path | Config override | |---|---|---| | `claude` | `~/.claude` + `~/Library/Application Support/Claude/local-agent-mode-sessions/` | `CLAUDE_HISTORY_PATH` in `.env` | | `codex` | `~/.codex` | `CODEX_HISTORY_PATH` in `.env` | | `hermes` | `~/.hermes` | `HERMES_HOME` in env or `.env` | | `openclaw` | `~/.openclaw` | `OPENCLAW_HOME` in `.env` | | `copilot` | `~/.copilot` | `COPILOT_HISTORY_PATH` in `.env` | If the history root doesn't exist, stop and tell the user: "No `<agent>` history found at `<path>`. Have you run `<agent>` on this machine? You can set a custom path with `<CONFIG_VAR>` in `.env`." --- ## Step 2: Build Session Inventory Use the **cheapest index source** for each agent — don't open session files until you know which ones are relevant. ### Claude ``` Primary index: ~/.claude/projects/ (directories = projects, files = sessions) Session files: ~/.claude/projects/*/*.jsonl Desktop index: find ~/Library/Application Support/Claude/local-agent-mode-sessions -name "local_*.json" Signal fields: sessionId, cwd, startedAt, title (in local_*.json) ``` Build a list of sessions: `{path, project_dir, modified_at, already_ingested}`. ### Codex ``` Primary index: ~/.codex/session_index.jsonl Session files: ~/.codex/sessions/**/rollout-*.jsonl Signal fields: thread_id, name/title, updated_at (in session_index.jsonl) ``` Read `session_index.jsonl` as the i