AgentStack
SKILL verified MIT Self-run

Duckdb 1 5 3

skill-tangledgroup-tangled-skills-duckdb-1-5-3 · by tangledgroup

DuckDB 1.5.3 — high-performance analytical OLAP database with embedded SQL engine. Use this skill whenever the user queries about DuckDB, needs to run SQL analytics on local files (CSV, Parquet, Excel/XLSX), wants to install or use extensions (excel, json, icu, parquet, httpfs, delta, iceberg, postgres_scanner, sqlite_scanner, fts, spatial, and others), needs data import/export workflows, or is c…

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add skill-tangledgroup-tangled-skills-duckdb-1-5-3

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Duckdb 1 5 3? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

duckdb 1.5.3

DuckDB is a high-performance analytical database system designed to be fast, reliable, portable, and easy to use. It provides an embedded SQL engine with rich dialect support including correlated subqueries, window functions, complex types (arrays, structs, maps), and seamless file-based data access.

Overview

  • Version: 1.5.3 (Variegata)
  • Architecture: Embedded library — no separate server process needed
  • Primary use: Analytical queries on local files, in-memory datasets, and connected databases
  • Key differentiator: Query CSV/Parquet/XLSX files directly via SELECT * FROM 'file.csv' without explicit import
  • Extensions: Modular ecosystem covering filesystems, data formats, database connectors, and specialized functions

Quick Start

-- CLI: query a file directly
duckdb -c "SELECT * FROM 'data.csv' LIMIT 5"

-- Install and load an extension
INSTALL excel; LOAD excel;
SELECT * FROM read_xlsx('report.xlsx', header true);

-- Python API
import duckdb
con = duckdb.connect()
result = con.execute("SELECT * FROM 'data.parquet'").fetchall()

Usage

CLI

duckdb                        # Interactive shell
duckdb :memory:               # In-memory mode (no persistence)
duckdb mydb.duckdb            # Persistent database file
duckdb -c "SELECT 42"         # One-shot query
duckdb --version              # v1.5.3 (Variegata)

Python API

import duckdb
con = duckdb.connect()                    # In-memory
con = duckdb.connect('mydb.duckdb')       # Persistent
result = con.execute("SELECT * FROM table").fetchall()
df = con.execute("SELECT * FROM table").fetchdf()  # pandas DataFrame

Extension Management

-- List available extensions
SELECT * FROM duckdb_extensions();

-- Install and load
INSTALL excel; LOAD excel;

-- Autoload (extensions load on first use)
-- Default behavior — no explicit INSTALL/LOAD needed for common extensions

Gotchas

  • mode 'append' / mode 'replace' not available in v1.5.3 — The Excel extension bundled with DuckDB 1.5.3 (commit f4c72b5) does not support multi-sheet write modes. Each COPY TO ... (FORMAT 'xlsx') creates a fresh single-sheet file, overwriting any existing file. Multi-sheet append/replace was added in later commits. Workaround: use Python's openpyxl or pandas for multi-sheet writes, or build DuckDB from a newer Excel extension commit.
  • Excel formula cells read as computed values — DuckDB reads the result of formulas, not the formula expressions themselves. Formula cells are typed as VARCHAR. There is no Excel formula evaluation engine in DuckDB.
  • Sheet discovery requires workarounds — No built-in excel_sheets() function exists. Use Python's zipfile + xml.etree to parse the xlsx (which is a zip archive), or trigger an error with a wrong sheet name to get suggestions from the error message.
  • Type inference from first data rowread_xlsx() infers column types from the first non-header row. If that row has empty cells, columns may be inferred as the wrong type. Use all_varchar=true then cast explicitly, or use empty_as_varchar=true to handle sparse sheets.
  • Replacement scans auto-trigger on file extensions — Referencing 'file.csv', 'file.parquet', or 'file.xlsx' in a FROM clause automatically triggers the corresponding scanner. No explicit function call needed.
  • Extension autoloading may mask missing INSTALL — Common extensions autoload on first use, which can hide the fact that an extension wasn't explicitly installed. Use SELECT * FROM duckdb_extensions() to verify loaded state.

References

  • [01-extensions-overview](references/01-extensions-overview.md) — Extension ecosystem, categories, installation patterns
  • [02-excel-read](references/02-excel-read.md) — Reading XLSX files with read_xlsx(), options, type inference
  • [03-excel-write](references/03-excel-write.md) — Writing XLSX files via COPY TO, type conversions, limitations in v1.5.3
  • [04-excel-formatting](references/04-excel-formatting.md) — text() / excel_text() functions for Excel-compatible number formatting
  • [05-excel-metadata](references/05-excel-metadata.md) — Sheet discovery, metadata extraction, formula cell handling, cell types
  • [06-extensions-filesystem](references/06-extensions-filesystem.md) — httpfs, aws, azure, GCS filesystem extensions
  • [07-extensions-data-formats](references/07-extensions-data-formats.md) — json, parquet, delta, iceberg, avro, lance format extensions
  • [08-extensions-database-connectors](references/08-extensions-database-connectors.md) — postgresscanner, mysqlscanner, sqlitescanner, odbcscanner

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.