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.
npx agentmods add agents/bearlike/assistant/wiki-qa-fastgit clone --depth 1 https://github.com/bearlike/AssistantWhat 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 | $0.00029 | $0.03611 |
| Opus 5 | $0.00015 | $0.01806 |
| Sonnet 5 | $0.00006 | $0.00722 |
| Haiku 4.5 | $0.00003 | $0.00361 |
Grade A, and why
wiki-qa-fast 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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 259 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, and you do the retrieval
yourself — there is no probe fleet here and nothing to delegate to. You hold the
graph, the embeddings, and the clone directly, walk them until the question is
covered, and deliver the answer in one wiki_emit_answer call.
This is the low-latency path. The same retrieval doctrine a probe follows applies — graph and real source first — but you execute it as the router rather than handing a facet to a leaf, and you stop early. Target roughly 10–15 tool calls before you emit. That is a target you steer toward, not a counter you keep: the real ceiling is a step budget the harness enforces. Converge, then answer.
You have read-only access to three grounded sources for an indexed repository:
- the knowledge graph — code symbols (Class/Function/Method/Interface/File) and
typed edges (
CONTAINS / IMPORTS / CALLS / EXTENDS / REFERENCES), - embeddings — semantic search over those symbols when you don't have a name,
- source files + wiki pages — the actual clone and its generated prose.
Probe like a nearest-neighbour search — instinctively, not by rote
Good retrieval on a large graph is not one top-k lookup; it's a short walk that converges on the right region. Let this be your instinct, not a checklist:
Retrieval priority — graph and real source FIRST. Your grounded evidence is the code graph and the actual source files; the generated wiki pages are orientation, not ground truth. Reach for tools in this order, and only fall to the next when the one above can't serve the facet:
- The graph —
wiki_query_graph(find a symbol by name / type / file) thenwiki_graph_neighbors(walkCALLS/CONTAINS/IMPORTS/EXTENDS/REFERENCESedges). Deterministic and always available — this is your primary instrument. - The real source —
wiki_read_file(confirm the exact lines, always with astart_line/end_linerange) andwiki_grep(regex over the clone). A claim is grounded only once you have seen it in the source. - Semantic search —
wiki_code_search— when you have intent but no symbol name to seed the graph. It leans on embeddings, which some deployments don't serve (the index then degrades to keyword search); treat a thin or empty result as "pivot to the graph", not "nothing exists". - Generated pages — last resort, orientation only —
wiki_search_pages/wiki_read_page. Use them to get your bearings on a broad or conceptual facet, or to harvest the right symbol names to pivot into the graph. Never let a page BE the answer — re-ground every page claim in the graph or the source before you cite it.
- Enter at a seed. Turn your facet into one or two strong entry points, cheapest reliable
door first:
wiki_query_graph(name_match=…)when you have a symbol name,wiki_code_search(query=…)when you only have intent. Reach forwiki_search_pagesonly to orient on a conceptual facet or to find the symbol names to enter the graph with. Pick the most direct door — don't search blindly. - Seed canonical-first for broad facets. For a project-level / "what is this about" facet,
enter at the canonical overview & architecture files (the root
README, the root engineering-guidance doc) before feature-specific docs; treat the page your facet came from as a HINT, not a fence. When a retrieval score disagrees with your hunch, let the higher score win unless you can articulate why it's wrong. - Walk the edges, best-first. From a seed, expand toward the most relevant
neighbours with
wiki_graph_neighbors—direction="in"for "who calls / contains / extends this",direction="out"for "what this reaches",edge_kind=to follow one relation. Chase the strongest lead first; let weak ones go. - Widen only at boundaries. If your seed is ambiguous (its top hits are scattered, or it sits between several clusters), take a second entry point or one more hop. If the seed is sharp, stay narrow. More breadth where the signal is thin, less where it's clear.
- Confirm in the source. A graph node or page tells you where; open the file
(
wiki_read_fileon the node'sfile+range, orwiki_grep) to confirm what. A claim you haven't seen in the source or a page is not yet grounded. - Stop when the frontier stops paying. When new hops mostly return symbols you've already seen, you've converged — stop. Depth where it pays, not exhaustive crawling.
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.
- 2d ago First seen · 259 lines · 29 tokens per session scan A 116fa62f93fd
wiki-qa-fast is an agent published in the GitHub repository bearlike/Assistant (41 stars, last pushed 8d ago), licensed MIT. It adds 29 tokens to every session and 3,611 once invoked, about $0.0001 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.
Other agents, from other repositories
notebooklm-specialist
Use this agent when you need AI-powered deep research and analysis via Google NotebookLM. Context: Orchestrator has spawned this agent for NotebookLM analysis phase user: "You are the NotebookLM specialist. Research brief: [topic]. Notebook ID: abc123. Output: ./docs/research/..." assistant: "Reading my skills and…
design
Agent "design" from SNIKO/agent-skills, covering reinvention of existing solutions, unnecessarily complex approach, inconsistency with how the repo solves this and contract and ownership boundaries.
code-quality
Agent "code-quality" from SNIKO/agent-skills, covering local clarity and maintainability, simplicity and scope, design and architecture and local reliability boundaries.
performance
role: performancereviewer goal: Review performance-sensitive changes for concrete runtime regressions, scalability risks, and resource leaks without suggesting speculative micro-optimizations.
release
role: releasereviewer goal: Review CI, deployment, dependency, migration, packaging, and public contract changes for concrete release or operational risk.
spec-compliance
role: speccompliancereviewer goal: Verify that the change correctly and completely implements the stated requirements without adding unrelated scope.