# Install Duckdb > Instala o actualiza extensiones de DuckDB. Cada argumento es un nombre simple (core) o name@repo (p. ej. magic@community). Usa --update para actualizar en vez de instalar. Fuente: https://skillsagentes.com/skills/duckdb/duckdb-skills/install-duckdb Markdown: https://skillsagentes.com/skills/duckdb/duckdb-skills/install-duckdb.md Repositorio: https://github.com/duckdb/duckdb-skills Autor: duckdb Licencia: MIT Actualizado: hace 5 meses Coste de contexto: 50 tok instalada, 590 tok al activarse, 1.5k tok con todos los archivos del bundle Bundle: 2 archivos, 6 KB Permisos que pide: bash ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add duckdb/duckdb-skills --skill install-duckdb --agent claude-code # Cursor npx -y skills add duckdb/duckdb-skills --skill install-duckdb --agent cursor # Codex npx -y skills add duckdb/duckdb-skills --skill install-duckdb --agent codex # Gemini CLI npx -y skills add duckdb/duckdb-skills --skill install-duckdb --agent gemini # Windsurf npx -y skills add duckdb/duckdb-skills --skill install-duckdb --agent windsurf # Cline npx -y skills add duckdb/duckdb-skills --skill install-duckdb --agent cline ``` ## Qué hace - Instala extensiones de DuckDB desde core o desde un repo con formato name@repo - Actualiza extensiones existentes con UPDATE EXTENSIONS cuando se pasa --update - Comprueba si el CLI de DuckDB está desactualizado y ofrece actualizarlo - Detecta la plataforma (macOS/Linux/Windows) y ejecuta el comando de actualización adecuado ## Cuándo usarla - Necesitas instalar una o varias extensiones de DuckDB - Necesitas actualizar extensiones ya instaladas o el propio CLI de DuckDB ## Qué la activa - "Instala la extensión magic desde community en DuckDB" - "Actualiza todas mis extensiones de DuckDB" - "Instala httpfs y json en DuckDB" - "Comprueba si mi DuckDB CLI está actualizado y actualízalo" ## Antes de instalar - Requiere que el binario duckdb esté instalado y disponible en el PATH (o se pedirá instalarlo con brew, el script de install.duckdb.org, o winget). - Necesita en el PATH: curl - Variables de entorno: DUCKDB - runs shell commands - makes network requests - reads environment config ## Archivos - SKILL.md — 2 KB - eval.sh — 4 KB ## SKILL.md Reproducido tal cual desde duckdb/duckdb-skills bajo MIT. Esta sección es el documento original y está en inglés. Arguments: `$@` Each extension argument has the form `name` or `name@repo`. - `name` → `INSTALL name;` - `name@repo` → `INSTALL name FROM repo;` ## Step 1 — Locate DuckDB ```bash 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 FROM ;` - Otherwise → `INSTALL ;` Run all in a single DuckDB call: ```bash "$DUCKDB" :memory: -c "INSTALL ; INSTALL FROM ; ..." ``` **Update mode:** First, check if the DuckDB CLI itself is up to date: ```bash 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 (, , ...);` ```bash "$DUCKDB" :memory: -c "UPDATE EXTENSIONS;" # or "$DUCKDB" :memory: -c "UPDATE EXTENSIONS (, , ...);" ``` Report success or failure after the call completes. ## Dónde encaja - Categoría: [Bases de datos](https://skillsagentes.com/categorias/bases-de-datos.md) — Diseño de esquemas, migraciones y optimización de consultas. - Creador: [duckdb](https://skillsagentes.com/creators/duckdb.md) — 0 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Convert File](https://skillsagentes.com/skills/duckdb/duckdb-skills/convert-file.md): Convierte cualquier archivo de datos a otro formato: CSV, Parquet, JSON, Excel, GeoJSON y más, usando DuckDB. - [S3 Explore](https://skillsagentes.com/skills/duckdb/duckdb-skills/s3-explore.md): Explora y consulta datos en S3, Cloudflare R2, GCS, MinIO o cualquier almacenamiento compatible con S3, sin necesidad de descargarlos. - [Spatial](https://skillsagentes.com/skills/duckdb/duckdb-skills/spatial.md): Responde preguntas sobre datos espaciales con DuckDB: ubicaciones, coordenadas, distancias, mapas, direcciones, formatos como GeoJSON, Shapefile, GeoPackage, GPX o GeoParquet, usando también Overture Maps. - [Duckdb Docs](https://skillsagentes.com/skills/duckdb/duckdb-skills/duckdb-docs.md): Busca en la documentación de DuckDB y DuckLake y en posts del blog, devolviendo fragmentos relevantes mediante búsqueda de texto completo contra un índice local cacheado. - [Read File](https://skillsagentes.com/skills/duckdb/duckdb-skills/read-file.md): Lee cualquier archivo de datos (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) o URL remota (S3, HTTPS) usando DuckDB. No sirve para código fuente. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)