Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Hybrid search (vector + BM25 via RRF + metadata boost) against the pgvector Knowledge base, with optional RAG synthesis. Use when the user asks factual questions that should be grounded in indexed documents (e.g., 'what do we know about X', 'search the knowledge base for Y', '@knowledge <query>'). Pass answer=true to synthesize a narrative response with citations instead of raw snippets.
.claude/skills/evolution-foundation-knowledge-query/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 189% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 208% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 117% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -9% | 0% |
Group: Consumption. Hybrid search on pgvector + optional RAG (LLM synthesis with citations).
| Name | Type | Default | Description | |---|---|---|---| | query | str | required | Natural language question | | connection | str | first ready | Connection slug (e.g., "academy", "acme") | | space | str | null = all | Space slug within the connection | | top_k | int | 5 | How many snippets to return | | filters | dict | {} | {unit_id, content_type, topics, date_range} | | answer | bool | false | If true, synthesize narrative answer with citations |
If connection is not provided, call GET /api/knowledge/connections?status=ready and use the first one. If none ready: return actionable error: "No Knowledge connection configured. Run knowledge-admin action=connect first."
pythonfrom dashboard.backend.sdk_client import evo hits = evo.post( "/api/knowledge/v1/search", {"query": query, "space": space, "top_k": top_k, "filters": filters}, headers={"X-Knowledge-Connection": connection}, )
Response: list of {chunk_id, content, document_id, title, content_type, similarity_score, metadata: {page, section, heading_path}}.
answer=false)For each hit:
**[{content_type}]** {title} — p.{metadata.page or "?"}
> {content[:300]}...
Score: {similarity_score:.3f}Separate with ---.
answer=true)You are a factual assistant. Answer ONLY using the sources below.
Cite each fact with [source:page] right after the claim.
If sources don't cover the question: "The knowledge base contains no information on this."
### Question
{query}
### Sources
[1] {title_1} (p.{page_1}): {content_1}
[2] {title_2} (p.{page_2}): {content_2}
...
### Answeranthropic SDK (ANTHROPIC_API_KEY from .env). Model: claude-haiku-4-5-20251001. Max tokens: 800.answer=false: markdown list of snippets with scoresanswer=true: narrative answer + sourcesSearched {N} chunks in {connection}/{space or "all"} in {elapsed_ms}msX does not exist. Run knowledge-admin action=health."ANTHROPIC_API_KEY missing with answer=true → fallback to raw snippets + warning| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→pass | 6,650 | 1,591 | -76% | 1 | 1 | 0% | 351 | 1,015 | +189% | 0 | 0 | — |
case-01 | fail→pass | 4,616 | 7,918 | +72% | 1 | 1 | 0% | 646 | 1,991 | +208% | 0 | 0 | — |
case-02 | fail→pass | 6,435 | 11,854 | +84% | 1 | 1 | 0% | 885 | 1,919 | +117% | 0 | 0 | — |
case-03 | fail→pass | 14,085 | 7,059 | -50% | 1 | 1 | 0% | 2,293 | 2,000 | -13% | 0 | 0 | — |
case-04 | fail→fail | 12,876 | 9,657 | -25% | 1 | 1 | 0% | 747 | 2,433 | +226% | 0 | 0 | — |
case-05 | fail→pass | 7,468 | 2,086 | -72% | 1 | 1 | 0% | 1,213 | 1,098 | -9% | 0 | 0 | — |
case-07 | fail→pass | 3,306 | 3,478 | +5% | 1 | 1 | 0% | 591 | 1,317 | +123% | 0 | 0 | — |
case-08 | pass→pass | 5,418 | 3,048 | -44% | 1 | 1 | 0% | 909 | 1,297 | +43% | 0 | 0 | — |
case-09 | fail→pass | 13,539 | 7,236 | -47% | 1 | 1 | 0% | 2,228 | 2,069 | -7% | 0 | 0 | — |
case-10 | fail→pass | 8,411 | 5,264 | -37% | 1 | 1 | 0% | 1,617 | 1,909 | +18% | 0 | 0 | — |
case-11 | fail→fail | 10,743 | 9,918 | -8% | 1 | 1 | 0% | 1,704 | 2,643 | +55% | 0 | 0 | — |
case-12 | fail→fail | 9,527 | 5,725 | -40% | 1 | 1 | 0% | 1,469 | 1,765 | +20% | 0 | 0 | — |
case-13 | pass→pass | 9,998 | 3,591 | -64% | 1 | 1 | 0% | 1,771 | 1,447 | -18% | 0 | 0 | — |
case-14 | fail→pass | 10,162 | 4,129 | -59% | 1 | 1 | 0% | 1,659 | 1,564 | -6% | 0 | 0 | — |
case-15 | fail→pass | 4,154 | 2,926 | -30% | 1 | 1 | 0% | 774 | 1,231 | +59% | 0 | 0 | — |
case-16 | fail→pass | 6,994 | 4,269 | -39% | 1 | 1 | 0% | 1,366 | 1,451 | +6% | 0 | 0 | — |
case-17 | fail→pass | 10,065 | 5,342 | -47% | 1 | 1 | 0% | 1,592 | 1,815 | +14% | 0 | 0 | — |
case-18 | fail→pass | 9,732 | 11,313 | +16% | 1 | 1 | 0% | 642 | 2,829 | +341% | 0 | 0 | — |
case-19 | pass→pass | 11,037 | 6,660 | -40% | 1 | 1 | 0% | 2,153 | 2,028 | -6% | 0 | 0 | — |
case-20 | fail→pass | 18,496 | 5,981 | -68% | 1 | 1 | 0% | 3,071 | 1,922 | -37% | 0 | 0 | — |
case-21 | fail→pass | 4,960 | 2,453 | -51% | 1 | 1 | 0% | 897 | 1,208 | +35% | 0 | 0 | — |
case-22 | pass→pass | 4,573 | 9,070 | +98% | 1 | 1 | 0% | 703 | 2,405 | +242% | 0 | 0 | — |
case-23 | pass→pass | 10,261 | 6,059 | -41% | 1 | 1 | 0% | 1,904 | 1,893 | -1% | 0 | 0 | — |
case-24 | pass→pass | 8,928 | 6,473 | -27% | 1 | 1 | 0% | 1,611 | 1,935 | +20% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 21 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +63 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.