Official agent skill

Qdrant Migration Tool

by qdrant in qdrant/skills

Guides use of the Qdrant Migration Tool CLI to move vectors, metadata, and sparse embeddings from another vector database into Qdrant.

OfficialApache-2.0Auto-check passedDatabases

Install Qdrant Migration Tool

skills CLI
$ npx skills add qdrant/skills --skill qdrant-migration-tool -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install qdrant/skills qdrant-migration-tool --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/qdrant/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qdrant-migration-tool .claude/skills/qdrant-migration-tool && rm -rf skills-src

Use ~/.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/

Facts

Skill name
qdrant-migration-tool
GitHub stars
253
Token cost
~1.9k tokens
SKILL.md length
751 words
Files
1
Skills in repo
33
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides use of the Qdrant Migration Tool CLI to move vectors, metadata, and sparse embeddings from another vector database into Qdrant.

  • Move my vector database to Qdrant
  • SKILL.md covers Picking the Right Subcommand, Running Against Local Instances, Migration Was Interrupted and Migration Is Too Slow, plus 2 more sections
  • Calls docker
  • Is there a migration tool for Qdrant

What it does

Qdrant Migration Tool is an agent skill from qdrant/skills, published by the product's own GitHub organization. Guides use of the Qdrant Migration Tool CLI to move vectors, metadata, and sparse embeddings from another vector database into Qdrant. Use when someone asks 'how do I migrate from Pinecone/Weaviate/Milvus/Elasticsearch/OpenSearch/pgvector/s3/Azure/Chroma/Redis/MongoDB/FAISS/Solr to Qdrant', 'move my vector database to Qdrant', 'is there a migration tool for Qdrant', 'my migration got interrupted, how do I resume it', 'migration is too slow', or 'collection wasn't created after migration'. Also use when picking…

Its SKILL.md is about 1.9k 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 Databases, covering Vector databases. It works with Qdrant, MongoDB, Redis and Weaviate. 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.

When your agent uses it

  • Move my vector database to Qdrant
  • Is there a migration tool for Qdrant
  • My migration got interrupted
  • How do I resume it

Example prompts

  • “move my vector database to Qdrant”
  • “is there a migration tool for Qdrant”
  • “my migration got interrupted, how do I resume it”
  • “/qdrant-migration-tool”

Requirements

  • Docker

What it can do on your machine

Read from SKILL.md and the folder at commit 476a18d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • docker

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • skills.qdrant.tech
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Qdrant Migration Tool loads about 1.9k tokens when it runs. Until then it costs about 156 tokens; SKILL.md has 751 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~156
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from qdrant/skills at commit 476a18d, republished under its Apache-2.0 licence (© qdrant). 751 words, ~1,913 tokens.

