ParadeDB Skill
ParadeDB is one Postgres that unifies your application data, full-text search, vector retrieval, and aggregations via the pg_search extension.
Use this skill when users ask about:
- ParadeDB indexes, BM25 scoring, and relevance ranking
- Vector search and hybrid search (keyword + semantic, fused with reciprocal rank fusion)
- Tokenizers, token filters, fuzzy matching, and phrase queries
- Facets, aggregations, snippets/highlighting, joins, and query tuning
For up-to-date ParadeDB documentation, always fetch the documentation index
(llms.txt) using the bundled script at scripts/paradedb-docs.
Resolve that path relative to the directory containing this SKILL.md, not
relative to the current working directory or repo root.
scripts/paradedb-docs llms.txt
Once you have the list of urls, load the pages necessary to answer the user's question. For example:
scripts/paradedb-docs documentation/getting-started/environment.md
scripts/paradedb-docs documentation/full-text/match.md
scripts/paradedb-docs documentation/indexing/create-index.md
# etc
After a successful fetch, treat that content as cached session context and
reuse it for later ParadeDB questions in the same session if applicable.
Do not refetch on every turn when the previously fetched docs are still
available and relevant.
The tool uses curl internally and requires network access. Make sure you run it with network access.
If you have to ask the user for permission to run the tool, make sure to ask them to allow you to run
the command for all arguments so you can fetch every page.
Do not use any tool other than scripts/paradedb-docs to fetch documentation.
Response Guidelines
- Prefer runnable SQL examples over prose-only answers.
- State ParadeDB/Postgres version assumptions when syntax may differ. Some features are only
available in newer versions, so when you have database access and the answer depends on
one, check first with
SELECT extversion FROM pg_extension WHERE extname = 'pg_search';.
- If behavior is uncertain, call it out explicitly instead of guessing.
- Do not generate any of the deprecated syntax. The new syntax was released in
version 0.20.0 and should be used exclusively unless the user requests the old syntax.
If a query contains
paradedb, it is using the old syntax. Use pdb instead.
- In version 0.25.0, the BM25 index was renamed to the ParadeDB index, because it now
powers vector search, aggregates, top K and filtering as well as BM25 scoring. Write
CREATE INDEX ... USING paradedb, not USING bm25, which survives only as a
backwards-compatible alias, and call it the ParadeDB index. Reserve "BM25" for the
scoring function itself.
- Vector search runs inside the ParadeDB index as of version 0.25.0, where it is a beta
feature. ParadeDB indexes pgvector's
vector type, but does not use pgvector's HNSW or
IVFFlat indexes — do not suggest them for a vector column that is in a ParadeDB index.
Fetch documentation/indexing/indexing-vectors.md and documentation/vector/querying.md
before writing vector queries, and documentation/hybrid/rrf.md before writing hybrid ones.
Network Failure Rules (Mandatory)
If any documentation cannot be fetched due to DNS/network/access errors:
- State clearly that live docs could not be accessed and include the actual error.
- If you have cached session docs from an earlier successful fetch, say that
you can continue from that cached copy unless the user wants to stop.
- If you do not have cached session docs, ask whether to proceed with
local/repo-only context or to retry later.
- Do not invent or infer doc URLs, page paths, or feature availability.
- Do not present unverified links as real.
- Label any fallback statements as assumptions and keep them minimal.
Never silently switch to guessed documentation structure when network access fails.
1---2name: paradedb-skill3description: Expert guidance on ParadeDB full-text search, vector search, hybrid search (BM25 + semantic), aggregations, and analytics in Postgres. Use when writing ParadeDB queries, creating ParadeDB indexes, indexing vectors, configuring tokenizers, or implementing Elasticsearch-quality search in Postgres.4---56# ParadeDB Skill78ParadeDB is one Postgres that unifies your application data, full-text search, vector retrieval, and aggregations via the `pg_search` extension.910Use this skill when users ask about:1112- ParadeDB indexes, BM25 scoring, and relevance ranking13- Vector search and hybrid search (keyword + semantic, fused with reciprocal rank fusion)14- Tokenizers, token filters, fuzzy matching, and phrase queries15- Facets, aggregations, snippets/highlighting, joins, and query tuning1617For up-to-date ParadeDB documentation, always fetch the documentation index18(`llms.txt`) using the bundled script at `scripts/paradedb-docs`.19Resolve that path relative to the directory containing this `SKILL.md`, not20relative to the current working directory or repo root.2122```bash23scripts/paradedb-docs llms.txt24```2526Once you have the list of urls, load the pages necessary to answer the user's question. For example:27```bash28scripts/paradedb-docs documentation/getting-started/environment.md29scripts/paradedb-docs documentation/full-text/match.md30scripts/paradedb-docs documentation/indexing/create-index.md31# etc32```3334After a successful fetch, treat that content as cached session context and35reuse it for later ParadeDB questions in the same session if applicable.36Do not refetch on every turn when the previously fetched docs are still37available and relevant.3839The tool uses curl internally and requires network access. Make sure you run it with network access.40If you have to ask the user for permission to run the tool, make sure to ask them to allow you to run41the command for all arguments so you can fetch every page.4243Do **not** use any tool other than `scripts/paradedb-docs` to fetch documentation.4445## Response Guidelines46471. Prefer runnable SQL examples over prose-only answers.482. State ParadeDB/Postgres version assumptions when syntax may differ. Some features are only49 available in newer versions, so when you have database access and the answer depends on50 one, check first with `SELECT extversion FROM pg_extension WHERE extname = 'pg_search';`.513. If behavior is uncertain, call it out explicitly instead of guessing.524. Do not generate any of the deprecated syntax. The new syntax was released in53 version 0.20.0 and should be used exclusively unless the user requests the old syntax.54 If a query contains `paradedb`, it is using the old syntax. Use `pdb` instead.555. In version 0.25.0, the BM25 index was renamed to the ParadeDB index, because it now56 powers vector search, aggregates, top K and filtering as well as BM25 scoring. Write57 `CREATE INDEX ... USING paradedb`, not `USING bm25`, which survives only as a58 backwards-compatible alias, and call it the ParadeDB index. Reserve "BM25" for the59 scoring function itself.606. Vector search runs inside the ParadeDB index as of version 0.25.0, where it is a beta61 feature. ParadeDB indexes pgvector's `vector` type, but does not use pgvector's HNSW or62 IVFFlat indexes — do not suggest them for a vector column that is in a ParadeDB index.63 Fetch `documentation/indexing/indexing-vectors.md` and `documentation/vector/querying.md`64 before writing vector queries, and `documentation/hybrid/rrf.md` before writing hybrid ones.6566## Network Failure Rules (Mandatory)6768If any documentation cannot be fetched due to DNS/network/access errors:69701. State clearly that live docs could not be accessed and include the actual error.712. If you have cached session docs from an earlier successful fetch, say that72 you can continue from that cached copy unless the user wants to stop.733. If you do not have cached session docs, ask whether to proceed with74 local/repo-only context or to retry later.754. Do **not** invent or infer doc URLs, page paths, or feature availability.765. Do **not** present unverified links as real.776. Label any fallback statements as assumptions and keep them minimal.7879Never silently switch to guessed documentation structure when network access fails.