@duckdb/install-duckdb

>

View in AI SkillSafe app
Scanned · no findings
0 downloads
0 stars
0 demos
SKILL.md
nameinstall-duckdb
description>
argument-hint[--update] [ext1 ext2@repo ext3 ...]
allowed-toolsBash

Arguments: $@

Each extension argument has the form name or name@repo.

  • nameINSTALL name;
  • name@repoINSTALL 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.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:

"$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 (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>, ...);
"$DUCKDB" :memory: -c "UPDATE EXTENSIONS;"
# or
"$DUCKDB" :memory: -c "UPDATE EXTENSIONS (<ext1>, <ext2>, ...);"

Report success or failure after the call completes.

Embed badges

Add these to your README to show the skill's verification status.

SkillSafe verified badge
Verified badge
[![SkillSafe verified badge](https://api.skillsafe.ai/v1/badge/@duckdb/install-duckdb/verified)](https://skillsafe.ai/skill/@duckdb/install-duckdb/)
Installs badge
Installs badge
[![Installs badge](https://api.skillsafe.ai/v1/badge/@duckdb/install-duckdb/installs)](https://skillsafe.ai/skill/@duckdb/install-duckdb/)
Scan badge
Scan badge
[![Scan badge](https://api.skillsafe.ai/v1/badge/@duckdb/install-duckdb/scan)](https://skillsafe.ai/skill/@duckdb/install-duckdb/)
Eval pass rate badge
Eval pass rate
[![Eval pass rate badge](https://api.skillsafe.ai/v1/badge/@duckdb/install-duckdb/eval)](https://skillsafe.ai/skill/@duckdb/install-duckdb/)