knowledge-query

GitHub

基于 pgvector 的知识库混合搜索与 RAG 合成技能,支持向量+BM25检索及可选的LLM摘要生成。

.claude/skills/knowledge-query/SKILL.md evolution-foundation/evo-nexus

Trigger Scenarios

用户询问关于X的事实性问题 要求搜索知识库中的Y 使用 @knowledge <query> 指令

Install

npx skills add evolution-foundation/evo-nexus --skill knowledge-query -g -y
More Options

Non-standard path

npx skills add https://github.com/evolution-foundation/evo-nexus/tree/main/.claude/skills/knowledge-query -g -y

Use without installing

npx skills use evolution-foundation/evo-nexus@knowledge-query

指定 Agent (Claude Code)

npx skills add evolution-foundation/evo-nexus --skill knowledge-query -a claude-code -g -y

安装 repo 全部 skill

npx skills add evolution-foundation/evo-nexus --all -g -y

预览 repo 内 skill

npx skills add evolution-foundation/evo-nexus --list

SKILL.md

Frontmatter
{
    "name": "knowledge-query",
    "description": "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."
}

knowledge-query

Group: Consumption. Hybrid search on pgvector + optional RAG (LLM synthesis with citations).

When to trigger

  • "What do we know about X?"
  • "Search the knowledge base for Y"
  • "@knowledge "
  • Any factual question that should be grounded in indexed documents

Arguments

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

Workflow

Step 1 — Identify active connection

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."

Step 2 — Hybrid search

from 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}}.

Step 3a — Format snippets (if answer=false)

For each hit:

**[{content_type}]** {title} — p.{metadata.page or "?"}
> {content[:300]}...
Score: {similarity_score:.3f}

Separate with ---.

Step 3b — RAG synthesis (if answer=true)

  1. Take top-5 snippets
  2. Build prompt:
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}
...

### Answer
  1. Call Claude Haiku 4.5 via anthropic SDK (ANTHROPIC_API_KEY from .env). Model: claude-haiku-4-5-20251001. Max tokens: 800.
  2. Render response + sources block at the end.

Output

  • answer=false: markdown list of snippets with scores
  • answer=true: narrative answer + sources
  • Always: footer Searched {N} chunks in {connection}/{space or "all"} in {elapsed_ms}ms

Actionable failures

  • Connection not found → "Connection X does not exist. Run knowledge-admin action=health."
  • Space not found → list available spaces
  • 0 hits → suggest relaxing filters
  • ANTHROPIC_API_KEY missing with answer=true → fallback to raw snippets + warning

Version History

  • 7f5dd76 Current 2026-07-25 04:55

Same Skill Collection

.claude/skills/create-agent/SKILL.md
.claude/skills/create-command/SKILL.md
.claude/skills/create-goal/SKILL.md
.claude/skills/create-heartbeat/SKILL.md
.claude/skills/create-integration/SKILL.md
.claude/skills/create-routine/SKILL.md
.claude/skills/create-ticket/SKILL.md
.claude/skills/cs-ticket-triage/SKILL.md
.claude/skills/data-build-dashboard/SKILL.md
.claude/skills/data-create-viz/SKILL.md
.claude/skills/data-explore/SKILL.md
.claude/skills/data-statistical-analysis/SKILL.md
.claude/skills/data-validate/SKILL.md
.claude/skills/db-mongo/SKILL.md
.claude/skills/db-mysql/SKILL.md
.claude/skills/db-postgres/SKILL.md
.claude/skills/db-redis/SKILL.md
.claude/skills/dev-ai-slop-cleaner/SKILL.md
.claude/skills/dev-ask/SKILL.md
.claude/skills/dev-autopilot/SKILL.md
.claude/skills/dev-cancel/SKILL.md
.claude/skills/dev-ccg/SKILL.md
.claude/skills/dev-configure-notifications/SKILL.md
.claude/skills/dev-deep-dive/SKILL.md
.claude/skills/dev-deep-interview/SKILL.md
.claude/skills/dev-deepinit/SKILL.md
.claude/skills/dev-external-context/SKILL.md
.claude/skills/dev-learner/SKILL.md
.claude/skills/dev-mcp-setup/SKILL.md
.claude/skills/dev-plan/SKILL.md
.claude/skills/dev-project-session-manager/SKILL.md
.claude/skills/dev-ralph/SKILL.md
.claude/skills/dev-ralplan/SKILL.md
.claude/skills/dev-release/SKILL.md
.claude/skills/dev-remember/SKILL.md
.claude/skills/dev-sciomc/SKILL.md
.claude/skills/dev-skillify/SKILL.md
.claude/skills/dev-team/SKILL.md
.claude/skills/dev-trace/SKILL.md
.claude/skills/dev-ultraqa/SKILL.md
.claude/skills/dev-verify/SKILL.md
.claude/skills/dev-visual-verdict/SKILL.md
.claude/skills/discord-create-channel/SKILL.md
.claude/skills/discord-get-messages/SKILL.md
.claude/skills/discord-list-channels/SKILL.md
.claude/skills/discord-manage-channel/SKILL.md
.claude/skills/discord-send-message/SKILL.md
.claude/skills/fin-audit-support/SKILL.md
.claude/skills/fin-close-management/SKILL.md
.claude/skills/fin-daily-pulse/SKILL.md

Metadata

Files
0
Version
7f5dd76
Hash
9764cbf5
Indexed
2026-07-25 04:55

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 00:55
浙ICP备14020137号-1 $mapa de visitantes$