Download SKILL.mdSave it as .claude/skills/qdrant-migration-tool/SKILL.md (or your agent's skills folder).
name
qdrant-migration-tool
description
Guides use of the Qdrant Migration Tool CLI to move vectors, metadata, and sparse embeddings from another vector database into Qdrant. Use when someone asks 'how do I migrate from Pinecone/Weaviate/Milvus/Elasticsearch/OpenSearch/pgvector/s3/Azure/Chroma/Redis/MongoDB/FAISS/Solr to Qdrant', 'move my vector database to Qdrant', 'is there a migration tool for Qdrant', 'my migration got interrupted, how do I resume it', 'migration is too slow', or 'collection wasn't created after migration'. Also use when picking migration batch size, deciding on `--net=host`, or verifying data after a migration.

Qdrant Migration Tool

The tool is a Docker container (registry.cloud.qdrant.io/library/qdrant-migration), not a library you import. It streams data in batches through the machine it runs on rather than connecting source and target directly, and it resumes by default rather than restarting from scratch. Migrate to Qdrant

Picking the Right Subcommand

Use when: starting a new migration and choosing the source-specific CLI subcommand.

  • Match the source to its subcommand: pinecone, weaviate, milvus, elasticsearch, opensearch, pg (pgvector), s3 (S3 Vectors), azure (Azure AI Search), chroma, redis, mongodb, faiss, solr, or qdrant. Migrate to Qdrant
  • Weaviate, Redis, MongoDB, and Apache Solr do not auto-create the target collection; create it in Qdrant first with matching vector size and distance metric before running the migration. All other sources auto-create it.
  • Each source has its own credential and mapping guide; read it before running the migration, since concept mapping (namespaces, indexes, metadata fields) is source-specific. Pinecone Weaviate Milvus Elasticsearch OpenSearch Azure AI search pgvector S3 Vectors Chroma Redis MongoDB FAISS Apache Solr Qdrant-to-Qdrant
  • Source not listed? Point to the GitHub issue tracker rather than improvising a custom pipeline. Open an issue

Running Against Local Instances

Use when: either the source or target database runs on the same machine as the migration container.

  • Add --net=host to the docker run command; without it, the container cannot resolve localhost on the host machine. Migrate to Qdrant
  • Run the container on a machine with low latency to both databases. Direct source-target connectivity is not required since the tool streams through wherever it runs, but round trips from the migration host to each database still add up.

Migration Was Interrupted

Use when: a migration stopped partway through and needs to continue, or needs to be re-run from zero.

  • Re-run the exact same command. Progress is tracked in the _migration_offsets collection in Qdrant, so it resumes automatically rather than re-copying already-migrated points.
  • Pass --migration.restart to discard saved progress and start over, e.g. after fixing a bad source-side filter or changing collection schema mid-migration.
  • Custom offsets-collection name only matters if you're running multiple concurrent migrations into the same Qdrant instance; otherwise leave --migration.offsets-collection at its default to avoid tracking state you'll forget to look for later.

Migration Is Too Slow

Use when: throughput is too low for the size of the source dataset.

  • Raise --migration.batch-size from the default of 50 to 256 or 512 for large migrations; small batches under-use each upsert round trip.
  • --migration.num-workers only exists for the pg and qdrant subcommands; other sources have no parallel-worker flag, so throughput there is bounded by batch size and network proximity alone.
  • --migration.batch-delay defaults to 0; only raise it deliberately to throttle load on a source database that can't absorb full-speed reads, not as a default tuning knob.
  • Run the container close to both databases rather than over a slow network path, since the tool has no way to compensate for source/target latency.
Show full SKILL.md (272 more words)Show less

After Migration

Use when: the migration command finished and data needs to be trusted before cutting over traffic.

  • Run through the verification framework rather than spot-checking a few points: it covers pre-migration baselines, data integrity checks, and search-quality validation, not just point counts. Migration Verification Guide
  • If Postgres/pgvector stays live alongside Qdrant post-migration, set up an ongoing sync strategy (event-driven, batch, or dual-write) instead of treating the migration as a one-time cutover. Keeping Postgres in Sync

What NOT to Do

  • Assume Weaviate, Redis, MongoDB, or Solr auto-create the target collection; these sources don't expose vector dimensions or distance metric to the tool, so the collection must be created manually first with settings that exactly match the source. Migrate to Qdrant
  • Point the faiss subcommand at a quantized FAISS index; only IndexFlatL2, IndexFlatIP, IndexHNSWFlat, and IndexIVFFlat are supported, since quantized indexes don't retain the original vectors. FAISS
  • Assume every Pinecone index can be migrated; only serverless indexes support the list operation the tool needs to enumerate vectors.Pinecone
  • Run a qdrant-to-qdrant migration into an existing target collection without checking its vector size first; source and target dimensions must match exactly, only replication and shard settings are allowed to differ.
  • Connect over TLS to a source or target signed by a private or self-signed CA without mounting it via SSL_CERT_FILE; the migration fails on certificate verification instead of degrading gracefully, and --skip-tls-verification should be a deliberate override, not a default fix.
  • Pass --migration.restart out of caution on a healthy resume; it discards saved progress and re-streams data that already migrated.
  • Treat a completed migration run as verified without running data integrity and search quality checks.

© 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

Files

Just SKILL.md in skills/qdrant-migration-tool of qdrant/skills.

Open the folder on GitHubat commit 476a18d

Compare with similar skills

Qdrant Migration Tool 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.

Qdrant Migration Tool compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Qdrant Migration Tool this skillqdrant/skills253—~1.9kAutomated safety check: PassApache-2.0
Cognee Community Packagestopoteretes/cognee32k—~1.2kAutomated safety check: PassApache-2.0
Vector Database Engineeraiskillstore/marketplace4307 repos~563Automated safety check: PassNone
RAG Implementationwshobson/agents40k9 repos~1.1kAutomated safety check: PassMIT
Hunt RAG Vectorelementalsouls/Claude-BugHunter4.8k—~2.6kAutomated safety check: PassMIT
Using Vector Databasesancoleman/ai-design-components5261 repos~3.5kAutomated safety check: PassMIT

Similar skills

  • Cognee Community Packages

    topoteretes/cognee

    Guide to using and contributing cognee community packages: database adapters, data-source connectors, custom tasks and retrievers, and Keywords AI observability.

    32k GitHub stars~1.2k tokensUpdated today
    DatabasesAuto-check passed
  • Vector Database Engineer

    aiskillstore/marketplace

    Expert in vector databases, embedding strategies, and semantic search implementation.

    430 GitHub starsUsed in 7 repos~563 tokens
    DatabasesAuto-check passed
  • 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.

    40k GitHub starsUsed in 9 repos~1.1k tokens
    AI & LLM EngineeringAuto-check passed
  • Hunt RAG Vector

    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…

    4.8k GitHub stars~2.6k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Using Vector Databases

    ancoleman/ai-design-components

    Vector database implementation for AI/ML applications, semantic search, and RAG systems.

    526 GitHub starsUsed in 1 repo~3.5k tokens
    DatabasesAuto-check passed
  • Langchain4j Vector Stores Configuration

    giuseppe-trisciuoglio/developer-kit

    Provides configuration patterns for LangChain4J vector stores in RAG applications.

    355 GitHub starsUsed in 1 repo~2.7k tokens
    DatabasesAuto-check: notes

More from qdrant/skills

All 33 skills in this repo
  • Qdrant Clients SDK

    qdrant/skills

    Official

    Qdrant provides client SDKs for various programming languages, allowing easy integration with Qdrant deployments.

    253 GitHub starsUsed in 2 repos~752 tokens
    Auto-check: notes
  • Qdrant Advisor

    qdrant/skills

    Official

    Diagnose, troubleshoot, and advise on any Qdrant deployment by loading the latest official Qdrant skills live from skills.qdrant.tech.

    253 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Official

    Guides Qdrant deployment selection. An agent skill from qdrant/skills.

    253 GitHub starsUsed in 2 repos~976 tokens
    Auto-check passed
  • Official

    Guides Qdrant search strategy selection. An agent skill from qdrant/skills.

    253 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Official

    Diagnoses and guides Qdrant horizontal scaling decisions. An agent skill from qdrant/skills.

    253 GitHub starsUsed in 2 repos~833 tokens
    Auto-check passed

Categories

Questions about Qdrant Migration Tool

What does Qdrant Migration Tool do?

Guides use of the Qdrant Migration Tool CLI to move vectors, metadata, and sparse embeddings from another vector database into Qdrant. Qdrant Migration Tool is an agent skill from qdrant/skills, published by the product's own GitHub organization. Guides use of the Qdrant Migration Tool CLI to move vectors, metadata, and sparse embeddings from another vector database into Qdrant.

When should I use Qdrant Migration Tool?

Qdrant Migration Tool fits situations like: move my vector database to Qdrant; is there a migration tool for Qdrant; my migration got interrupted; how do I resume it.

How do I install Qdrant Migration Tool in Claude Code?

Run `npx skills add qdrant/skills --skill qdrant-migration-tool -a claude-code`. Or copy the skill folder (skills/qdrant-migration-tool in qdrant/skills) into .claude/skills/qdrant-migration-tool in your project. Claude Code loads it when a task matches its description.

How do I install Qdrant Migration Tool in Codex?

Run `npx skills add qdrant/skills --skill qdrant-migration-tool -a codex`. Or copy the skill folder (skills/qdrant-migration-tool in qdrant/skills) into .agents/skills/qdrant-migration-tool in your project. Codex loads it when a task matches its description.

Can I use Qdrant Migration Tool in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add qdrant/skills --skill qdrant-migration-tool -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-migration-tool, .gemini/skills/qdrant-migration-tool, .github/skills/qdrant-migration-tool and .opencode/skills/qdrant-migration-tool in your project.

What does Qdrant Migration Tool need to run?

Going by SKILL.md and its folder, Qdrant Migration Tool needs the command-line tools its instructions call (docker). Our summary lists: Docker.

Does Qdrant Migration Tool access the network?

SKILL.md names 2 domains. As links in the text: skills.qdrant.tech and github.com. This is read from the text; nothing was executed.

Is Qdrant Migration Tool safe to install?

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.

What licence does Qdrant Migration Tool use?

Qdrant Migration Tool 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.

How many tokens does Qdrant Migration Tool use?

About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Qdrant Migration Tool?

Skills that share tags, products or a category with Qdrant Migration Tool: Cognee Community Packages (topoteretes/cognee, 32k stars), Vector Database Engineer (aiskillstore/marketplace, 430 stars), RAG Implementation (wshobson/agents, 40k stars) and Hunt RAG Vector (elementalsouls/Claude-BugHunter, 4.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Qdrant Migration Tool?

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 6, 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.