From duckdb-skills
Installs or updates DuckDB extensions from core (name) or repos (name@repo, e.g. magic@community). Supports --update flag with CLI version checks. Requires DuckDB CLI.
npx claudepluginhub duckdb/duckdb-skills --plugin duckdb-skillsThis skill is limited to using the following tools:
Arguments: `$@`
Guides DuckDB SQL writing, analytical queries, CSV/Parquet/JSON ingestion, ETL pipelines, client APIs for Python/Node/Rust/Java/Go, extensions, configuration, and performance tuning.
Searches DuckDB and DuckLake documentation and blog posts via full-text search on locally cached indexes. Returns relevant doc chunks for questions or keywords on DuckDB features.
Builds and runs OpenDuck distributed DuckDB with differential storage via Postgres/object store, hybrid local/remote query execution, and transparent ATTACH for remote databases. Scales DuckDB for distributed workloads.
Share bugs, ideas, or general feedback.
Arguments: $@
Each extension argument has the form name or name@repo.
name → INSTALL name;name@repo → INSTALL name FROM repo;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.
If --update is present in $@, remove it from the argument list and set mode to update.
Otherwise mode is install.
Install mode:
Parse each remaining argument:
@, split on @ → INSTALL <name> FROM <repo>;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:
brew available): brew upgrade duckdbcurl -fsSL https://install.duckdb.org | shwinget upgrade DuckDB.cliThen update extensions:
UPDATE EXTENSIONS;@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.