- Skill ID
- duckdb/duckdb-skills/install-duckdb
- Publisher
- duckdb
- Repository
- duckdb-skills
- Installs
- 0
- Files
- 2
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
duckdb/duckdb-skills/install-duckdbInstalls these files- SKILL.md
- eval.sh
What this skill tells the agent
Arguments: $@
Each extension argument has the form name or name@repo.
name→INSTALL name;name@repo→INSTALL name FROM repo;
Step 1 — Locate DuckDB
DUCKDB=$(command -v duckdb)If not found, tell the user:
DuckDB is not installed. Install it first with one of: - macOS:brew install duckdb- Linux:curl -fsSL https://install.duckdb.org | sh- Windows:winget install DuckDB.cliThen re-run/duckdb-skills:install-duckdb.
Stop if DuckDB is not found.
Step 2 — Check for --update flag
If --update is present in $@, remove it from the argument list and set mode to update. Otherwise mode is install.
Step 3 — Build and run statements
Install mode:
Parse each remaining argument:
- If it contains
@, split on@→INSTALL <name> FROM <repo>; - Otherwise →
INSTALL <name>;
Run all in a single DuckDB call:
"$DUCKDB" :memory: -c "INSTALL <ext1>; INSTALL <ext2> FROM <repo2>; ..."Update mode:
First, check if the DuckDB CLI itself is up to date:
CURRENT=$(duckdb --version | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
LATEST=$(curl -fsSL https://duckdb.org/data/latest_stable_version.txt)- If
CURRENT==LATEST→ report DuckDB CLI is up to date. - If
CURRENT!=LATEST→ ask the user: > DuckDB CLI is outdated (installed:CURRENT, latest:LATEST). Upgrade now?
If the user agrees, detect the platform and run the appropriate upgrade command:
- macOS (
brewavailable):brew upgrade duckdb - Linux:
curl -fsSL https://install.duckdb.org | sh - Windows:
winget upgrade DuckDB.cli
Then update extensions:
- No extension names → update all:
UPDATE EXTENSIONS; - With extension names → update in a single call (ignore
@repo):UPDATE EXTENSIONS (<name1>, <name2>, ...);
"$DUCKDB" :memory: -c "UPDATE EXTENSIONS;"
# or
"$DUCKDB" :memory: -c "UPDATE EXTENSIONS (<ext1>, <ext2>, ...);"Report success or failure after the call completes.
More from duckdb
Use this skill in a project
Open any RiverX project, search the Skills panel for duckdb/duckdb-skills/install-duckdb, and install it in one click.
