query
Answer questions using the brain's knowledge with 3-layer search, synthesis, and citation propagation. Use when the user asks a question, wants a lookup, or needs information from the brain.
How do I install this agent skill?
npx skills add https://github.com/garrytan/gbrain --skill queryIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides functionality to search and synthesize information from a knowledge base. It is susceptible to indirect prompt injection if the underlying data contains malicious instructions.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Query Skill
Answer questions using the brain's knowledge with 3-layer search and synthesis.
Memory verbs (MEMORY_VERBS v1, gbrain ≥ 0.43). When connected to a brain over MCP, prefer the seven frozen memory verbs for memory work — they carry provenance, evidence, and a server-enforced token budget:
recall(query | entity, budget_tokens)— the budget-packed memory read. Use it instead of baresearchfor "what do we know that we SAVED about X".entity(name)— a zero-LLM person/company/project card (aliases, last-touched, open threads, top edges). Use it instead ofget_page+get_backlinkswhen you just need the card.synthesize(question)— the explicitly-expensive cross-page answer; the heavy version ofquery. Reach for it only when the answer must combine evidence across pages. Fall back tosearch/query/get_pagewhen the verbs aren't on the surface (pre-0.43 servers;--surface fullincludes the verbs alongside every other op). Seedocs/protocol/MEMORY_VERBS_v1.md.
Contract
This skill guarantees:
- Every answer is grounded in brain content (no hallucination)
- Every claim has a citation tracing back to a specific page slug
- Gaps are flagged explicitly ("the brain doesn't have information on X")
- Source precedence is respected (user statements > compiled truth > timeline > external)
- Conflicting sources are noted with both citations
Phases
- Decompose the question into search strategies:
- Keyword search for specific names, dates, terms
- Semantic query for conceptual questions
- Structured queries (list by type, backlinks) for relational questions
- Execute searches:
- Cheap-hybrid search gbrain for exact tokens / known names (search)
- Full-hybrid search gbrain with multi-query expansion for concept questions (query)
- List pages in gbrain by type or check backlinks for structural queries
- Read top results. Read the top 3-5 pages from gbrain to get full context.
- Synthesize answer with citations. Every claim traces back to a specific page slug.
- Flag gaps. If the brain doesn't have info, say "the brain doesn't have information on X" rather than hallucinating. Read the result's notices first (see "When it fails"): a degraded or truncated result is not a gap.
When it fails
Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:
- Check each retrieval result for notices before answering: on MCP, extra text blocks whose first line looks like [gbrain notice empty_retrieval kind=degraded], mirrored in
_meta.gbrain_notices; on the CLI, the[AGENT]block,search_degraded, or anote: search degradedline. empty_retrievalwithkind=degraded(orsearch_degraded: keyword_only_no_embedding_provider): an empty result is NOT proof the user has no notes. Tell the user "your brain is searching keywords only right now, so I may be missing notes on X", try exact names and synonyms withgbrain search, and point to the notice's fix (usually enabling embeddings).empty_retrievalwith "no retrieval degradation — this is a clean miss": then say "the brain doesn't have information on X".listing_truncatedorbudget_truncated: the list was cut off. Say "showing the first N", and page or narrow the query before claiming something is absent.page_not_foundfromget_page: the slug is wrong or in another source; search by title (and check--source) before reporting the page missing.
Anti-Patterns
- Answering from general knowledge when the brain has relevant content
- Hallucinating facts not in the brain
- Silently picking one source when sources conflict
- Loading full pages when search chunks are sufficient
- Ignoring source precedence (user statements are highest authority)
Output Format
Answers should include:
- Direct response to the question
- Citations: "According to [Source: people/jane-doe, compiled truth]..."
- Gap flags: "The brain doesn't have information on X"
- Conflict notes when sources disagree
Quality Rules
- Never hallucinate. Only answer from brain content.
- Cite sources: "According to concepts/do-things-that-dont-scale..."
- Flag stale results: if a search result shows [STALE], note that the info may be outdated
- For "who" questions, use backlinks and typed links to find connections
- For "what happened" questions, use timeline entries
- For "what do we know" questions, read compiled_truth directly
Token-Budget Awareness
Search returns chunks, not full pages. Read the excerpts first before deciding whether to load a full page.
For a question about saved page evidence with a tight budget, explicitly choose
recall with budget_policy: "query_first". It gives the existing ranked page
results first use of the budget, then packs recent/filtered facts into what remains.
This is an opt-in packing choice, not a new relevance model: an irrelevant page can
displace a useful fact. Keep entity-first, session/event-filtered and fact-focused
questions on their existing facts-first route. Do not change context_pack or
existing third-party calls.
gbrain recall --query 'zebra telescope' --budget-tokens 75 --budget-policy query_first --json
Equivalent MCP request:
{"name":"recall","arguments":{"query":"zebra telescope","budget_tokens":75,"budget_policy":"query_first"}}
Say to your agent: “Recall the saved notes about the zebra telescope using a 75-token estimated budget and query-first packing. Cite the returned evidence; if the first page cannot fit, tell me rather than treating that as missing memory.”
Use the resolved brain and source as usual; the option does not widen permissions.
budget_packing reports the effective policy and per-arm candidate/kept/dropped/used
counts. Costs estimate ceil(fact.length/4) or
ceil(title.length/4) + ceil(chunk.length/4), not exact tokenizer or JSON-envelope
size. Packing never skips an oversized prefix item or truncates it; multiple
required pages may still not fit. With no nonblank query or no positive finite
budget, the operation keeps legacy behavior. An eligible positive budget below one
token returns empty arms. See the protocol for fractional-budget compatibility.
This guidance and advertised tool schemas do not prove native-harness adoption. Confirm an observed query-first call in a fresh harness conversation before claiming activation; otherwise report adoption as unverified.
gbrain search/gbrain queryreturn ranked chunks with context snippets. These are often enough to answer the question directly.- Hits on conversation pages (sessions, transcripts, meetings, chat logs)
already come back as the whole session by default (
return_unit: "auto", 24,000-token default budget). For other multi-page or "when did X change" questions, where the answer depends on the surrounding text rather than one chunk, ask for whole evidence in the same call:return_unit: "page"(whole page, budgeted bytoken_budget, default 6,000) or"window"(neighbor chunks).return_unit: "chunk"opts out. Each result then carries the evidence inchunk_textplus adeliveredblock; see evidence delivery.gbrain query "when did the launch move?" --return-unit page --token-budget 6000 - Only use
gbrain get <slug>to load the full page when a chunk confirms the page is relevant and you need more context (e.g., compiled truth, timeline). - "Tell me about X" -- get the full page (the user wants the complete picture).
- "Did anyone mention Y?" -- search results are enough (the user wants a yes/no with evidence).
Source precedence
When multiple sources provide conflicting information, follow this precedence:
- User's direct statements (highest authority -- what the user told you directly)
- Compiled truth (the brain's synthesized, cited understanding)
- Timeline entries (raw evidence, reverse-chronological)
- External sources (web search, API enrichment -- lowest authority)
When sources conflict, note the contradiction with both citations. Don't silently pick one.
Citation in Answers
When referencing brain pages in your answer, propagate inline citations:
- Cite the page: "According to [Source: people/jane-doe, compiled truth]..."
- When brain pages have inline
[Source: ...]citations, propagate them so the user can trace facts to their origin - When you synthesize across multiple pages, cite all sources
Graph Traversal (v0.10.1+)
For relationship questions ("who knows who at X?", "connections between A and B", "who works at Acme?", "who attended the standup?"), use the graph layer instead of full-text search:
gbrain graph-query <slug> --type <link_type> --depth N --direction in|out|both- Available link types:
attended,works_at,invested_in,founded,advises,mentions,source --direction inanswers "who points to X?" (e.g., who works at company X)--direction outanswers "what does X point to?" (default)--depth Ncontrols multi-hop traversal (default 5)
Examples:
- "Who works at Acme?" →
gbrain graph-query companies/acme --type works_at --direction in - "Who attended Demo Day W26?" →
gbrain graph-query meetings/demo-day-w26 --type attended --direction out - "What companies has Emily advised?" →
gbrain graph-query people/emily --type advises --direction out - "Who has Alice met (via meetings)?" →
gbrain graph-query people/alice --type attended --depth 2
Combine with gbrain query for queries that need BOTH semantic similarity AND
graph structure. Search results are ranked with a small backlink boost so well-
connected entities surface higher.
Search Quality Awareness
If search results seem off (wrong results, missing known pages, irrelevant hits):
- Run
gbrain doctor --jsonto check index health - Check embedding coverage -- partial embeddings degrade hybrid search
- Compare keyword search (
gbrain search) vs hybrid search (gbrain query) for the same query to isolate whether the issue is embedding-related - Report search quality issues in the maintain workflow (see maintain skill)
Tools Used
- Keyword search gbrain (search)
- Hybrid search gbrain (query)
- Read a page from gbrain (get_page)
- List pages in gbrain with filters (list_pages)
- Check backlinks in gbrain (get_backlinks)
- Traverse the link graph in gbrain (traverse_graph)
- View timeline entries in gbrain (get_timeline)
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/garrytan/gbrain/query">View query on skillZs</a>