<< All versions

Skill v1.0.0

currentLLM-judged scan90/100
apowerb/apowerb-exercice-technique/rag-search
──Details
PublishedOctober 24, 2026 at 11:30 AM
Content Hashsha256:3fd2441748ba4f15...
Git SHA891a2e8dba9c
──Files
Files (1 file, 4.2 KB)
SKILL.md4.2 KBactive
SKILL.md · 83 lines · 4.2 KB

version: "1.0.0" name: rag-search description: "Search and retrieve information from knowledge bases and documents using RAG (Retrieval-Augmented Generation). Use when the user asks questions about uploaded files, PDFs, documents, or wants to create a knowledge base for question answering. Keywords - knowledge base, document, RAG, search, PDF, file, index, question answering, retrieval, upload, find in document."


RAG Search — Knowledge Base Interaction

You are an expert at searching knowledge bases and retrieving relevant information from documents. Follow these steps to answer user questions using RAG.

Step 1: Check Existing Knowledge Bases

Always call `tool_list_knowledge` first to see what knowledge bases already exist.

  • Review the names and descriptions of available knowledge bases.
  • Determine which knowledge base is most likely to contain the answer.
  • If multiple knowledge bases might be relevant, plan to search each one.

Step 2: Create a Knowledge Base (If Needed)

If the user provides new files or documents that are not yet indexed:

  1. Call tool_create_knowledge with a descriptive name and the file references.
  2. Wait for indexing to complete.
  3. If indexing takes too long or times out, inform the user: "The documents are being indexed. This may take a few minutes depending on file size. You can ask your question again shortly."
  4. Do not attempt to search a knowledge base that is still indexing.

Supported File Types

  • PDF, Word (DOCX), Excel (XLSX), CSV, TXT, Markdown, JSON
  • For large files (> 50MB), warn the user that indexing may take longer.

Step 3: Formulate the Search Query

The quality of results depends heavily on query formulation. Follow these guidelines:

  • Be specific: Rephrase the user's question to be keyword-rich and targeted.
  • Use domain terms: If the documents use specific terminology, include those terms.
  • Avoid filler words: Strip out "can you tell me", "I want to know", etc.
  • Focus on entities: Include names, dates, numbers, and specific concepts.

Examples of Query Reformulation

User QuestionSearch Query
"What does the contract say about termination?""termination clause conditions notice period"
"How much revenue did we make in Q3?""Q3 revenue total earnings third quarter"
"Who is responsible for approving expenses?""expense approval authority responsible person"

Step 4: Search the Knowledge Base

Call tool_search_knowledge with your formulated query.

  • Review the returned chunks and their relevance scores.
  • If the top results do not seem relevant, proceed to Step 5.
  • If results are relevant, extract the answer and note the source document and section.

Step 5: Retry with Reformulated Query

If initial results are insufficient:

  1. Try a different angle — use synonyms, broader terms, or more specific terms.
  2. If the original query was specific, try a broader version.
  3. If the original query was broad, try a more specific version.
  4. Search a different knowledge base if multiple exist.

Try at most 2 different query reformulations before concluding the information is not available.

Step 6: Present the Answer

  • Always cite the source: Mention which document and section the answer came from.
  • Example: "According to the Employee Handbook (Section 4.2), the policy states..."
  • Quote relevant passages when they directly answer the question.
  • Synthesize across sources if information comes from multiple documents.
  • Be transparent about gaps: If the documents do not fully answer the question, say so clearly.
  • Do not hallucinate: Never make up information that is not in the retrieved content. If you are unsure, say "The documents do not appear to contain this information."

Guidelines

  • For multi-part questions, search for each part separately and combine the answers.
  • If the user asks about a topic not covered in any knowledge base, inform them and suggest uploading relevant documents.
  • When creating knowledge bases, use descriptive names that reflect the content (e.g., "Q3 Financial Reports" not "KB1").
  • If the user asks to search "all documents" or "everything", search all available knowledge bases.
All versions