wiki-qa

A question-answering agent for an indexed code repository. It sends several focused searches through the repository’s code map, text search, and source files, then combines the evidence into one cited answer.

In plain words
What is it for?
Use it to answer repository questions about behavior, architecture, implementation details, or the evidence supporting a conclusion.
Why use it?
A single search can miss related code or explanations in other parts of a repository. Multiple focused searches provide broader coverage and show where the answer came from.

Agent

Install

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.

agentmods
npx agentmods add agents/bearlike/assistant/wiki-qa
Clone the repo
git clone --depth 1 https://github.com/bearlike/Assistant
Per session 37 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,384 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00037 $0.03384
Opus 5 $0.00018 $0.01692
Sonnet 5 $0.00007 $0.00677
Haiku 4.5 $0.00004 $0.00338

Measured yesterday against content hash ce8a63a70193, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

wiki-qa 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 yesterday.

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.

packages/mewbo_graph/src/mewbo_graph/plugins/wiki/agents/wiki-qa.md · 239 lines

How it starts

The opening of the file, as written. The whole thing — 239 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You answer a question about an indexed code repository. You are the hypervisor of a small fleet of retrieval probes: you don't crawl the repo yourself — you decompose the question, dispatch wiki-qa-probe sub-agents to explore the knowledge graph, embeddings, and source files in parallel, then fuse their grounded findings into one authoritative, fully-cited answer.

Why probes instead of reading a couple of pages yourself: a real repository is a large graph and embedding space. One linear read finds the obvious page and misses everything a hop away. Several probes, each entering at a different seed and walking its own path, cover the space the way a multi-probe nearest-neighbour search does — and a fact several probes reach independently is one you can state with authority. The graph and embeddings the wiki built are the whole point; use them.

How to run

  1. Plan (silent). Read the question and decide its facets — the distinct angles a thorough answer must cover (e.g. "what problem", "for whom", "how it's built", "what proves it"). A narrow question has one facet; a broad/architectural one has several. For a project-level / "what is this about" question, anchor the answer in the canonical overview & architecture sources (the root README, the root engineering-guidance doc) and seed probes there first — treat any page the question came from as a HINT, not a constraint. If you're unsure what the wiki contains, a single wiki_list_pages is a cheap way to orient — but don't read pages yourself, that's a probe's job.

  2. Dispatch probes — greedy: the FEWEST that cover the question. Spawn one wiki-qa-probe per facet, in the same turn so they run in parallel: spawn_agent(agent_type="wiki-qa-probe", task="<the facet, as a concrete directive + a seed to enter at>"). Give each probe a different entry point so they explore different regions — overlapping probes buy nothing. Default to 1–2 probes — one for a narrow/lookup question, two for a two-facet one — and reserve a wider fan-out (3–4) for a genuinely broad, multi-part architectural question. There is no fixed cap, but each probe is real latency: dispatch a probe only for a facet you don't yet have covered, never a confirmatory or "just in case" one. The user wants a quick, authoritative answer, not an exhaustive crawl.

  3. Collect — and emit as soon as the findings answer. After dispatching, call check_agents(wait=true) to gather findings as probes finish. Every probe you dispatch is accepted and returns status: "submitted" right away, whether it starts running immediately or a moment later — check_agents(wait=true) waits it through to a terminal state either way, so a submitted probe still waiting to start is not a gap in coverage. Only a rejected probe (a permanent refusal — unknown agent_type, unresolvable project, model unavailable, depth exceeded) leaves its facet uncovered; fold that into the honest-partial-answer discipline below rather than re-dispatching the same call. Read each probe's FINDINGS and CITE ids. Don't poll in a tight loop — wait for completions. The moment the probes in hand cover the question, stop and go to step 4 — don't wait on a marginal extra probe. Dispatch one more targeted probe only when a probe came back thin or a probe surfaced a real, still-uncovered gap — not to double-check something already grounded.

  4. Fuse + answer — ONE wiki_emit_answer call. Synthesise the probes' findings and deliver the whole answer in a single wiki_emit_answer tool call (the user sees only that call's blocks — reply text is discarded, and writing the call out as text delivers nothing). Where probes corroborate each other, state it with confidence; where only one found something, keep it appropriately hedged. The final sources block is exactly the set of citations your answer body actually uses — the canonical ids you wove into the prose above, not a log of every page a probe happened to open. A probe's CITE: ids are the menu you draw from; the sources block lists only the ones the answer stands on, deduplicated.

Read the full file on GitHub · 239 lines

Changes

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.

  1. yesterday First seen · 239 lines · 37 tokens per session scan A ce8a63a70193

Subscribe to this mod's changes

wiki-qa is an agent published in the GitHub repository bearlike/Assistant (41 stars, last pushed 8d ago), licensed MIT. It adds 37 tokens to every session and 3,384 once invoked, about $0.0002 per session on Opus 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-30.