install-duckdb
Install or update DuckDB extensions. Each argument is either a plain extension name (installs from core) or name@repo (e.g. magic@community). Pass --update to update extensions instead of installing.
By duckdb · 692 installs
npx skills add duckdb/duckdb-skills --skill install-duckdb
Source repository · Upstream listing
Arguments: $@
Each extension argument has the form name or name@repo .
name → INSTALL name;
name@repo → INSTALL name FROM repo;
Step 1 — Locate 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.cli
Then 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:
Update mode:
First, check if the DuckDB CLI itself is up to date:
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 ( brew available): 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 , ...);
Report success or failure after the call completes.