RAG Implementation
wshobson/agents
Build retrieval-augmented generation systems: pick a vector database and embedding model, choose retrieval and reranking strategies, and start from a LangGraph pipeline.
Expanding the candidate pool via relevance feedback, as an alternative to reranking when a dense retriever is too weak.
$ npx skills add qdrant/skills --skill qdrant-relevance-feedback -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install qdrant/skills qdrant-relevance-feedback --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/qdrant/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qdrant-search-quality/search-strategies/relevance-feedback .claude/skills/qdrant-relevance-feedback && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "qdrant-relevance-feedback" agent skill from https://github.com/qdrant/skills/tree/main/skills/qdrant-search-quality/search-strategies/relevance-feedback into .claude/skills/qdrant-relevance-feedback/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qdrant-relevance-feedback", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/qdrant/skills/tree/main/skills/qdrant-search-quality/search-strategies/relevance-feedbackType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add qdrant/skills --skill qdrant-relevance-feedback -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install qdrant/skills qdrant-relevance-feedback --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qdrant/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/qdrant-search-quality/search-strategies/relevance-feedback .agents/skills/qdrant-relevance-feedback && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "qdrant-relevance-feedback" agent skill from https://github.com/qdrant/skills/tree/main/skills/qdrant-search-quality/search-strategies/relevance-feedback into .agents/skills/qdrant-relevance-feedback/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qdrant-relevance-feedback", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qdrant/skills --skill qdrant-relevance-feedback -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install qdrant/skills qdrant-relevance-feedback --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qdrant/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/qdrant-search-quality/search-strategies/relevance-feedback .cursor/skills/qdrant-relevance-feedback && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "qdrant-relevance-feedback" agent skill from https://github.com/qdrant/skills/tree/main/skills/qdrant-search-quality/search-strategies/relevance-feedback into .cursor/skills/qdrant-relevance-feedback/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qdrant-relevance-feedback", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/qdrant/skills.git --path skills/qdrant-search-quality/search-strategies/relevance-feedback--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add qdrant/skills --skill qdrant-relevance-feedback -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install qdrant/skills qdrant-relevance-feedback --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qdrant/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/qdrant-search-quality/search-strategies/relevance-feedback .gemini/skills/qdrant-relevance-feedback && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "qdrant-relevance-feedback" agent skill from https://github.com/qdrant/skills/tree/main/skills/qdrant-search-quality/search-strategies/relevance-feedback into .gemini/skills/qdrant-relevance-feedback/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qdrant-relevance-feedback", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install qdrant/skills qdrant-relevance-feedbackInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add qdrant/skills --skill qdrant-relevance-feedback -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/qdrant/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/qdrant-search-quality/search-strategies/relevance-feedback .github/skills/qdrant-relevance-feedback && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "qdrant-relevance-feedback" agent skill from https://github.com/qdrant/skills/tree/main/skills/qdrant-search-quality/search-strategies/relevance-feedback into .github/skills/qdrant-relevance-feedback/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qdrant-relevance-feedback", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add qdrant/skills --skill qdrant-relevance-feedback -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install qdrant/skills qdrant-relevance-feedback --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/qdrant/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/qdrant-search-quality/search-strategies/relevance-feedback .opencode/skills/qdrant-relevance-feedback && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "qdrant-relevance-feedback" agent skill from https://github.com/qdrant/skills/tree/main/skills/qdrant-search-quality/search-strategies/relevance-feedback into .opencode/skills/qdrant-relevance-feedback/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "qdrant-relevance-feedback", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
qdrant-relevance-feedbackExpanding the candidate pool via relevance feedback, as an alternative to reranking when a dense retriever is too weak.
Qdrant Relevance Feedback is an agent skill from qdrant/skills, published by the product's own GitHub organization. Expanding the candidate pool via relevance feedback, as an alternative to reranking when a dense retriever is too weak. Use when someone asks about 'Qdrant's Relevance Feedback API', 'improving dense search relevance/recall', 'how to discover/get more relevant results from vector search', 'cheaper/better alternative to reranking', 'using a more heavy/big embedding model for dense search but can't afford it', 'finding more relevant documents beyond the initial search pool', or 'feedback loops'. Also trigger when…
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering, covering Vector databases and Retrieval-augmented generation. It works with Qdrant. The repository describes itself as: Agent skills for Qdrant vector search: scaling, performance optimization, search quality, monitoring, deployment, model migration, version upgrades, and SDK usage across Python…. The licence is Apache-2.0.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 476a18d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
skills.qdrant.techpypi.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Qdrant Relevance Feedback loads about 2.7k tokens when it runs. Until then it costs about 173 tokens; SKILL.md has 1,473 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from qdrant/skills at commit 476a18d, republished under its Apache-2.0 licence (© qdrant). 1,473 words, ~2,685 tokens.
.claude/skills/qdrant-relevance-feedback/SKILL.md (or your agent's skills folder).Reranking reorders documents that have already been retrieved. Qdrant's Relevance Feedback (RF) instead modifies the vector search process itself based on a small amount of reranker feedback, distilling reranker (feedback model) knowledge into the search step. This allows RF to surface documents that the initial ANN search did not score highly enough.
The RF is intended for tasks where relevance correlates with similarity in vector space.
How you apply the RF depends on your goals.
First, understand how the RF works, read the ENTIRE section. Then define your goals and choose the appropriate usage pattern described below. Make sure to avoid the listed anti-patterns ("DO NOTs"). Before implementing anything, read CAREFULLY to avoid missing important details.
The Qdrant Query Point API with a type RelevanceFeedbackQuery takes:
target)feedback) with relevance scores (often 4–5 seeds are enough)If you do not train the formula weights, results will at best be random, will not align with your data distribution or model behavior. Training is lightweight because the formula itself is simple.
During search, it scores each candidate by combining similarity to the original query, similarity to highly rated seed documents and dissimilarity to poorly rated ones.
A feedback model is any model that can produce a float relevance score for (query, document) pairs. Higher scores must always mean higher relevance.
Examples: a cross-encoder, embedding similarity (for example, cosine similarity between query and document embeddings, or max_sim for late interaction models), an LLM-based scorer, a custom ranker.
The feedback model used during training and inference MUST be the same model. Formula weights during training are calibrated to that model's score distribution. If you switch feedback models, you must retrain.
What is a Good Feedback Model:
Use when: setting up RF for a new use case — a new collection, feedback model, or embedding model powering ANN search.
RF uses a weighted formula that combines the original query vector with feedback signals.
For the currently available naive strategy, the learned weights control:
a — how much to trust the original ANN query-document similarityb — how strongly differences in feedback scores matterc — how strongly to follow the feedback direction (toward relevant documents and away from irrelevant ones)These weights must be learned from your data before use. You cannot safely use arbitrary values.
RelevanceFeedback instance. You can use provided QdrantRetriever or FastembedFeedback, or define your own.train parameters before calling train. The library retrieves limit candidates per train query, scores them with the feedback model, learns the weighting parameters, and returns the calibrated values.train on 50–200 representative, real, non-synthetic queries.Evaluator on a separate test set of representative, real, non-synthetic queries. If results seem unsatisfactory, investigate and inform user.The retriever, feedback model, and related parameters defined during training are assumed to remain the same during inference.
Use when: top-1 or top-3 precision matters most, and reranking a large pool of documents would be too expensive or slow. This pattern below can match reranking quality at the top of the ranking for semantic similarity tasks, but it performs worse at deeper cutoffs. Do not use this approach when top-10+ recall is the priority.
Only score a small set of seed documents. Five seeds is a robust default across many task types and scoring them costs user roughly 5× less than reranking a 25-document pool.
target to the query retriever embedding (also possible to use Qdrant Cloud Inference).feedback to a list of items where each item contains:example=<seed vector, same embedding model as for target> (also possible to use Qdrant Cloud Inference)score=<feedback model score>using to retriever's handle, RF operates in retriever's vector space. strategy to naive with your calibrated parameterslimit to the number of final results you need and use the RF results directly as final results.Check the Relevance Feedback Query API documentation and study code/methods of the relevant SDK before filling in anything.
Using a point ID in example causes the RF API to automatically exclude that document from the final results. Using stored embeddings used for retrieval instead potentially keeps the document in the final results.
Use when: recall matters more than latency or cost (research, legal, medical, compliance), and relevant documents may exist outside the initial ANN retrieval pool.
It performs two feedback model scoring rounds:
The second reranking pass safely promotes newly discovered documents into the top-10 of the final ranking. The advantage over standard reranking is that RF can reach relevant documents that lie completely outside the initial ANN pool, while a reranker with the same budget cannot. The tradeoff is higher latency due to two rounds of feedback-model scoring.
target to the query retriever embedding (also possible to use Qdrant Cloud Inference)feedback to a list of items where each item contains:example=<seed point ID>score=<feedback score>using to retriever's handle, RF operates in retriever's vector space. strategy to naive with your calibrated parameterslimit to the number of results user can afford to rerank based on the available cost budget. The total scoring cost equals the cost of scoring both the seeds and the RF results, roughly equivalent to reranking a pool of the same combined size. Inform and consult with the user.Check the Relevance Feedback Query API documentation and study code/methods of the relevant SDK before filling in anything.
Using a point ID in example causes the RF API to automatically exclude that document from the final results. Using stored embeddings used for retrieval instead potentially keeps the document in the final results.
a=1, b=0, c=0 can be used if you only want vanilla ANN behavior through the RF API.)© qdrant, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/qdrant-search-quality/search-strategies/relevance-feedback of qdrant/skills.
Open the folder on GitHubat commit 476a18d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in qdrant/skills, which our catalogue first saw on October 7, 2026.
Qdrant Relevance Feedback next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Qdrant Relevance Feedback this skillqdrant/skills | 253 | 1 repos | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| RAG Implementationwshobson/agents | 40k | 10 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Hunt RAG Vectorelementalsouls/Claude-BugHunter | 4.8k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Qdrant Search Qualitygithub/awesome-copilot | 40k | 1 repos | ~336 | Automated safety check: Pass | MIT | |
| QdrantLuciole-Studio/Misaka-Agent | 139 | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Building RAG Systemsaiskillstore/marketplace | 430 | 1 repos | ~2.7k | Automated safety check: Pass | None |
wshobson/agents
Build retrieval-augmented generation systems: pick a vector database and embedding model, choose retrieval and reranking strategies, and start from a LangGraph pipeline.
elementalsouls/Claude-BugHunter
Hunt vector-store / embedding-layer weaknesses in RAG pipelines (OWASP LLM08 Vector and Embedding Weaknesses) — persistent corpus poisoning that survives across sessions and users (distinct from…
github/awesome-copilot
Diagnoses and improves Qdrant search relevance. An agent skill from github/awesome-copilot.
Luciole-Studio/Misaka-Agent
Vector search engine for production RAG systems. An agent skill from Luciole-Studio/Misaka-Agent.
aiskillstore/marketplace
Build production RAG systems with semantic chunking, incremental indexing, and filtered retrieval.
Orchestra-Research/AI-Research-SKILLs
Explains how to run Qdrant, a Rust vector database, for RAG and semantic search, covering collections, points, distance metrics and filtered or batched queries.
qdrant/skills
Qdrant provides client SDKs for various programming languages, allowing easy integration with Qdrant deployments.
qdrant/skills
Diagnose, troubleshoot, and advise on any Qdrant deployment by loading the latest official Qdrant skills live from skills.qdrant.tech.
qdrant/skills
Guides Qdrant deployment selection. An agent skill from qdrant/skills.
qdrant/skills
Guides Qdrant search strategy selection. An agent skill from qdrant/skills.
qdrant/skills
Diagnoses and guides Qdrant horizontal scaling decisions. An agent skill from qdrant/skills.
qdrant/skills
Diagnoses and fixes slow Qdrant indexing and data ingestion.
Works with
Categories
Expanding the candidate pool via relevance feedback, as an alternative to reranking when a dense retriever is too weak. Qdrant Relevance Feedback is an agent skill from qdrant/skills, published by the product's own GitHub organization. Expanding the candidate pool via relevance feedback, as an alternative to reranking when a dense retriever is too weak.
Qdrant Relevance Feedback fits situations like: someone asks about Qdrants Relevance Feedback API; improving dense search relevance/recall; how to discover/get more relevant results from vector search; cheaper/better alternative to reranking.
Run `npx skills add qdrant/skills --skill qdrant-relevance-feedback -a claude-code`. Or copy the skill folder (skills/qdrant-search-quality/search-strategies/relevance-feedback in qdrant/skills) into .claude/skills/qdrant-relevance-feedback in your project. Claude Code loads it when a task matches its description.
Run `npx skills add qdrant/skills --skill qdrant-relevance-feedback -a codex`. Or copy the skill folder (skills/qdrant-search-quality/search-strategies/relevance-feedback in qdrant/skills) into .agents/skills/qdrant-relevance-feedback in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add qdrant/skills --skill qdrant-relevance-feedback -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qdrant-relevance-feedback, .gemini/skills/qdrant-relevance-feedback, .github/skills/qdrant-relevance-feedback and .opencode/skills/qdrant-relevance-feedback in your project.
SKILL.md names no scripts, command-line tools or credentials: Qdrant Relevance Feedback is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 2 domains. As links in the text: skills.qdrant.tech and pypi.org. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Qdrant Relevance Feedback is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Qdrant Relevance Feedback: RAG Implementation (wshobson/agents, 40k stars), Hunt RAG Vector (elementalsouls/Claude-BugHunter, 4.8k stars), Qdrant Search Quality (github/awesome-copilot, 40k stars) and Qdrant (Luciole-Studio/Misaka-Agent, 139 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
qdrant (a GitHub organization, an official publisher) maintains it in qdrant/skills, which has 253 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 7, 2026.
Source: qdrant/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.