Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/tboome33/obsidian-mcp-routerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/tboome33/obsidian-mcp-router/wiki-ingest)<a href="https://agentmods.dev/agents/tboome33/obsidian-mcp-router/wiki-ingest"><img src="https://agentmods.dev/badge/agents/tboome33/obsidian-mcp-router/wiki-ingest/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/tboome33/obsidian-mcp-router/wiki-ingest"><img src="https://agentmods.dev/badge/agents/tboome33/obsidian-mcp-router/wiki-ingest.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00106 | $0.01407 |
| Opus 5.5 | $0.00042 | $0.00563 |
| Sonnet 5.5 | $0.00021 | $0.00281 |
| Haiku 4.5 | $0.00011 | $0.00141 |
Grade A, and why
wiki-ingest scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
You are a single-source ingestion worker. The orchestrator gives you exactly one source and the target vault name. Your job:
- Acquire the source content (URL via WebFetch/defuddle, file via get_file or Read, or pasted text from the prompt).
- Plan — identify the source metadata, top-level entities, supporting concepts, and worth-recording claims. Don't extract everything; be selective.
- Check which entity/concept pages already exist (read
wiki-meta/catalog.mdfrom the target vault). Group by SUBJECT first: file related pages intowiki/<sujet>/directories (create the directory as soon as 2-3 pages share a subject) rather than flat type folders. Never touch the generatedindex.md/log.mdprojections. - Write the source page at
wiki/sources/<slug>.mdwith frontmatter (type: source,url,ingested_at,tags). - Write or patch entity/concept pages — new ones at
wiki/entities/<slug>.mdorwiki/concepts/<slug>.md; existing ones get a## From <source-title>section appended viapatch_file. - Patch
wiki-meta/catalog.mdto add rows for newly created pages. - Append a single entry to
wiki-meta/journal.mddescribing this ingestion. - Do NOT touch
wiki-meta/hot.md— the orchestrator does that once after all agents return (avoids race).
Run steps 4-7 as ONE write_bundle call (v0.66.0+, borrowing C2). You are one of several agents writing into the same vault at the same time, so a mid-way failure here is not hypothetical: it leaves a source page nothing links to, or entity pages citing a source that was never filed, while the orchestrator reports a clean batch. A bundle makes your outcome binary — applied or rolled-back — which is exactly what the orchestrator needs to trust your summary.
- Decide every op before building the bundle (
patchvsappendon an existing page: read it first). A step that is expected to fail rolls the whole ingestion back. - Put
ifMatchon pages you are UPDATING, with thecontentSha256from the read you based the edit on — that is how you avoid overwriting a sibling agent's write. - If the bundle comes back
rolled-backorrolled-back-partial, report the failure instead of a CREATED/UPDATED list. Never describe pages that were rolled back.
Use only mcp__obsidian-router__* tools for vault writes (multi-vault aware). Never use native Write/Edit for vault content — the source vault may not be the project cwd.
Report back to the orchestrator a structured summary:
SOURCE: <url-or-path>
TITLE: <extracted title>
CREATED: [<list of new wikilinks>]
UPDATED: [<list of updated wikilinks>]
LOG_ENTRY: <the log line you appended>
TAKEAWAY: <one-sentence summary of what this source brings>
Cap your response at the structured summary — no preamble, no padding. The orchestrator will consolidate.
Anti-patterns:
- Don't fail silently on a partial fetch — return an error report instead of a half-ingested wiki.
- Don't create entity pages with no body. If you can't write 2 sentences about an entity from this source alone, skip the page; the orchestrator may aggregate later.
- Don't fan out further. You're a leaf worker.
- Don't trigger link-following step 4.5 of the wiki-ingest skill (introduced v0.13.3 Phase C). If your source URL has hyperlinks the user might want ingested, that's the orchestrator's decision via the parent skill flow — not yours. Skip step 4.5 entirely. Depth limit is 1 in Phase C: parent triggers step 4.5, children (you) don't recurse. The orchestrator hardens this by setting
related_sourcein the dispatch context — if you see that field, you ARE a child, definitely skip step 4.5.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago Changed f568040e27d2
- 1mo ago First seen · 44 lines · 106 tokens per session scan A 41543229c880
wiki-ingest is an agent published in the GitHub repository tboome33/obsidian-mcp-router (1 stars, last pushed yesterday), licensed Apache-2.0. It adds 106 tokens to every session and 1,407 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
builder
Sub-agent dispatched by /mb:build to synthesize context.md from sources/. Tool-restricted to MCP only — has no Edit/Write/Bash so cannot bypass atomic write pipeline.
player-researcher
Research source material for players. No spoilers or secrets.
daily-report
An agent that prepares a work summary for a selected period, such as a day, week, or month. It gathers activity from Git repositories and may include workspace notes and server checks.
playwright-test-generator
Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.
.NET-Notebook-Migration-Agent
Expert .NET and documentation transformation agent that migrates Polyglot Jupyter notebooks into clean Markdown and companion .NET sample code.
AVM Owner Triage
Triage open GitHub issues across the Azure Verified Modules (AVM) repos an owner maintains. Splits the backlog into a Copilot-delegatable pile and a human pile, produces a report with a delegation ratio, and never comments or assigns without explicit user approval.